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.
Similar content being viewed by others
References
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).
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.
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).
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).
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.
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
Bratman M. E. (1987) Intentions, plans, and practical reason. Harvard University Press, Harvard
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.
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.
Clement B. J., Durfee E. H., Barrett A. C. (2007) Abstract reasoning for planning and coordination. Journal of Artificial Intelligence Research 28: 453–515
Cohen P. R., Levesque H. J. (1990) Intention is choice with commitment. Artificial Intelligence Journal 42: 213–261
Dastani M. (2008) 2APL: A practical agent programming language. Autonomous Agents and Multi-Agent Systems 16(3): 214–248
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).
Dastani, M., van Riemsdijk, B., & Meyer, J. (2005). Programming multi-agent systems in 3APL. In Multi-agent programming (Chap. 2, pp. 39–67). Springer.
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).
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
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
de Silva, L. P. (2009). Planning in BDI agent systems. PhD thesis, School of Computer Science and Information Technology, RMIT University, Melbourne, Australia. Submitted.
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).
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).
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).
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).
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
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
Eiter T., Subrahmanian T., Pick G. (1999) Heterogeneous active agents I: Semantics. Artificial Intelligence Journal 108(1–2): 179–255
Erol K., Hendler J. A., Nau D. S. (1996) Complexity results for HTN planning. Annals of Mathematics and Artificial Intelligence 18(1): 69–93
Gerevini, A., Bonet, B., & Givan, B. (Eds). (2006). Booklet of 4th international planning competition, Lake District, UK. http://www.ldc.usb.ve/~bonet/ipc5/.
Ghallab M., Nau D. S., Traverso P. (2004) Automated planning: Theory and practice. Morgan Kaufmann, MA
Hennessy M. (1990) The semantics of programming languages. Wiley, Chichester, England
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
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.
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.
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
Jennings N. R. (2001) An agent-based approch for building complex software systems. Communications of the ACM 44(4): 35–41
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).
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).
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).
Knuth D. E. (1969) The art of programming: Seminumerical algorithms (Vol.2). Addison-Wesley, Reading
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).
Lin F., Levesque H. J. (1998) What robots can do: Robot programs and effective achievability. Artificial Intelligence Journal 101: 201–226
Lloyd J. W. (1987) Foundations of logic programming (2nd ed.). Springer Verlag, NY
Long D., Fox M. (2003) The 3rd international planning competition: Results and analysis. Journal of Artificial Intelligence Research 20: 1–59
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.
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.
Morley, D., & Myers, K. L. (2004). The SPARK agent framework. In Proc. of autonomous agents and multi-agent systems (AAMAS) (pp. 712–719).
Nau D. S. (2007) Current trends in automated planning. AI Magazine 28(4): 43–58
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.
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).
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).
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.
Plotkin G. D. (1981) A structural approach to operational semantics. Technical report DAIMI-FN-19. Computer Science Department, Aarhus University, Denmark
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.
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.
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).
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.
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
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.
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.
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).
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).
Shoham Y. (1997) An overview of agent-oriented programming. In: Bradshaw J. M. (eds) Software agents. The MIT Press, Cambridge, MA, pp 271–290
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).
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).
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).
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).
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.
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).
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).
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).
Weld D. S. (1999) Recent advances in AI planning. AI Magazine 20(2): 93–123
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
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
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).
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue date:
DOI: https://doi.org/10.1007/s10458-010-9130-9