Advertisement

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

  • Sebastian Sardina
  • Lin Padgham
Article

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.

Keywords

BDI agent-oriented programming Goal reasoning HTN planning 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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).Google Scholar
  2. 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.Google Scholar
  3. 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).Google Scholar
  4. 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).Google Scholar
  5. 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.Google Scholar
  6. 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–226CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Bratman M. E. (1987) Intentions, plans, and practical reason. Harvard University Press, HarvardGoogle Scholar
  8. 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.Google Scholar
  9. 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. 10.
    Clement B. J., Durfee E. H., Barrett A. C. (2007) Abstract reasoning for planning and coordination. Journal of Artificial Intelligence Research 28: 453–515zbMATHGoogle Scholar
  11. 11.
    Cohen P. R., Levesque H. J. (1990) Intention is choice with commitment. Artificial Intelligence Journal 42: 213–261CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
    Dastani M. (2008) 2APL: A practical agent programming language. Autonomous Agents and Multi-Agent Systems 16(3): 214–248CrossRefGoogle Scholar
  13. 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).Google Scholar
  14. 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.Google Scholar
  15. 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).Google Scholar
  16. 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–302CrossRefzbMATHMathSciNetGoogle Scholar
  17. 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–72Google Scholar
  18. 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.Google Scholar
  19. 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).Google Scholar
  20. 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).Google Scholar
  21. 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).Google Scholar
  22. 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).Google Scholar
  23. 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–53CrossRefGoogle Scholar
  24. 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–407CrossRefzbMATHGoogle Scholar
  25. 25.
    Eiter T., Subrahmanian T., Pick G. (1999) Heterogeneous active agents I: Semantics. Artificial Intelligence Journal 108(1–2): 179–255CrossRefzbMATHMathSciNetGoogle Scholar
  26. 26.
    Erol K., Hendler J. A., Nau D. S. (1996) Complexity results for HTN planning. Annals of Mathematics and Artificial Intelligence 18(1): 69–93CrossRefzbMATHMathSciNetGoogle Scholar
  27. 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. 28.
    Ghallab M., Nau D. S., Traverso P. (2004) Automated planning: Theory and practice. Morgan Kaufmann, MAzbMATHGoogle Scholar
  29. 29.
    Hennessy M. (1990) The semantics of programming languages. Wiley, Chichester, EnglandzbMATHGoogle Scholar
  30. 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–401CrossRefGoogle Scholar
  31. 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.Google Scholar
  32. 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.Google Scholar
  33. 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–44Google Scholar
  34. 34.
    Jennings N. R. (2001) An agent-based approch for building complex software systems. Communications of the ACM 44(4): 35–41CrossRefGoogle Scholar
  35. 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).Google Scholar
  36. 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).Google Scholar
  37. 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).Google Scholar
  38. 38.
    Knuth D. E. (1969) The art of programming: Seminumerical algorithms (Vol.2). Addison-Wesley, ReadingzbMATHGoogle Scholar
  39. 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).Google Scholar
  40. 40.
    Lin F., Levesque H. J. (1998) What robots can do: Robot programs and effective achievability. Artificial Intelligence Journal 101: 201–226CrossRefzbMATHMathSciNetGoogle Scholar
  41. 41.
    Lloyd J. W. (1987) Foundations of logic programming (2nd ed.). Springer Verlag, NYzbMATHGoogle Scholar
  42. 42.
    Long D., Fox M. (2003) The 3rd international planning competition: Results and analysis. Journal of Artificial Intelligence Research 20: 1–59CrossRefzbMATHGoogle Scholar
  43. 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.Google Scholar
  44. 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.Google Scholar
  45. 45.
    Morley, D., & Myers, K. L. (2004). The SPARK agent framework. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 712–719).Google Scholar
  46. 46.
    Nau D. S. (2007) Current trends in automated planning. AI Magazine 28(4): 43–58Google Scholar
  47. 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. 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).Google Scholar
  49. 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).Google Scholar
  50. 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.Google Scholar
  51. 51.
    Plotkin G. D. (1981) A structural approach to operational semantics. Technical report DAIMI-FN-19. Computer Science Department, Aarhus University, DenmarkGoogle Scholar
  52. 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.Google Scholar
  53. 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.Google Scholar
  54. 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).Google Scholar
  55. 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.Google Scholar
  56. 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–299CrossRefzbMATHMathSciNetGoogle Scholar
  57. 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.Google Scholar
  58. 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.Google Scholar
  59. 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).Google Scholar
  60. 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).Google Scholar
  61. 61.
    Shoham Y. (1997) An overview of agent-oriented programming. In: Bradshaw J. M. (eds) Software agents. The MIT Press, Cambridge, MA, pp 271–290Google Scholar
  62. 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).Google Scholar
  63. 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).Google Scholar
  64. 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).Google Scholar
  65. 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).Google Scholar
  66. 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.Google Scholar
  67. 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).Google Scholar
  68. 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).Google Scholar
  69. 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).Google Scholar
  70. 70.
    Weld D. S. (1999) Recent advances in AI planning. AI Magazine 20(2): 93–123Google Scholar
  71. 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–761CrossRefzbMATHGoogle Scholar
  72. 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–227Google Scholar
  73. 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).Google Scholar
  74. 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, BerlinGoogle Scholar

Copyright information

© The Author(s) 2010

Authors and Affiliations

  1. 1.School of Computer Science and ITRMIT UniversityMelbourneAustralia

Personalised recommendations