Verifying Multi-agent Programs by Model Checking

This paper gives an overview of our recent work on an approach to verifying multi-agent programs. We automatically translate multi-agent systems programmed in the logic-based agent-oriented programming language AgentSpeak into either Promela or Java, and then use the associated Spin and JPF model checkers to verify the resulting systems. We also describe the simplified BDI logical language that is used to write the properties we want the systems to satisfy. The approach is illustrated by means of a simple case study.

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

[2]  Hector J. Levesque,et al.  Intention is Choice with Commitment , 1990, Artif. Intell..

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

[4]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[5]  Yoav Shoham Agent-Oriented Programming , 1993, Artif. Intell..

[6]  Anand S. Rao,et al.  A Model-Theoretic Approach to the Verification of Situated Reasoning Systems , 1993, IJCAI.

[7]  Timothy W. Finin,et al.  A semantics approach for KQML—a general purpose communication language for software agents , 1994, CIKM '94.

[8]  A. S. Roa,et al.  AgentSpeak(L): BDI agents speak out in a logical computable language , 1996 .

[9]  Michael Wooldridge,et al.  A Formal Specification of dMARS , 1997, ATAL.

[10]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[11]  Fausto Giunchiglia,et al.  Model Checking Multiagent Systems , 1998, J. Log. Comput..

[12]  Fausto Giunchiglia,et al.  A Model Checking Algorithm for Multiagent Systems , 1998, ATAL.

[13]  Anand S. Rao,et al.  Decision Procedures for BDI Logics , 1998, J. Log. Comput..

[14]  P. Pandurang Nayak,et al.  Remote Agent: To Boldly Go Where No AI System Has Gone Before , 1998, Artif. Intell..

[15]  Michael Luck,et al.  Engineering AgentSpeak(L): A Formal Computational Model , 1998, J. Log. Comput..

[16]  Keith Golden,et al.  Autonomous rovers for Mars exploration , 1999, 1999 IEEE Aerospace Conference. Proceedings (Cat. No.99TH8403).

[17]  Munindar P. Singh,et al.  Formal methods in DAI: logic-based representation and reasoning , 1999 .

[18]  Gerhard Weiss,et al.  Multiagent systems: a modern approach to distributed artificial intelligence , 1999 .

[19]  Jeffrey J. Biesiadecki,et al.  The Athena SDM Rover: a testbed for Mars rover mobility , 2000 .

[20]  James C. Corbett,et al.  Bandera: extracting finite-state models from Java source code , 2000, ICSE.

[21]  Matthew B. Dwyer,et al.  Bandera: extracting finite-state models from Java source code , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[22]  Michael Wooldridge,et al.  Reasoning about rational agents , 2000, Intelligent robots and autonomous agents.

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

[24]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[25]  Jerzy Tiuryn,et al.  Dynamic logic , 2001, SIGA.

[26]  Michael R. Lowry,et al.  Formal Analysis of a Space-Craft Controller Using SPIN , 2001, IEEE Trans. Software Eng..

[27]  Michael Wooldridge,et al.  Model Checking Knowledge and Time , 2002, SPIN.

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

[29]  Yde Venema,et al.  Dynamic Logic by David Harel, Dexter Kozen and Jerzy Tiuryn. The MIT Press, Cambridge, Massachusetts. Hardback: ISBN 0–262–08289–6, $50, xv + 459 pages , 2002, Theory and Practice of Logic Programming.

[30]  Michael Wooldridge,et al.  Model Checking Multi-Agent Programs with CASP , 2003, CAV.

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

[32]  M. Robby,et al.  Bogor : An Extensible and Highly Modular Model Checking Framework , 2003 .

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

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

[35]  Matthew B. Dwyer,et al.  Bogor: an extensible and highly-modular software model checking framework , 2003, ESEC/FSE-11.

[36]  Michael Fisher,et al.  Temporal Development Methods for Agent-Based , 2004, Autonomous Agents and Multi-Agent Systems.

[37]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[38]  Álvaro F. Moreira,et al.  Proving BDI Properties of Agent-Oriented Programming Languages: The asymmetry thesis principles in AgentSpeak(L) , 2004, Annals of Mathematics and Artificial Intelligence.

[39]  Michael Wooldridge,et al.  State-space reduction techniques in agent verification , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[40]  Michael Wooldridge,et al.  Model checking rational agents , 2004, IEEE Intelligent Systems.

[41]  Rafael H. Bordini,et al.  Jason and the Golden Fleece of Agent-Oriented Programming , 2005, Multi-Agent Programming.

[42]  Michael Fisher,et al.  Temporal Development Methods for Agent-Based Systems , 2005 .

[43]  Alessandro Cimatti,et al.  Symbolic Model Checking for Multi-Agent Systems , 2007 .