Automated Verification of Multi-Agent Programs

In this paper, we show that the flexible model-checking of multi-agent systems, implemented using agent-oriented programming languages, is viable thus paving the way for the construction of verifiably correct applications of autonomous agents and multi-agent systems. Model checking experiments were carried out on AJPF (agent JPF), our extension of Java PathFinder that incorporates the agent infrastructure layer, our unifying framework for agent programming languages. In our approach, properties are specified in a temporal language extended with (shallow) agent-related modalities. The framework then allows the verification of programs written in a variety of agent programming languages, thus removing the need for individual languages to implement their own verification framework. It even allows the verification of multi-agent systems comprised of agents developed in a variety of different (agent) programming languages. As an example, we also provide model checking results for the verification of a multi-agent system implementing a well-known task sharing protocol.

[1]  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..

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

[3]  Jürgen Dix,et al.  Multi-Agent Programming: Languages, Tools and Applications , 2009 .

[4]  Mark Reynolds D. M. Gabbay, A. Kurucz, F. Wolter, and M. Zakharyaschev. Many-dimensional modal logics: theory and applications . Studies in Logic and the Foundations of Mathematics, vol. 148. Elsevier, Amsterdam, xiv + 747 pp. , 2005 .

[5]  Nicholas R. Jennings,et al.  Intelligent agents: theory and practice , 1995, The Knowledge Engineering Review.

[6]  Rafael H. Bordini,et al.  A Flexible Framework for Verifying Agent Programs (Short Paper) , 2008 .

[7]  Michael Wooldridge,et al.  Logic-Based Agent Verification , 2007, J. Appl. Log..

[8]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[9]  Rafael H. Bordini,et al.  A flexible framework for verifying agent programs , 2008, AAMAS.

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

[11]  Nicholas R. Jennings,et al.  Practical Applications of Intelligent Agents and Multiagent Technology - Introduction to the Special Issue , 1997, Appl. Artif. Intell..

[12]  Rafael Heitor Bordini,et al.  Verifying Multi-agent Programs by Model Checking , 2006, Autonomous Agents and Multi-Agent Systems.

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

[14]  Koen V. Hindriks,et al.  A verification framework for agent programming with declarative goals , 2007, J. Appl. Log..

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

[16]  Pierre Wolper,et al.  The Complementation Problem for Büchi Automata with Appplications to Temporal Logic , 1987, Theor. Comput. Sci..

[17]  Michael Winikoff,et al.  Implementing commitment-based interactions , 2007, AAMAS '07.

[18]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.

[19]  Michael Wooldridge,et al.  Agent technology: foundations, applications, and markets , 1998 .

[20]  Berndt Farwer,et al.  Translating into an Intermediate Agent Layer : A Prototype in Maude ? ( Extended Abstract ) , 2007 .

[21]  D. Gabbay,et al.  Many-Dimensional Modal Logics: Theory and Applications , 2003 .

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

[23]  Michael Wooldridge,et al.  Programming Multi-Agent Systems in AgentSpeak using Jason (Wiley Series in Agent Technology) , 2007 .

[24]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[25]  Alessio Lomuscio,et al.  Automatic verification of multi-agent systems by model checking via ordered binary decision diagrams , 2007, J. Appl. Log..

[26]  Antonio Moreno,et al.  Software agents in health care , 2003, Artif. Intell. Medicine.

[27]  Louise Dennis,et al.  Gwendolen : A BDI Language for Verifiable Agents , 2008 .

[28]  Mehdi Dastani,et al.  Programming Multi-Agent Systems in 3APL , 2005, Multi-Agent Programming.

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

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

[31]  Rafael H. Bordini,et al.  Multi-Agent Programming: Languages, Platforms and Applications , 2005, Multi-Agent Programming.

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

[33]  Michael Wooldridge,et al.  Applications of Agent Technology , 1998 .

[34]  Wojciech Penczek,et al.  Verification of multiagent systems via unbounded model checking , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[35]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[36]  James C. Corbett,et al.  Expressing checkable properties of dynamic systems: the Bandera Specification Language , 2002, International Journal on Software Tools for Technology Transfer.

[37]  Jeffrey M. Bradshaw,et al.  Human-Agent Teamwork and Adjustable Autonomy in Practice , 2003 .

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

[39]  Mark Greaves,et al.  Guest Editors' Introduction: Dependable Agent Systems , 2004, IEEE Intell. Syst..

[40]  Sarfraz Khurshid,et al.  State extensions for java pathfinder , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.