Skip to main content

A Survey of Multi-agent Programming Languages and Frameworks

  • Chapter
  • First Online:
Agent-Oriented Software Engineering

Abstract

This chapter surveys the multi-agent programming research field by presenting and discussing some typical multi-agent programming languages and frameworks. It provides an overview of the concepts and abstractions that are used to describe multi-agent systems. It is argued that the existing programming languages and frameworks are designed to support the implementation of high-level abstractions such as individual agents, the organization that controls and regulates the behavior of individual agents, or the environment with which individual agents interact. The distinction between agent, organization, and environment is used to structure the presentation of the programming languages and frameworks.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    In contrast to direct communication by means of send and receive messages, a shared environment can be used to communicate indirectly by reading and writing information from/to it.

References

  1. Ågotnes T, van der Hoek W, Wooldridge M (2008) Robust normative systems. In: Padgham P, Muller P (eds) Proceedings of the seventh international conference on autonomous agents and multiagent systems (AAMAS 2008). IFAMAAS/ACM DL, Estoril, pp 747–754

    Google Scholar 

  2. Arbab F, Astefanoaei L, de Boer F, Dastani M, Meyer JJ, Tinnermeier N (2009) Reo connectors as coordination artifacts in 2APL systems. In: Proceedings of the 11th pacific rim international conference on multi-agents (PRIMA 2008). Lecture notes in computer science, vol 5357. Springer, New York, pp 42–53

    Google Scholar 

  3. Astefanoaei L, Dastani M, Meyer JJC, Boer F (2009) On the semantics and verification of normative multi-agent systems. Int J Universal Comput Sci 15(13):2629–2652

    Google Scholar 

  4. Baldoni M, Boella G, Dorni M, Grenna R, Mugnaini A (2008) PowerJADE: organizations and roles as primitives in the JADE framework. In: WOA 2008: Dagli oggetti agli agenti, Evoluzione dell’agent development: metodologie, tool, piattaforme e linguaggi, pp 84–92

    Google Scholar 

  5. Baldoni M, Boella G, Torre LVD (2005) Roles as a coordination construct: introducing powerJava. In: Proceedings of 1st international workshop on methods and tools for coordinating concurrent, distributed and mobile systems, Namur, 23 April 2005. Electron Notes Theor Comp Sci 150(1):9–29

    Article  Google Scholar 

  6. Behrens T, Dix J, Hindriks K, Dastani M, Bordini R, Hubner J, Pokahr A, Braubach L (2012) An interface for agent-environment interaction. In: Proceedings of the eighth international workshop on programming multi-agent systems (ProMAS’10). Springer, Berlin, pp 139–158

    Google Scholar 

  7. Bellifemine F, Bergenti F, Caire G, Poggi A (2005) JADE - a java agent development framework. In: Multi-agent programming: languages, platforms and applications. Springer, Berlin, pp 125–148

    Google Scholar 

  8. Bergenti F, Gleizes MP, Zambonelli F (eds) (2004) Methodologies and software engineering for agent systems. In: Multiagent systems, artificial societies, and simulated organizations, vol 11. Kluwer Academic, Dordrecht

    Google Scholar 

  9. Boella G, van der Torre L (2008) Substantive and procedural norms in normative multiagent systems. J Appl Logic 6:152–171

    Article  MATH  Google Scholar 

  10. Bordini RH, Dastani M, Dix J, Fallah-Seghrouchni AE (eds) (2005) Multi-agent programming: languages, platforms and applications, multiagent systems, artificial societies, and simulated organizations, vol 15. Springer, Berlin

    Google Scholar 

  11. Bordini RH, Dastani M, Dix J, Fallah-Seghrouchni AE (eds) (2009) Multi-agent programming: languages, tools and applications. Springer, Heidelberg

    Google Scholar 

  12. Bordini R, Hübner J, Wooldridge M (2007) Programming multi-agent systems in AgentSpeak using Jason. Wiley series in agent technology. Wiley, Hoboken

    Book  Google Scholar 

  13. Bracciali A, Demetriou N, Endriss U, Kakas A, Lu W, Sadri PMF, Stathis K, Terreni G, Toni F (2004) The KGP model of agency for global computing: computational model and prototype implementation. In: Global computing. Lecture notes in computer science, vol 3267. Springer, New York, pp 340–367

    Google Scholar 

  14. Bresciani P, Giorgini P, Giunchiglia F, Mylopoulos J, Perini A (2003) TROPOS: an agent-oriented software development methodology. Int J Auton Agents Multi-Agent Syst 8(3):203–236

    Article  Google Scholar 

  15. Cohen P, Levesque H (1990) Intention is choice with commitment. Artif Intell 42:213–261

    Article  MATH  MathSciNet  Google Scholar 

  16. Dastani M (2008) 2APL: a practical agent programming language. Int J Auton Agents Multi-Agent Syst 16(3):214–248

    Article  Google Scholar 

  17. Dastani M, Gomez-Sanz J (2004). AgentLink III technical forum group, programming multiagent systems. http://people.cs.uu.nl/mehdi/al3promas.html

  18. Dastani M, Gomez-Sanz J (2006) Programming multi-agent systems. Knowl Eng Rev 20(2):151–164

    Article  Google Scholar 

  19. Dastani M, Grossi D, Meyer JJC, Tinnemeier N (2009) Normative multi-agent programs and their logics. In: Post proceedings of the international workshop on knowledge representation for agents and multi-agent systems (KRAMAS’08). Lecture notes in artificial intelligence, vol 5605. Springer, Berlin, pp 16–31

    Google Scholar 

  20. Dastani M, van Riemsdijk B, Hulstijn J, Dignum F, Meyer JJC (2004) Enacting and deacting roles in agent programming. In: Proceedings of the agent-oriented software engineering (AOSE’04), pp 189–204

    Google Scholar 

  21. Dastani M, van Riemsdijk M, Meyer JJC (2005) Programming multi-agent systems in 3APL. In: Multi-agent programming: languages, platforms and applications. Springer, Berlin, pp 39–67

    Google Scholar 

  22. Dastani M, van der Torre L, Yorke-Smith N (2013) Monitoring interaction in organisations. In: Post-Proceedings of the fourteenth international workshop on coordination, organization, institutions and norms (COIN’12), Springer, Berlin, pp 17–34

    Google Scholar 

  23. Dignum V (2004) A model for organizational interaction. Ph.D. thesis, Utrecht University, SIKS

    Google Scholar 

  24. Dix J, Zhang Y (2005) IMPACT: a multi-agent framework with declarative semantics. In: Multi-agent programming: languages, platforms and applications. Springer, Berlin, pp 69–94

    Google Scholar 

  25. Esteva M, de la Cruz D, Sierra C (2002) ISLANDER: an electronic institutions editor. In: Proceedings of the first international joint conference on autonomous agents and multiagent systems (AAMAS 2002), Bologna, pp 1045–1052

    Google Scholar 

  26. Esteva M, Rodríguez-Aguilar J, Rosell B, Arcos J (2004) AMELI: an agent-based middleware for electronic institutions. In: Proceedings of the third international joint conference on autonomous agents and multiagent systems (AAMAS 2004), New York, pp 236–243

    Google Scholar 

  27. Fisher M (2006) METATEM: the story so far. In: Proceedings of the third international workshop on programming multi-agent systems (ProMAS’05). Lecture notes in artificial intelligence, vol 3862. Springer, Berlin, pp 3–22

    Google Scholar 

  28. Garcia-Camino A, Noriega P, Rodriguez-Aguilar JA (2005) Implementing norms in electronic institutions. In: Proceedings of the fourth international joint conference on Autonomous Agents and MultiAgent Systems (AAMAS’05), New York, pp 667–673

    Google Scholar 

  29. Giacomo GD, Lesperance Y, Levesque H (2000) Congolog, a concurrent programming language based on the situation calculus. Artif Intell 121(1–2):109–169

    Article  MATH  Google Scholar 

  30. Gomez-Sanz J, Pavon J (2003) Agent oriented software engineering with ingenias. In: CEEMAS’03. Lecture notes in computer science, vol 2691. Springer, Berlin, pp 394–403

    Google Scholar 

  31. Grossi D (2007) Designing invisible handcuffs. Ph.D. thesis, Utrecht University, SIKS

    Google Scholar 

  32. Hindriks K (2009) Programming rational agents in GOAL. In: Multi-agent programming: languages and tools and applications. Springer, New York, pp 119–157

    Google Scholar 

  33. Hindriks K, Boer FD, der Hoek WV, Meyer JJ (1999) Agent programming in 3APL. Int J Auton Agents Multi-Agent Syst 2(4):357–401

    Article  Google Scholar 

  34. Hübner J, Boissier O, Kitio R, Ricci A (2010) Instrumenting multi-agent organisations with organisational artifacts and agents: giving the organisational power back to the agents. Int J Auton Agents Multi-Agent Syst 20:369–400

    Article  Google Scholar 

  35. Hübner J, Sichman J, Boissier O (2006) \(\mathcal{S}-\mathcal{M}\) OISE+: a middleware for developing organised multi-agent systems. In: Proceedings of the international workshop on coordination, organizations, institutions, and norms in multi-agent systems. Lecture notes in computer science, vol 3913. Springer, Berlin, pp 64–78

    Google Scholar 

  36. Hübner J, Sichman J, Boissier O (2007) Developing organised multiagent systems using the \(\mathcal{M}\) OISE+ model: programming issues at the system and agent levels. Int J Agent-Oriented Software Eng 1(3/4):370–395

    Article  Google Scholar 

  37. Jones AJI, Sergot M (1993) On the characterization of law and computer systems. In: Meyer JJC, Wieringa R (eds) Deontic logic in computer science: normative system specification. Wiley, Chichester, pp 275–307

    Google Scholar 

  38. Kakas A, Mancarella P, Sadri F, Stathis K, Toni F (2004) The KGP model of agency. In: The 16th European Conference on Artificial Intelligence (ECAI’04), pp 33–37

    Google Scholar 

  39. Leite J, Alferes J, Pereira L (2001) Minerva: a dynamic logic programming agent architecture. In: Meyer JJ, Tambe M (eds) Pre-proceedings of the eighth international workshop on Agent Theories, Architectures, and Languages (ATAL-2001), pp 133–145

    Google Scholar 

  40. Müller J (1996) The design of autonomous agents: a layered approach. Lecture notes in artificial intelligence, vol 1177. Springer, New York

    Google Scholar 

  41. Nair R, Tambe M (2005) Hybrid BDI-POMDP framework for multiagent teaming. J Artif Intell Res 23:367–420

    MATH  Google Scholar 

  42. Omicini A (2007) Formal ReSpecT in the A&A perspective. Electronic Notes Theor Comput Sci 175(2):97–117

    Article  Google Scholar 

  43. Padgham L, Winikoff M (2003) Prometheus: a methodology for developing intelligent agents. In: AOSE’02. Lecture notes in artificial intelligence, vol 2585. Springer, Berlin, pp 174–185

    Google Scholar 

  44. Parunak HVD, Weyns D (2007) Guest editors’ introduction, special issue on environments for multi-agent systems. Int J Auton Agents Multi-Agent Syst 14(1):1–4

    Article  Google Scholar 

  45. Pokahr A, Braubach L, Lamersdorf W (2005) Jadex: a BDI reasoning engine. In: Multi-agent programming: languages, platforms and applications. Springer, Berlin, pp 149–174

    Google Scholar 

  46. Prakken H, Sergot M (1996) Contrary-to-duty obligations. Studia Logica 57:91–115

    Article  MATH  MathSciNet  Google Scholar 

  47. Rao A (1996) AgentSpeak(L): BDI agents speak out in a logical computable language. In: van Hoe R (ed) Proceedings of the seventh European workshop on Modelling Autonomous Agents in a Multi-Agent World (MAAMAW’96), Eindhoven, pp 42–55

    Google Scholar 

  48. Rao A, Georgeff M (1991) Modeling rational agents within a BDI-architecture. In: Allen J, Fikes R, Sandewall E (eds) Proceedings of the second international conference on principles of knowledge representation and reasoning (KR’91), Morgan Kaufmann, San Francisco, pp 473–484

    Google Scholar 

  49. Ricci A, Viroli M, Omicini A (2006) Cartago: a framework for prototyping artifact-based environments in mas. In: E4MAS, pp 67–86

    Google Scholar 

  50. Sadri F (2006) Using the KGP model of agency to design applications. In: Proceedings of the 6th international conference on Computational Logic in Multi-Agent Systems (CLIMA’05), vol 3900. Springer, Berlin, pp 165–185

    Google Scholar 

  51. Sardina S, Giacomo GD, Lespérance Y, Levesque H (2004) On the semantics of deliberation in IndiGolog - from theory to implementation. Ann Math Artif Intell 41(2–4):259–299

    Article  MATH  MathSciNet  Google Scholar 

  52. Seghrouchni AEF, Suna A (2005) CLAIM and SyMPA: a programming environment for intelligent and mobile agents. In: Multi-agent programming: languages, platforms and applications. Springer, Berlin, pp 95–122

    Google Scholar 

  53. Shoham Y (1993) Agent-oriented programming. Artif Intell 60:51–92

    Article  MathSciNet  Google Scholar 

  54. Silva VT (2008) From the specification to the implementation of norms: an automatic approach to generate rules from norms to govern the behavior of agents. Int J Auton Agents Multiagent Syst 17 (1):113–155

    Article  Google Scholar 

  55. Tasaki M, Yabu Y, Iwanari Y, Yokoo M, Tambe M, Marecki J, Varakantham P (2008) Introducing communication in Dis-POMDPs with locality of interaction. International conference on web intelligence and intelligent agent technology, IEEE/WIC/ACM, vol 2, pp 169–175

    Google Scholar 

  56. Tinnemeier N, Dastani M, Meyer JJC (2009) Roles and norms for programming agent organizations. In: Decker S, Sichman J, Sierra C, Castelfranchi C (eds) Proceedings of the eight international conference on autonomous agents and multiagent systems (AAMAS’09). IFAMAAS/ACM DL, pp 121–128

    Google Scholar 

  57. Tinnemeier N, Dastani M, Meyer JJC (2010) Programming norm change. In: van der Hoek W, Kaminka GA, Lespérance Y, Luck M, Sen S (eds) Proceedings of the ninth international conference on autonomous agents and multiagent systems (AAMAS’10). IFAAMAS, Richland, pp 957–964

    Google Scholar 

  58. Tinnemeier N, Dastani M, Meyer JJC, van der Torre L (2009) Programming normative artifacts with declarative obligations and prohibitions. In: Proceedings of IEEE/WIC/ACM international joint conference on web intelligence and intelligent agent technology. IEEE Computer Society, Los Alamitos, pp 145–152

    Google Scholar 

  59. Weyns D, Parunak HVD, Michel F, Holvoet T, Ferber J (eds) (2005) Environments for multiagent systems state-of-the-art and research challenges. Lecture notes in computer science, vol 3374. Springer, New York

    Google Scholar 

  60. Winikoff M (2005) JACKTM intelligent agents: an industrial strength platform. In: Multi-agent programming: languages, platforms and applications. Springer, Berlin, pp 175–196

    Google Scholar 

  61. Woolridge M (2002) Introduction to multiagent systems. Wiley, New york

    Google Scholar 

  62. Zambonelli F, Jennings N, Wooldridge M (2003) Developing multiagent systems: the Gaia methodology. ACM T Softw Eng Meth 12(3):317–370

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mehdi Dastani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Dastani, M. (2014). A Survey of Multi-agent Programming Languages and Frameworks. In: Shehory, O., Sturm, A. (eds) Agent-Oriented Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-54432-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-54432-3_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-54431-6

  • Online ISBN: 978-3-642-54432-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics