Unravelling Multi-agent-Oriented Programming

  • Olivier Boissier
  • Rafael H. Bordini
  • Jomi F. Hübner
  • Alessandro Ricci


A fully-fledged programming paradigm based on ideas from multi-agent systems requires a lot more than early agent-oriented programming languages envisaged. More than interaction between autonomous entities, the social level of multi-agent systems as well as the shared environment where the agents are situated also need to be suitably designed. In fact, the abstractions used at each of those three levels are all equally important and interrelated. In this chapter, we discuss JaCaMo, a platform for multi-agent-oriented programming that covers abstractions such as: beliefs, goals, and plans at the agent level; groups, roles, functional schemes (i.e., social plans), and norms at the organizational level; and artifacts and workspaces at the environment level. The chapter also includes a simple multi-agent system example to illustrate the approach.


Abstraction JaCaMo Multi-agent programming Multi-agent systems Programming dimensions 



Thanks to Rafael Cauê Cardoso for proofreading and to Ismael Jabes da Silva Santos for suggesting the metal workshop example used in this chapter. Rafael Bordini and Jomi Hübner are grateful for the support given by CNPq grant numbers 307924/2009-2 and 307350/2009-6.


  1. 1.
    Agha G (1986) Actors: a model of concurrent computation in distributed systems. MIT Press, CambridgeGoogle Scholar
  2. 2.
    Beydoun G, Low G, Henderson-Sellers B, Mouratidis H, Gomez-Sanz JJ, Pavon J, Gonzalez-Perez C (2009) FAML: a generic metamodel for MAS development. IEEE Trans Softw Eng 35:841–863CrossRefGoogle Scholar
  3. 3.
    Boissier O, Bordini RH, Hübner JF, Ricci A, Santi A (2013) Multi-agent oriented programming with JaCaMo. Sci Comput Program 78(6):747–761. doi:http://dx.doi.org/10.1016/j.scico.2011.10.004. http://www.sciencedirect.com/science/article/pii/S016764231100181X
  4. 4.
    Bordini RH, Hübner JF, Vieira R (2005) Jason and the golden fleece of agent-oriented programming. In: Bordini RH, Dastani M, Dix J, Fallah-Seghrouchni AE (eds) Multi-agent programming, multiagent systems, artificial societies, and simulated organizations, vol 15. Springer, Berlin, pp 3–37Google Scholar
  5. 5.
    Bordini RH, Hübner JF, Wooldridge M (2007) Programming multi-agent systems in AgentSpeak using Jason. Wiley Series in Agent Technology. Wiley, New YorkCrossRefGoogle Scholar
  6. 6.
    Brito M, Hübner JF, Bordini RH (2013) Programming institutional facts in multi-agent systems. In: Aldewereld H, Sichman J (eds) Coordination, organizations, institutions, and norms in agent systems, vol VIII. Lecture notes in computer science, vol 7756. Springer, Berlin, pp 158–173. doi:10.1007/978-3-642-37756-3_10. http://dx.doi.org/10.1007/978-3-642-37756-3_10
  7. 7.
    Bromuri S, Stathis K (2008) Situating cognitive agents in GOLEM. In: Weyns D, Brueckner S, Demazeau Y (eds) Engineering environment-mediated multi-agent systems. Lecture notes in computer science, vol 5049. Springer, Berlin, pp 115–134CrossRefGoogle Scholar
  8. 8.
    Dastani M, Grossi D, Meyer JJ, Tinnemeier N (2008) Normative multi-agent programs and their logics. In: Proceedings of the KRAMAS-08Google Scholar
  9. 9.
    Dignum V, Sichman J (2010) Agent organizations; models, architectures and applications. Springer, BerlinGoogle Scholar
  10. 10.
    Harel D, Marron A, Weiss G (2012) Behavioral programming. Commun ACM 55(7):90–100. doi:10.1145/2209249.2209270. http://doi.acm.org/10.1145/2209249.2209270
  11. 11.
    Hübner JF, Sichman JS, Boissier O (2007) Developing organised multiagent systems using the MOISE. IJAOSE 1(3/4):370–395CrossRefGoogle Scholar
  12. 12.
    Hübner JF, Boissier O, Kitio R, Ricci A (2010) Instrumenting multi-agent organisations with organisational artifacts and agents. Auton Agent Multi Agent Syst 20(3):369–400CrossRefGoogle Scholar
  13. 13.
    Padgham L, Winikoff M (2004) Developing intelligent agent systems: a practical guide. Wiley, New YorkCrossRefGoogle Scholar
  14. 14.
    Ricci A, Piunti M, Viroli M, Omicini A (2009) Environment programming in CArtAgO. In: Bordini RH, Dastani M, Dix J, El Fallah Seghrouchni A (eds) Multi-agent programming, Chap 8. Springer, Berlin, pp 259–288. doi:10.1007/978-0-387-89299-3_8. http://www.springerlink.com/content/p36v9l7446j75828/
  15. 15.
    Ricci A, Piunti M, Viroli M (2011) Environment programming in multi-agent systems: an artifact-based perspective. Auton Agent Multi Agent Syst 23(2):158–192CrossRefGoogle Scholar
  16. 16.
    Sterling L, Taveter K (2009) The art of agent-oriented modeling. The MIT Press, CambridgeGoogle Scholar
  17. 17.
    Stratulat T, Ferber J, Tranier J (2009) MASQ: towards an integral approach to interaction. In: AAMAS (2009), pp 813–820Google Scholar
  18. 18.
    Urovi V, Bromuri S, Stathis K, Artikis A (2010) Initial steps towards run-time support for norm-governed systems. In: Coordination, organizations, institutions, and norms in agent systems, vol VI. Lecture notes in computer science, vol 6541. Springer, Berlin, pp 268–284Google Scholar
  19. 19.
    Vieira R, Moreira ÁF, Wooldridge M, Bordini RH (2007) On the formal semantics of speech-act based communication in an agent-oriented programming language. J Artif Intell Res (JAIR) 29:221–267MATHGoogle Scholar
  20. 20.
    Weyns D, Parunak HVD (eds) (2007) Special issue on environments for multi-agent systems. Autonomous agents and multi-agent systems, vol 14(1). Springer, The NetherlandsGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Olivier Boissier
    • 1
  • Rafael H. Bordini
    • 2
  • Jomi F. Hübner
    • 3
  • Alessandro Ricci
    • 4
  1. 1.EMSESt. EtienneFrance
  2. 2.FACIN–PUCRSPorto AlegreBrazil
  3. 3.DAS–UFSCFlorianópolisBrazil
  4. 4.University of BolognaCesenaItaly

Personalised recommendations