Skip to main content
Log in

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

  • Published:
Autonomous Agents and Multi-Agent Systems Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+
from €37.37 /Month
  • Starting from 10 chapters or articles per month
  • Access and download chapters and articles from more than 300k books and 2,500 journals
  • Cancel anytime
View plans

Buy Now

Price includes VAT (Norway)

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alechina, N., Bordini, R. H., Hübner, J. F., Jago, M., & Logan, B. (2006). Belief revision for AgentSpeak agents. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 1288–1290).

  2. Ambros-Ingerson, J., & Steel, S. (1988). Integrating planning, execution and monitoring. In Proc. of the national conference on artificial intelligence (AAAI) (pp. 83–88). St. Paul, MN.

  3. Belecheanu, R. A., Munroe, S., Luck, M., Payne, T., Miller, T., McBurney, et al. (2006). Commercial applications of agents: Lessons, experiences and challenges. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 1549–1555).

  4. Benfield, S. S., Hendrickson, J., & Galanti, D. (2006). Making a strong business case for multiagent technology. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 10–15).

  5. Bordini, R. H., Hübner, J. F., & Wooldridge, M. (2007). Programming multi-agent aystems in AgentSpeak using Jason. Wiley Series in Agent Technology. Wiley, ISBN 0470029005.

  6. Bordini R. H., Moreira A. F. (2004) Proving BDI properties of agent-oriented programming languages. Annals of Mathematics and Artificial Intelligence 42(1–3): 197–226

    Article  MATH  MathSciNet  Google Scholar 

  7. Bratman M. E. (1987) Intentions, plans, and practical reason. Harvard University Press, Harvard

    Google Scholar 

  8. Broersen, J., Dastani, M., Hulstijn J., Huang Z., & der van Torre, L. (2001). The BOID architecture: Conflicts between beliefs, obligations, intentions and desires. In Proc. of the annual conference on autonomous agents (AGENTS) (pp. 9–16). Montreal, Canada: ACM Press.

  9. Busetta, P., Rönnquist, R., Hodgson, A. & Lucas, A. (1999). JACK intelligent agents: Components for intelligent agents in Java. AgentLink Newsletter, 2, 2–5. January. Agent Oriented Software.

    Google Scholar 

  10. Clement B. J., Durfee E. H., Barrett A. C. (2007) Abstract reasoning for planning and coordination. Journal of Artificial Intelligence Research 28: 453–515

    MATH  Google Scholar 

  11. Cohen P. R., Levesque H. J. (1990) Intention is choice with commitment. Artificial Intelligence Journal 42: 213–261

    Article  MATH  MathSciNet  Google Scholar 

  12. Dastani M. (2008) 2APL: A practical agent programming language. Autonomous Agents and Multi-Agent Systems 16(3): 214–248

    Article  Google Scholar 

  13. Dastani, M., de Boer, F. S., Dignum, F., & Meyer, J.-J. (2003). Programming agent deliberation: An approach illustrated using the 3APL language. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 97–104).

  14. Dastani, M., van Riemsdijk, B., & Meyer, J. (2005). Programming multi-agent systems in 3APL. In Multi-agent programming (Chap. 2, pp. 39–67). Springer.

  15. Dastani, M., van Riemsdijk, B., & Meyer, J.-J. (2006). Goal types in agent programming. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 1285–1287).

  16. de Boer F. S., Hindriks K. V., van der Hoek W., Meyer J.-J. (2007) A verification framework for agent programming with declarative goals. Journal of Applied Logic 5(2): 277–302

    Article  MATH  MathSciNet  Google Scholar 

  17. De Giacomo G., Lespérance Y., Levesque H. J., Sardina S. (2009) IndiGolog: A high-level programming language for embedded reasoning agents. In: Bordini R. H., Dastani M., Dix J., Fallah-Seghrouchni A. E. (eds) Multi-agent programming: Languages, platforms and applications (Chap. 2). Springer, NY, pp 31–72

    Google Scholar 

  18. de Silva, L. P. (2009). Planning in BDI agent systems. PhD thesis, School of Computer Science and Information Technology, RMIT University, Melbourne, Australia. Submitted.

  19. de Silva, L. P., & Padgham, L. (2004). A comparison of BDI based real-time reasoning and HTN based planning. In Proc. of the Australian joint conference on AI (AI) (pp. 1167–1173).

  20. de Silva, L. P., & Padgham, L. (2005). Planning on demand in BDI systems. In Proc. of the international conference on automated planning and scheduling (ICAPS), June. (poster).

  21. de Silva, L. P., Sardina, S., & Padgham, L. (2009). First principles planning in BDI systems. In Proc. of autonomous agents and multi-agent systems (AAMAS) (Vol. 2, pp. 1001–1008).

  22. Despouys, O., & Ingrand, F. F. (1999). Propice-plan: Toward a unified framework for planning and execution. In Proc. of the European conference on planning (ECP) (pp. 278–293).

  23. d’Inverno M., Luck M., Georgeff M. P., Kinny D., Wooldridge M. (2004) The dMARS architechure: A specification of the distributed multi-agent reasoning system. Autonomous Agents and Multi-Agent Systems 9(1–2): 5–53

    Article  Google Scholar 

  24. Dix J., Muñoz-Avila H., Nau D. S., Zhang L. (2003) IMPACTing SHOP: Putting an AI planner into a multi-agent environment. Annals of Mathematics and Artificial Intelligence 37(4): 381–407

    Article  MATH  Google Scholar 

  25. Eiter T., Subrahmanian T., Pick G. (1999) Heterogeneous active agents I: Semantics. Artificial Intelligence Journal 108(1–2): 179–255

    Article  MATH  MathSciNet  Google Scholar 

  26. Erol K., Hendler J. A., Nau D. S. (1996) Complexity results for HTN planning. Annals of Mathematics and Artificial Intelligence 18(1): 69–93

    Article  MATH  MathSciNet  Google Scholar 

  27. Gerevini, A., Bonet, B., & Givan, B. (Eds). (2006). Booklet of 4th international planning competition, Lake District, UK. http://www.ldc.usb.ve/~bonet/ipc5/.

  28. Ghallab M., Nau D. S., Traverso P. (2004) Automated planning: Theory and practice. Morgan Kaufmann, MA

    MATH  Google Scholar 

  29. Hennessy M. (1990) The semantics of programming languages. Wiley, Chichester, England

    MATH  Google Scholar 

  30. Hindriks K. V., de Boer F. S., van der Hoek W., Meyer J.-J. (1999) Agent programming in 3APL. Autonomous Agents and Multi-Agent Systems 2(4): 357–401

    Article  Google Scholar 

  31. Huber, M. J. (1999). JAM: A BDI-theoretic mobile agent architecture. In Proc. of the annual conference on autonomous agents (AGENTS) (pp. 236–243). New York, NY, USA: ACM Press.

  32. Hübner, J. F., Bordini, R. H., & Wooldridge, M. (2006). Programming declarative goals using plan patterns. In Proc. of the international workshop on declarative agent languages and technologies (DALT) (Volume 4327 of LNCS, pp. 123–140). NY: Springer.

  33. Ingrand F. F., Georgeff M. P., Rao A. S. (1992) An architecture for real-time reasoning and system control. IEEE Expert: Intelligent Systems and Their Applications 7(6): 34–44

    Google Scholar 

  34. Jennings N. R. (2001) An agent-based approch for building complex software systems. Communications of the ACM 44(4): 35–41

    Article  Google Scholar 

  35. Kambhampati, S., Mali, A. D., & Srivastava, B. (1998). Hybrid planning for partially hierarchical domains. In Proc. of the national conference on artificial intelligence (AAAI) (pp. 882–888).

  36. Kinny, D., Georgeff, M. P. (1991). Commitment and effectiveness of situated agents. In Proc. of the international joint conference on artificial intelligence (IJCAI) (pp. 82–88).

  37. Knoblock, C. A. (1995). Planning, executing, sensing and replaning for information gathering. In Proc. of the international joint conference on artificial intelligence (IJCAI) (pp. 1686–1693).

  38. Knuth D. E. (1969) The art of programming: Seminumerical algorithms (Vol.2). Addison-Wesley, Reading

    MATH  Google Scholar 

  39. Kollingbaum, M. J., & Norman, T. J. (2003). NoA—a normative agent architecture. In Proc. of the international joint conference on artificial intelligence (IJCAI) (pp. 1465–1466).

  40. Lin F., Levesque H. J. (1998) What robots can do: Robot programs and effective achievability. Artificial Intelligence Journal 101: 201–226

    Article  MATH  MathSciNet  Google Scholar 

  41. Lloyd J. W. (1987) Foundations of logic programming (2nd ed.). Springer Verlag, NY

    MATH  Google Scholar 

  42. Long D., Fox M. (2003) The 3rd international planning competition: Results and analysis. Journal of Artificial Intelligence Research 20: 1–59

    Article  MATH  Google Scholar 

  43. Meneguzzi, F., & Luck, M. (2009). Leveraging new plans in AgentSpeak(PL). In Proc. of the international workshop on declarative agent languages and technologies (DALT) (Volume 5397 of LNCS, pp. 111–127). NY: Springer.

  44. Moreira, A. F., Vieira, R., & Bordini, R. H. (2004). Extending the operational semantics of a BDI agent-oriented programming language for introducing speech-act based communication. In Proc. of the international workshop on declarative agent languages and technologies (DALT) (Volume 2990 of LNCS, pp. 1270–1285). NY: Springer.

  45. Morley, D., & Myers, K. L. (2004). The SPARK agent framework. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 712–719).

  46. Nau D. S. (2007) Current trends in automated planning. AI Magazine 28(4): 43–58

    Google Scholar 

  47. Nau, D. S., Au, T.-C., Ilghami, O., Kuter, U., Wu, D., Yaman, F., Muñoz-Avila, H., & Murdock, W. (2005). Applications of SHOP and SHOP2. IEEE Intelligent Systems, 20(2), 34–41. Earlier version as Tech. Rep. CS-TR-4604, UMIACS-TR-2004-46.

    Google Scholar 

  48. Nau, D. S., Cao, Y., Lotem, A., & Muñoz-Avila, H. (1999). SHOP: Simple hierarchical ordered planner. In Proc. of the international joint conference on artificial intelligence (IJCAI) (pp. 968–973).

  49. Nau, D. S., Muñoz-Avila, H., Cao, Y., Lotem, A., & Mitchell, S. (2001). Total-order planning with partially ordered subtasks. In Proc. of the international joint conference on artificial intelligence (IJCAI) (pp. 425–430).

  50. Paolucci, M., Kalp, D., Pannu, A., Shehory, O., & Sycara, K. (1999). A planning component for RETSINA agents. In Proc. of the international workshop on agent theories, architectures, and languages (ATAL) (pp. 147–161) UK: Springer. ISBN 3-540-67200-1.

  51. Plotkin G. D. (1981) A structural approach to operational semantics. Technical report DAIMI-FN-19. Computer Science Department, Aarhus University, Denmark

    Google Scholar 

  52. Pokahr, A., Braubach, L., & Lamersdorf, W. (2003). JADEX: Implementing a BDI-infrastructure for JADE agents. EXP—in search of innovation (Special Issue on JADE), 3(3), 76–85.

  53. Rao, A. S. (1996). Agentspeak(L): BDI agents speak out in a logical computable language. In W. Vander Velde & J. W. Perram (Eds.), Proc. of the 7th European workshop on modelling autonomous agents in a multi-agent world. (Agents breaking away) (Volume 1038 of LNCS, pp. 42–55). NY: Springer.

  54. Rao, A. S., & Georgeff M. P. (1991). Modeling rational agents within a BDI-architecture. In Proc. of principles of knowledge representation and reasoning (KR) (pp. 473–484).

  55. Rao, A. S., & Georgeff, M. P. (1992). An abstract architecture for rational agents. In Proc. of principles of knowledge representation and reasoning (KR) (pp. 438–449). San Mateo, CA.

  56. Sardina S., De Giacomo G., Lespérance Y., Levesque H. J. (2004) On the semantics of deliberation in IndiGolog—from theory to implementation. Annals of Mathematics and Artificial Intelligence 41(2–4): 259–299

    Article  MATH  MathSciNet  Google Scholar 

  57. Sardina, S., de Silva, L. P., & Padgham, L. (2006). Hierarchical planning in BDI agent programming languages: A formal approach. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 1001–1008). Hakodate, Japan.

  58. Sardina, S., & Padgham, L. (2007). Goals in the context of BDI plan failure and planning. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 16–23). Hawaii, USA.

  59. Sardina, S., & Shapiro, S. (2003). Rational action in agent programs with prioritized goals. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 417–424).

  60. Shapiro, S., Lespérance, Y., & Levesquem, H. J. (2005). Goal change. In Proc. of the international joint conference on artificial intelligence (IJCAI) (pp. 582–588).

  61. Shoham Y. (1997) An overview of agent-oriented programming. In: Bradshaw J. M. (eds) Software agents. The MIT Press, Cambridge, MA, pp 271–290

    Google Scholar 

  62. Thangarajah, J., Harland, J., Moreley, D., & Yorke-Smith, N. (2008). Suspending and resuming tasks in BDI agents. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 405–412).

  63. Thangarajah, J., Morley, D., Yorke-Smith, N., & Harland, J. (2007). Aborting tasks and plans in BDI agents. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 8–15).

  64. Thangarajah, J., Padgham, L., & Winikoff, M. (2003a). Detecting & avoiding interference between goals in intelligent agents. In Proc. of the international joint conference on artificial intelligence (IJCAI) (pp. 721–726).

  65. Thangarajah, J., Padgham, L., & Winikoff, M. (2003b). Detecting & exploiting positive goal interaction in intelligent agents. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 401–408).

  66. van Riemsdijk, B., Dastani, M., Dignum, F., & Meyer J.-J. (2005a). Dynamics of declarative goals in agent programming. In Proc. of the international workshop on declarative agent languages and technologies (DALT) (Volume 3476 of LNCS, (pp. 1–18). NY: Springer.

  67. van Riemsdijk, B., Dastani, M., & Meyer, J.-J. (2005b). Semantics of declarative goals in agent programming. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 133–140).

  68. van Riemsdijk, B., van der Hoek, W., & Meyer J.-J. (2003). Agent programming in dribble: From beliefs to goals with plans. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 393–400).

  69. Walczak, A., Braubach, L., Pokahr, A., & Lamersdorf, W. (2006). Augmenting BDI agents with deliberative planning techniques. In Proc. of the programming multiagent systems languages, frameworks, techniques and tools workshop (PROMAS) (pp. 113–127).

  70. Weld D. S. (1999) Recent advances in AI planning. AI Magazine 20(2): 93–123

    Google Scholar 

  71. Wilkins D. E., Myers K. L. (1995) A common knowledge representation for plan generation and reactive execution. Journal of Logic and Computation 5(6): 731–761

    Article  MATH  Google Scholar 

  72. Wilkins D. E., Myers K. L., Lowrance J. D., Wesley L. P. (1995) Planning and reacting in uncertain and dynamic environments. Journal of Experimental and Theoretical AI 7(1): 197–227

    Google Scholar 

  73. Winikoff, M., Padgham, L., Harland, J., & Thangarajah, J. (2002). Declarative & procedural goals in intelligent agent systems. In Proc. of principles of knowledge representation and reasoning (KR) (pp. 470–481).

  74. Wobcke W. R. (2001) An operational semantics for a PRS-like agent architecture. In: Stumptner M., Corbett D., Brooks M. J. (eds) AI 2001: Advances in artificial intelligence. Springer-Verlag, Berlin

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sebastian Sardina.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sardina, S., Padgham, L. A BDI agent programming language with failure handling, declarative goals, and planning. Auton Agent Multi-Agent Syst 23, 18–70 (2011). https://doi.org/10.1007/s10458-010-9130-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue date:

  • DOI: https://doi.org/10.1007/s10458-010-9130-9

Keywords