Multiplayer computer games play a big role in the ever-growing entertainment industry. Being competitive in this industry means releasing the best possible software, and reliability is a key feature to win the market. Computer games are also actively used to simulate different robotic systems where reliability is even more important, and potentially critical. Traditional software testing approaches can check a subset of all the possible program executions, and they can never guarantee complete absence of errors in the source code. On the other hand, during more than twenty years, Model Checking has demonstrated to be a powerful instrument for formal verification of large hardware and software components. In this paper, we contribute with a novel approach to formally verify computer games. We propose a method of model construction that starts from a computer game description and utilizes Model Checking technique. We apply the method on a case study: the game Penguin Clash. Finally, an approach to game model reduction (and its implementation) is introduced in order to address the state explosion problem.
@cite_18: This article presents Gaia: a methodology for agent-oriented analysis and design. The Gaia methodology is both general, in that it is applicable to a wide range of multi-agent systems, and comprehensive, in that it deals with both the macro-level (societ al) and the micro-level (agent) aspects of systems. Gaia is founded on the view of a multi-agent system as a computational organisation consisting of various interacting roles. We illustrate Gaia through a case study (an agent-based business process management system).
Robotic system can consist of interacting intelligent components or agents. Such systems are called multi-agent. Gaia methodology was introduced in @cite_18 in order to provide an instrument for building a model of the multi-agent system from its specification. The model is based on role notion with attached responsibilities, permissions and activities. Responsibilities are introduced in order to specify goals of each role reaching which guarantees liveness (something good eventually happen) or safety (something bad never happens) properties of the multi-agent system. Target model gives high level understanding of the system and can help to insure logical correctness but does not impact significantly on reliability of the code.