Verifiable Multi-agent Programs

   page       BibTeX_logo.png   
Rafael H. Bordini, Michael Fisher, Willem Visser, Michael J. Wooldridge
Mehdi M. Dastani, Jürgen Dix, Amal El Fallah-Seghrouchni (eds.)
Programming Multi-agent Systems, pages 72-89
Lecture Notes in Computer Science 3067

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.