A BDI agent programming language with failure handling, declarative goals, and planning

Agents are an important technology that have the potential to take over contemporary methods for analysing, designing, and implementing complex software. The Belief-Desire-Intention (BDI) agent paradigm has proven to be one of the major approaches to intelligent agent systems, both in academia and in industry. Typical BDI agent-oriented programming languages rely on user-provided “plan libraries” to achieve goals, and online context sensitive subgoal selection and expansion. These allow for the development of systems that are extremely flexible and responsive to the environment, and as a result, well suited for complex applications with (soft) real-time reasoning and control requirements. Nonetheless, complex decision making that goes beyond, but is compatible with, run-time context-dependent plan selection is one of the most natural and important next steps within this technology. In this paper we develop a typical BDI-style agent-oriented programming language that enhances usual BDI programming style with three distinguished features: declarative goals, look-ahead planning, and failure handling. First, an account that mixes both procedural and declarative aspects of goals is necessary in order to reason about important properties of goals and to decouple plans from what these plans are meant to achieve. Second, lookahead deliberation about the effects of one choice of expansion over another is clearly desirable or even mandatory in many circumstances so as to guarantee goal achievability and to avoid undesired situations. Finally, a failure handling mechanism, suitably integrated with both declarative goals and planning, is required in order to model an adequate level of commitment to goals, as well as to be consistent with most real BDI implemented systems.

[1]  Hector J. Levesque,et al.  Goal Change , 2005, IJCAI.

[2]  Lin Padgham,et al.  A Comparison of BDI Based Real-Time Reasoning and HTN Based Planning , 2004, Australian Conference on Artificial Intelligence.

[3]  Sebastian Sardiña,et al.  Rational action in agent programs with prioritized goals , 2003, AAMAS '03.

[4]  Mehdi Dastani,et al.  The BOID architecture: conflicts between beliefs, obligations, intentions and desires , 2001, AGENTS '01.

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

[6]  Winfried Lamersdorf,et al.  Augmenting BDI Agents with Deliberative Planning Techniques , 2006, PROMAS.

[7]  Daniel S. Weld Recent Advances in AI Planning , 1999, AI Mag..

[8]  M. Birna van Riemsdijk,et al.  Agent Programming in Dribble: From Beliefs to Goals with Plans , 2002, FAABS.

[9]  Anand S. Rao,et al.  Modeling Rational Agents within a BDI-Architecture , 1997, KR.

[10]  Steve S. Benfield,et al.  Making a strong business case for multiagent technology , 2006, AAMAS '06.

[11]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[12]  Paolo Busetta,et al.  Jack intelligent agents - components for intelligent agents in java , 1998 .

[13]  Rafael H. Bordini,et al.  Belief revision for AgentSpeak agents , 2006, AAMAS '06.

[14]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[15]  John D. Lowrance,et al.  Planning and reacting in uncertain and dynamic environments , 1995, J. Exp. Theor. Artif. Intell..

[16]  Michael Wooldridge,et al.  Programming Declarative Goals Using Plan Patterns , 2006, DALT.

[17]  Á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.

[18]  M. Fox,et al.  The 3rd International Planning Competition: Results and Analysis , 2003, J. Artif. Intell. Res..

[19]  Sam Steel,et al.  Integrating Planning, Execution and Monitoring , 1988, AAAI.

[20]  Paolo Traverso,et al.  Automated Planning: Theory & Practice , 2004 .

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

[22]  Yue Cao,et al.  Total-Order Planning with Partially Ordered Subtasks , 2001, IJCAI.

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

[24]  Subbarao Kambhampati,et al.  Hybrid Planning for Partially Hierarchical Domains , 1998, AAAI/IAAI.

[25]  Lin Padgham,et al.  Hierarchical planning in BDI agent programming languages: a formal approach , 2006, AAMAS '06.

[26]  Hector J. Levesque,et al.  On the Semantics of Deliberation in IndiGolog — from Theory to Implementation , 2002, Annals of Mathematics and Artificial Intelligence.

[27]  Hector Muñoz-Avila,et al.  Applications of SHOP and SHOP2 , 2005, IEEE Intelligent Systems.

[28]  Stefan Edelkamp,et al.  Automated Planning: Theory and Practice , 2007, Künstliche Intell..

[29]  Edmund H. Durfee,et al.  Abstract Reasoning for Planning and Coordination , 2002, SARA.

[30]  Wayne Wobcke,et al.  An Operational Semantics for a PRS-Like Agent Architecture , 2001, Australian Joint Conference on Artificial Intelligence.

[31]  Hector Muñoz-Avila,et al.  IMPACTing SHOP: Putting an AI Planner Into a Multi-Agent Environment , 2003, Annals of Mathematics and Artificial Intelligence.

[32]  Michael Luck,et al.  Leveraging New Plans in AgentSpeak(PL) , 2008, DALT.

[33]  Lin Padgham,et al.  Goals in the context of BDI plan failure and planning , 2007, AAMAS '07.

[34]  Lin Padgham,et al.  Planning on demand in BDI systems , 2005 .

[35]  L De Silva,et al.  Planning in BDI agent systems , 2009 .

[36]  Michael Winikoff,et al.  Detecting & exploiting positive goal interaction in intelligent agents , 2003, AAMAS '03.

[37]  John Thangarajah,et al.  Suspending and resuming tasks in BDI agents , 2008, AAMAS.

[38]  Robert D. Tennent,et al.  Semantics of programming languages , 1991, Prentice Hall International Series in Computer Science.

[39]  Álvaro F. Moreira,et al.  Extending the Operational Semantics of a BDI Agent-Oriented Programming Language for Introducing Speech-Act Based Communication , 2003, DALT.

[40]  Hector J. Levesque,et al.  What Robots Can Do: Robot Programs and Effective Achievability , 1998, Artif. Intell..

[41]  Frank Dignum,et al.  Dynamics of Declarative Goals in Agent Programming , 2004, DALT.

[42]  Hector Muñoz-Avila,et al.  SHOP: Simple Hierarchical Ordered Planner , 1999, IJCAI.

[43]  Donald E. Knuth,et al.  The Art of Programming , 2011 .

[44]  Marcus J. Huber JAM: a BDI-theoretic mobile agent architecture , 1999, AGENTS '99.

[45]  Michael P. Georgeff,et al.  Commitment and Effectiveness of Situated Agents , 1991, IJCAI.

[46]  Mehdi Dastani,et al.  Goal types in agent programming , 2006, AAMAS '06.

[47]  Lin Padgham,et al.  First principles planning in BDI systems , 2009, AAMAS.

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

[49]  Koen V. Hindriks,et al.  Agent Programming in 3APL , 1999, Autonomous Agents and Multi-Agent Systems.

[50]  Michael Winikoff,et al.  Declarative and procedural goals in intelligent agent systems , 2002, KR 2002.

[51]  Félix Ingrand,et al.  Propice-Plan: Toward a Unified Framework for Planning and Execution , 1999, ECP.

[52]  James A. Hendler,et al.  Complexity results for HTN planning , 1994, Annals of Mathematics and Artificial Intelligence.

[53]  M. Birna van Riemsdijk,et al.  Agent programming in dribble: from beliefs to goals using plans , 2003, AAMAS '03.

[54]  Karen L. Myers,et al.  The SPARK agent framework , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[55]  Dana S. Nau,et al.  Current Trends in Automated Planning , 2007, AI Mag..

[56]  Mehdi Dastani,et al.  Semantics of declarative goals in agent programming , 2005, AAMAS '05.

[57]  Yoav Shoham,et al.  An overview of agent-oriented programming , 1997 .

[58]  M. Winikoff,et al.  Declarative & Procedural Goals in Intelligent Agent Systems , 2002, KR.

[59]  Hector J. Levesque,et al.  IndiGolog: A High-Level Programming Language for Embedded Reasoning Agents , 2009, Multi-Agent Programming, Languages, Tools and Applications.

[60]  NICHOLAS R. JENNINGS,et al.  An agent-based approach for building complex software systems , 2001, CACM.

[61]  Michael Luck,et al.  Commercial applications of agents: lessons, experiences and challenges , 2006, AAMAS '06.

[62]  Michael Wooldridge,et al.  The dMARS Architecture: A Specification of the Distributed Multi-Agent Reasoning System , 2004, Autonomous Agents and Multi-Agent Systems.

[63]  Onn Shehory,et al.  A Planning Component for RETSINA Agents , 1999, ATAL.

[64]  David E. Wilkins,et al.  A Common Knowledge Representation for Plan Generation and Reactive Execution , 1995, J. Log. Comput..

[65]  Anand S. Rao,et al.  An architecture for real-time reasoning and system control , 1992, IEEE Expert.

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

[67]  Craig A. Knoblock Planning, Executing, Sensing, and Replanning for Information Gathering , 1995, IJCAI.

[68]  V. S. Subrahmanian,et al.  Heterogeneous Active Agents, I: Semantics , 1999, Artif. Intell..

[69]  Frank Dignum,et al.  Programming agent deliberation: an approach illustrated using the 3APL language , 2003, AAMAS '03.

[70]  Mehdi Dastani,et al.  2APL: a practical agent programming language , 2008, Autonomous Agents and Multi-Agent Systems.

[71]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

[72]  Martin J. Kollingbaum,et al.  NoA - A Normative Agent Architecture , 2003, IJCAI.

[73]  Anand S. Rao,et al.  An Abstract Architecture for Rational Agents , 1992, KR.

[74]  Winfried Lamersdorf,et al.  Jadex: Implementing a BDI-Infrastructure for JADE Agents , 2003 .

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

[76]  Matthew Hennessy,et al.  Semantics of programming languages - an elementary introduction using structural operational semantics , 1990 .