Notes on Pragmatic Agent-Programming with Jason

AgentSpeak(L), together with its implementation Jason, is one of the most influential agent-oriented programming languages. Besides having a strong conceptual influence on the niche of BDI-inspired agent programming systems, Jason also serves as one of the primary tools for education of and experimentation with agent-oriented programming. Despite its popularity in the community, relatively little is reported on its practical applications and pragmatic experiences with adoption of the language for non-trivial applications. In this paper, we present our experiences gathered during an experiment aimed at development of a non-trivial case-study agent application by a novice Jason programmer. In our experiment, we tried to use the programming language as is, with as few customisations of the Jason interpreter as possible. Besides providing a structured feedback on the most problematic issues faced while learning to program in Jason, we informally propose a set of ideas for solving the encountered design problems and programming language issues.

[1]  Michael Winikoff,et al.  Chapter 1 JACK TM INTELLIGENT AGENTS : AN INDUSTRIAL STRENGTH PLATFORM , 2005 .

[2]  Joanna J. Bryson,et al.  Intelligence by design: principles of modularity and coordination for engineering complex adaptive agents , 2001 .

[3]  Michael Winikoff,et al.  JACKTM Intelligent Agents: An Industrial Strength Platform , 2005, Multi-Agent Programming.

[4]  Charles L. Forgy,et al.  Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem , 1982, Artif. Intell..

[5]  Brian Logan,et al.  Modularity and Compositionality in Jason , 2009, PROMAS.

[6]  Winfried Lamersdorf,et al.  Jadex: A BDI Reasoning Engine , 2005, Multi-Agent Programming.

[7]  Michael E. Bratman,et al.  Intention, Plans, and Practical Reason , 1991 .

[8]  Wojciech Jamroga,et al.  Code patterns for agent-oriented programming , 2009, AAMAS.

[9]  João Leite,et al.  A Survey of Programming Languages and Platforms for Multi-Agent Systems , 2006, Informatica.

[10]  Frank Dignum Agents for games and simulations , 2011, Autonomous Agents and Multi-Agent Systems.

[11]  Peter Novák Jazzyk: A Programming Language for Hybrid Agents with Heterogeneous Knowledge Representations , 2008, ProMAS.

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

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

[14]  Jürgen Dix,et al.  The Multi-Agent Programming Contest , 2012, AI Mag..

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

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

[17]  Jürgen Dix,et al.  Agent Contest Competition: 4th Edition , 2008, ProMAS.

[18]  Martin Lysik Charles University in Prague Faculty of Mathematics and Physics MASTER THESIS , 2009 .

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

[20]  Jürgen Dix,et al.  The multi-agent programming contest from 2005–2010 , 2010, Annals of Mathematics and Artificial Intelligence.

[21]  Cyril Brom,et al.  A Periphery of Pogamut: From Bots to Agents and Back Again , 2010, AGS.

[22]  Rafael Heitor Bordini,et al.  Jason A Java-based interpreter for an extended version of AgentSpeak developed by , 2007 .

[23]  Xiaolong Jin,et al.  Autonomy Oriented Computing: From Problem Solving to Complex Systems Modeling (Multiagent Systems, Artificial Societies, and Simulated Organizations) , 2004 .

[24]  Danilo Pianini,et al.  Jason: a Java-based interpreter for an extended version of AgentSpeak - Part 2 , 2011 .