Verifiable Multi-agent Programs

AgentSpeak is a reactive planning language for programming autonomous agents. It has recently been shown that model checking techniques can be applied to the verification of AgentSpeak systems, through a translation to Promela, the model specification language for the SPIN LTL model-checking system. In this paper, we introduce an alternative verification approach for AgentSpeak, by translating AgentSpeak to Java and then applying JPF2, a general purpose Java model checker. The primary advantage of this approach is that Java is the language of choice for most agent implementations, and the approach is thus much closer to the current practice of agent development than the Promela-based approach. Also, models of AgentSpeak agents represented in Java are both clearer and more natural than those given in Promela. We examine both alternatives by means of a practical application, provide a qualitative comparison between them, and identify some key issues for future research.

[1]  Michael Rovatsos,et al.  Capturing agent autonomy in roles and XML , 2003, AAMAS '03.

[2]  Aaron Sloman,et al.  Building cognitively rich agents using the SIM_Agent toolkit , 1999, CACM.

[3]  Rafael H. Bordini,et al.  Running AgentSpeak(L) Agents on SIM_AGENT , 2001, ATAL.

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

[5]  Walter Van de Velde,et al.  Agents Breaking Away , 1996, Lecture Notes in Computer Science.

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

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

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

[9]  Frank Dignum,et al.  A Programming Language for Cognitive Agents Goal Directed 3APL , 2003, PROMAS.

[10]  Anand S. Rao,et al.  AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language , 1996, MAAMAW.

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

[12]  Victor R. Lesser,et al.  AgentSpeak(XL): efficient intention selection in BDI agents via decision-theoretic task scheduling , 2002, AAMAS '02.

[13]  Michael Fisher,et al.  The abc of rational agent modelling , 2002, AAMAS '02.

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

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

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

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

[18]  Milind Tambe,et al.  Intelligent Agents VIII , 2002, Lecture Notes in Computer Science.

[19]  Cristiano Castelfranchi,et al.  Proceedings of the 7th International Workshop on Intelligent Agents VII. Agent Theories Architectures and Languages , 2000 .

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

[21]  Álvaro F. Moreira,et al.  Proving the Asymmetry Thesis Principles for a BDI Agent-Oriented Programming Language , 2002, Computational Logic in Multi-Agent Systems.

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

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

[24]  Milind Tambe,et al.  Team Oriented Programming and Proxy Agents: The Next Generation , 2003, PROMAS.

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

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

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

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

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

[30]  Timothy W. Finin,et al.  Evaluation of KQML as an Agent Communication Language , 1995, ATAL.