Autonomous Agents and Multi-Agent Systems

, Volume 16, Issue 3, pp 214–248 | Cite as

2APL: a practical agent programming language

Open Access


This article presents a BDI-based agent-oriented programming language, called 2APL (A Practical Agent Programming Language). This programming language facilitates the implementation of multi-agent systems consisting of individual agents that may share and access external environments. It realizes an effective integration of declarative and imperative style programming by introducing and integrating declarative beliefs and goals with events and plans. It also provides practical programming constructs to allow the generation, repair, and (different modes of) execution of plans based on beliefs, goals, and events. The formal syntax and semantics of the programming language are given and its relation with existing BDI-based agent-oriented programming languages is discussed.


Open Access

This article is distributed under the terms of the Creative Commons Attribution Noncommercial License which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.


  1. 1.
    Alechina, N., Dastani, M., Logan, B., & Meyer, J.-J. (2007). A logic of agent programs. In Proceedings of the twenty-second conference on Artificial Intelligence (AAAI-07). AAAI press.Google Scholar
  2. 2.
    Astefanoaei, L., Mol, C., Sindlar, M., & Tinnemeier, N. (2008). Going for Gold with 2APL. InProceedings of the fifth international workshop on programming multi-agent systems. Springer.Google Scholar
  3. 3.
    Bellifemine, F., Bergenti, F., Caire, G., & Poggi, A. (2005). JADE—a java agent development framework. In Multi-agent programming: languages, platforms and applications. Kluwer.Google Scholar
  4. 4.
    Bergenti, F., Gleizes, M.-P., & Zambonelli, F. (Eds.). (2004). Methodologies and software engineering for agent systems, Vol. 11 of Multiagent systems, artificial societies, and simulated organizations. Kluwer Academic Publisher.Google Scholar
  5. 5.
    Bordini, R. H., Wooldridge, M., & Hübner, J. F. (2007). Programming multi-agent systems in agentspeak using Jason (Wiley Series in Agent Technology). John Wiley & Sons.Google Scholar
  6. 6.
    Bracciali, A., Demetriou, N., Endriss, U., Kakas, A., Lu, W., Sadri, P. M. F., Stathis, K., Terreni, G., & Toni, F. (2004). The KGP model of agency for global computing: Computational model and prototype implementation. In Global computing, Vol. 3267 of Lecture notes in computer science(pp. 340–367). Springer.Google Scholar
  7. 7.
    Cohen, P. R., & Levesque, H. J. (1990). Intention is choice with commitment. Artificial Intelligence, 42.Google Scholar
  8. 8.
    Dastani, M., van Riemsdijk, M. B., & Meyer, J.-J. C. (2006). Goal types in agent programming. In Proceedings of the 17th European conference on artificial intelligence(ECAI’06).Google Scholar
  9. 9.
    Dastani, M., van Riemsdijk, M. B., & Meyer, J.-J. C. (2007). A grounded specification language for agent programs. In Proceedings of the sixth international joint conference on autonomous agents and multiagent systems (AAMAS’07). ACM Press.Google Scholar
  10. 10.
    Fisher M. (1994). A survey of concurrent METATEM—the language and its applications. In: Gabbay D.M., Ohlbach H.J. (eds). Temporal Logic—Proceedings of the first intemational conference (LNAI Vol. 827). Springer-Verlag, Heidelberg Germany, pp. 480–505Google Scholar
  11. 11.
    Fisher, M. (2005). METATEM: The story so far. In Proceedings of the third international workshop on programming multiagent systems (ProMAS-03), Vol. 3862 of lecture notes in artificial intelligence(pp. 3–22). Springer Verlag.Google Scholar
  12. 12.
    Giacomo G. D., Lesperance Y., Levesque H. J. (2000). Congolog, a concurrent programming language based on the situation calculus. Artificial Intelligence, 121(1–2): 109–169CrossRefMathSciNetGoogle Scholar
  13. 13.
    Hindriks K.V., de Boer F.S., van der Hoek W., Meyer J.-J.C. (1999). Agent programming in 3APL. Autonomous Agents and Multi-Agent Systems, 2(4): 357–401CrossRefGoogle Scholar
  14. 14.
    Hindriks, K. V., de Boer, F. S., van der Hoek, W., & Meyer, J.-J. C. (1998). A formal embedding of AgentSpeak(L) in 3APL. In: Advanced topics in artificial intelligence (LNAI 1502)(pp.155–166).Google Scholar
  15. 15.
    Hindriks, K. V., de Boer, F. S., van der Hoek, W., & Meyer, J.-J. C. (2001). Agent programming with declarative goals. In Proceedings of the 7th international workshop on intelligent agents VII. agent theories architectures and languages(pp. 228–243). Springer-Verlag.Google Scholar
  16. 16.
    Kakas, A., Mancarella, P., Sadri, F., Stathis, K., & Toni, F. (2004). The KGP model of agency. In The 16th European conference on artificial intelligence(p. 3337).Google Scholar
  17. 17.
    Leite, J. A., Alferes, J. J., & Pereira, L. M. (2001). Minerva—A dynamic logic programming agent architecture. In J.-J. Meyer & M. Tambe (Eds.), Pre-proceedings of the eighth international workshop on agent theories, architectures, and languages (ATAL-2001)(pp. 133–145).Google Scholar
  18. 18.
    Meyer J.-J. C., van der Hoek W., van Linder B. (1999). A logical approach to the dynamics of commitments. Arificial Intelligence, 113: 1–40MATHCrossRefGoogle Scholar
  19. 19.
    Pokahr, A., Braubach, L., & Lamersdorf, W. (2005). Jadex: A BDI reasoning engine. In Multi-agent programming: Languages, platforms and applications. Kluwer.Google Scholar
  20. 20.
    Rao A. S. (1996). AgentSpeak(L): BDI agents speak out in a logical computable language. In:van Hoe R.(eds). Proceedings of the seventh European workshop on modelling autonomous agents in a multi-agent world (MAAMAW’96). Eindhoven, The Netherlands,Google Scholar
  21. 21.
    Rao, A. S., & Georgeff, M. P. (1991). Modeling rational agents within a BDI-architecture. In J. Allen, R. Fikes & E. Sandewall (Eds.),Proceedings of the second international conference on principles of knowledge representation and reasoning (KR’91) (pp. 473–484). Morgan Kaufmann.Google Scholar
  22. 22.
    Ricci, A., Piunti, M., Acay, L. D., Bordini, R., Hnbner, J., & Dastani, M. (2008). Integrating heterogeneous agent-programming platforms within artifact-based environments. In Proceedings of the seventh international joint conference on autonomous agents and multiagent systems (AAMAS’08). ACM Press.Google Scholar
  23. 23.
    Sadri, F. (2005). Using the KGP model of agency to design applications. In CLIMA VI(Vol. 3900, pp. 165–185). Springer.Google Scholar
  24. 24.
    Sardina S., Giacomo G. D., Lespérance Y., Levesque H. J. (2004). On the semantics of deliberation in indigolog ù m theory to implementation. Annals of Mathematics and Artificial Intelligence, 41(2–4): 259–299MATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Thangarajah, J., Padgham, L., & Winikoff, M. (2003). Detecting & avoiding interference between goals in intelligent agents. In Proceedings of the 18th international joint conference on artificial intelligence.Google Scholar
  26. 26.
    Tinnemeier, N., Dastani, M., & Meyer, J.-J. C. (2007). Goal selection strategies for rational agents. In Proceedings of the LADS workshop (languages, methodologies and development tools for multi-agent systems).Google Scholar
  27. 27.
    Vergunst, N., Steunebrink, B., Dastani, M., Dignum, F., & Meyer, J. (2007). Towards programming multimodal dialogues. In Proceedings of the workshop on communication between human and artificial agents (CHAA’07).IEEE Computer Society Press.Google Scholar
  28. 28.
    Weyns, D., & Holvoet, T. (2004). A formal model for situated multi-agent systems. In B. Dunin-Kêplics & R. Verbrugge (Eds.), Fundamenta Informaticae, 63(2–3) 125–158.
  29. 29.
    Winikoff, M. (2005). JACKTM intelligent agents: An industrial strength platform. In Multi-agent programming: Languages, platforms and applications. Kluwer.Google Scholar

Copyright information

© The Author(s) 2008

Authors and Affiliations

  1. 1.Intelligent Systems GroupUtrecht UniversityUtrechtThe Netherlands

Personalised recommendations