A synergistic and extensible framework for multi-agent system verification

Recently there has been a proliferation of tools and languages for modeling multi-agent systems (MAS). Verification tools, correspondingly, have been developed to check properties of these systems. Most MAS verification tools, however, have their own input language and often specialize in one verification technology, or only support checking a specific type of property. In this work we present an extensible framework that leverages mainstream verification tools to successfully reason about various types of properties. We describe the verification of models specified in the Brahms agent modeling language to demonstrate the feasibility of our approach. We chose Brahms because it is used to model real instances of interactions between pilots, air-traffic controllers, and automated systems at NASA. Our framework takes as input a Brahms model along with a Java implementation of its semantics. We then use Java PathFinder to explore all possible behaviors of the model and, also, produce a generalized intermediate representation that encodes these behaviors. The intermediate representation is automatically transformed to the input language of mainstream model checkers, including PRISM, SPIN, and NuSMV allowing us to check different types of properties. We validate our approach on a model that contains key elements from the Air France Flight 447 accident.

[1]  Maarten Sierhuis,et al.  Brahms: simulating practice for work systems design , 1998, Int. J. Hum. Comput. Stud..

[2]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[3]  SierhuisMaarten,et al.  Modeling and Simulating Work Practice , 2002 .

[4]  Michal Knapik,et al.  Parametric Model Checking with VerICS , 2010, Trans. Petri Nets Other Model. Concurr..

[5]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[6]  Clare Dixon,et al.  Verifying Brahms Human-Robot Teamwork Models , 2012, JELIA.

[7]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[8]  Ron van der Meyden,et al.  MCK: Model Checking the Logic of Knowledge , 2004, CAV.

[9]  Koen V. Hindriks,et al.  Model Checking Agent Programs by Using the Program Interpreter , 2010, CLIMA.

[10]  Rafael H. Bordini,et al.  Model checking agent programming languages , 2012, Automated Software Engineering.

[11]  Maarten Sierhuis,et al.  Modeling and simulating work practice : BRAHMS: a multiagent modeling and simulation language for work system analysis and design , 2001 .

[12]  Agostino Poggi,et al.  Developing Multi-agent Systems with JADE , 2007, ATAL.

[13]  Sean Luke,et al.  MASON: A Multiagent Simulation Environment , 2005, Simul..

[14]  Anand S. Rao,et al.  Modeling Rational Agents within a BDI-Architecture , 1997, KR.

[15]  Alessio Lomuscio,et al.  MCMAS: A Model Checker for the Verification of Multi-Agent Systems , 2009, CAV.

[16]  Anand S. Rao,et al.  BDI Agents: From Theory to Practice , 1995, ICMAS.

[17]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[18]  Maarten Sierhuis,et al.  A Formal Semantics for Brahms , 2011, CLIMA.