Model Checking Agent Programs by Using the Program Interpreter

Model checking agent programs is a challenge and it is still a question which approaches can suitably be applied to effectively model check such programs. We present a new approach to explicit-state, on-the-fly model checking for agent programs. In this approach we use the agent program interpreter for generating the state space. A model checker is built on top of this interpreter by implementing efficient transformations of temporal properties to Buchi automata and an efficient bookkeeping mechanism that maintains track of states that have been visited. The proposed approach is generic and can be applied to different agent programming frameworks. We evaluate this approach to model checking by comparing it empirically with an approach based on the Maude model checker, and one based on the Agent Infrastructure Layer (AIL) intermediate language in combination with JPF. It turns out that although our approach does not use state-space reduction techniques, it shows significantly improved performance over these approaches. To the best of our knowledge, no such comparisons of approaches to model checking agent programs have been done before.

[1]  Fausto Giunchiglia,et al.  Improved Automata Generation for Linear Temporal Logic , 1999, CAV.

[2]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[3]  José Meseguer,et al.  The Maude LTL Model Checker , 2004, WRLA.

[4]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[5]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[6]  John K. Slaney,et al.  Blocks World revisited , 2001, Artif. Intell..

[7]  Alessio Lomuscio,et al.  MCMAS: A Model Checker for Multi-agent Systems , 2006, TACAS.

[8]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

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

[10]  Frank S. de Boer,et al.  Prototyping 3APL in the Maude Term Rewriting Language , 2006, CLIMA.

[11]  W. van der Hoek,et al.  Agent Programming with Declarative Goals , 2000, ATAL.

[12]  Heikki Tauriainen,et al.  Nested emptiness search for generalized Buchi automata , 2004, Proceedings. Fourth International Conference on Application of Concurrency to System Design, 2004. ACSD 2004..

[13]  Wolfgang Thomas,et al.  Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics , 1990 .

[14]  Nicholas R. Jennings,et al.  Agent Theories, Architectures, and Languages: A Survey , 1995, ECAI Workshop on Agent Theories, Architectures, and Languages.

[15]  Michael Wooldridge,et al.  A Common Semantic Basis for BDI Languages , 2007, PROMAS.

[16]  Klaus Havelund,et al.  Model checking programs , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[17]  Jürgen Dix,et al.  Multi-Agent Programming , 2009, Springer US.

[18]  Michael Wooldridge,et al.  Verifiable Multi-agent Programs , 2003, PROMAS.

[19]  Rafael H. Bordini,et al.  Automated Verification of Multi-Agent Programs , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[20]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[21]  Michael Wooldridge,et al.  Model checking agentspeak , 2003, AAMAS '03.

[22]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[23]  Stephan Merz,et al.  Model Checking , 2000 .

[24]  Michael Fisher,et al.  Programming Verifiable Heterogeneous Agent Systems , 2009, ProMAS.

[25]  Wojciech Penczek,et al.  VerICS 2007 - a Model Checker for Knowledge and Real-Time , 2008, Fundam. Informaticae.

[26]  Koen V. Hindriks,et al.  Programming Rational Agents in GOAL , 2009, Multi-Agent Programming, Languages, Tools and Applications.

[27]  Michael Wooldridge,et al.  Model checking multi-agent systems with MABLE , 2002, AAMAS '02.