Autonomous Agents and Multi-Agent Systems

, Volume 23, Issue 2, pp 158–192

Environment programming in multi-agent systems: an artifact-based perspective



This article introduces the notion of environment programming in software multi-agent systems (MAS) and describes a concrete computational and programming model based on the artifact abstraction and implemented by the CArtAgO framework. Environment programming accounts for conceiving the computational environment where agents are situated as a first-class abstraction for programming MAS, namely a part of the system that can be designed and programmed—aside to agents—to encapsulate functionalities that will be exploited by agents at runtime. From a programming and software engineering perspective, this is meant to improve the modularity, extensibility and reusability of the MAS as a software system. By adopting the A&A meta-model, we consider environments populated by a dynamic set of computational entities called artifacts, collected in workspaces. From the agent viewpoint, artifacts are first-class entities of their environment, representing resources and tools that they can dynamically instantiate, share and use to support individual and collective activities. From the MAS programmer viewpoint, artifacts are a first-class abstraction to shape and program functional environments that agents will exploit at runtime, including functionalities that concern agent interaction, coordination, organisation, and the interaction with the external environment. The article includes a description of the main concepts concerning artifact-based environments and related CArtAgO technology, as well as an overview of their application in MAS programming.


Environment programming Multi-agent systems programming Artifacts CArtAgO Agent programming languages Jason 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bellifemine F.L., Caire G., Greenwood D. (2007) Developing multi-agent systems with JADE. Wiley, ChichesterCrossRefGoogle Scholar
  2. 2.
    Ben-Ari M. (2006) Principles of concurrent and distributed programming. Addison-Wesley, BostonGoogle Scholar
  3. 3.
    Boissier, O., Hübner, J. F., & Sichman, J. S. (2007). Organization oriented programming: From closed to open organizations. In G. O’Hare, O. Dikenelli, & A. Ricci (Eds.), Engineering societies in the agents world VII (ESAW 06), volume 4457 of LNCS (pp. 86–105). Berlin/Heidelberg: Springer.Google Scholar
  4. 4.
    Bordini R. H., Fisher M., Visser W., Wooldridge M. (2006) Verifying multi-agent programs by model checking. Autonomous Agents and Multi-Agent Systems 12(2): 239–256CrossRefGoogle Scholar
  5. 5.
    Bordini R., Hübner J., Wooldridge M. (2007) Programming multi-agent systems in agentspeak using Jason. Wiley-Interscience, HobokenCrossRefMATHGoogle Scholar
  6. 6.
    Braubach, L., Pokahr, A., & Lamersdorf, W. (2005). Extending the capability concept for flexible BDI agent modularization. In R. H. Bordini, M. Dastani, J. Dix, & A. El Fallah Seghrouchni (Eds.), Programming multi-agent systems, volume 3862 of LNAI (pp. 139–155). Berlin/Heidelberg: Springer.Google Scholar
  7. 7.
    Bromuri, S., & Stathis, K. (2008). Situating cognitive agents in GOLEM. In D. Weyns, S. Brueckner, & Y. Demazeau (Eds.), Engineering environment-mediated multi-agent systems, volume 5049 of LNCS (pp. 115–134). Berlin/Heidelberg: Springer.Google Scholar
  8. 8.
    Busetta, P., Howden, N., Rönnquist, R., & Hodgson, A. (2000). Structuring BDI agents in functional clusters. In N. Jennings & Y. Lespèrance (Eds.), Intelligent agents VI, volume 1757 of LNAI (pp. 277–289). Berlin/Heidelberg: Springer.Google Scholar
  9. 9.
    Ciancarini P. (1996) Coordination models and languages as software integrators. ACM Computing Surveys 28(2): 300–302CrossRefGoogle Scholar
  10. 10.
    Dastani M. (2008) 2APL: a practical agent programming language. Autonomous Agent and Multi-Agent Systems 16(3): 214–248CrossRefGoogle Scholar
  11. 11.
    Dijkstra E. W. (1971) Hierarchical ordering of sequential processes. Acta Informatica 1(2): 115–138CrossRefMathSciNetGoogle Scholar
  12. 12.
    Esteva, M., Rodríguez-Aguilar, J. A., Rosell, B., & Ameli, J. L. (2004). An agent-based middleware for electronic institutions. In N. R. Jennings, C. Sierra, L. Sonenberg, & M. Tambe (Eds.), Proceedings of the 3rd international joint conference on autonomous agents and multi-agent systems (AAMAS’04), New York, USA (pp. 236–243). ACM.Google Scholar
  13. 13.
    Ferber, J., & Müller, J.-P. (1996). Influences and reaction: A model of situated multi-agent systems. In Proceedings of the 2nd international conference on multi-agent systems (ICMAS’96). AAAI Press.Google Scholar
  14. 14.
    Gelernter D. (1985) Generative communication in Linda. ACM Transactions on Programming Languages and Systems 7(1): 80–112CrossRefMATHGoogle Scholar
  15. 15.
    Gelernter D., Carriero N. (1992) Coordination languages and their significance. Communications of the ACM 35(2): 96CrossRefGoogle Scholar
  16. 16.
    Greenwood, D., Lyell, M., Mallya, A., & Suguri, H. (2007). The IEEE FIPA approach to integrating software agents and web services. In Proceedings of the 6th international joint conference on autonomous agents and multi-agent systems (AAMAS’07), Honolulu, Hawaii (pp. 1–7). ACM.Google Scholar
  17. 17.
    Gutknecht, O., & Ferber, J. (2000). The MADKIT agent platform architecture. In Agents workshop on infrastructure for multi-agent systems (pp. 48–55).Google Scholar
  18. 18.
    Hindriks, K. V. (2009). Programming rational agents in GOAL. In R. H. Bordini, M. Dastani, J. Dix, & A. El Fallah Seghrouchni (Eds.), Multi-agent programming: Languages, platforms and applications (Vol. 2, pp. 3–37). Berlin/Heidelberg: Springer.Google Scholar
  19. 19.
    Hübner, J. F., Boissier, O., Kitio, R., & Ricci, A. (2009). Instrumenting multi-agent organisations with organisational artifacts and agents: “Giving the organisational power back to the agents”. Autonomous Agents and Multi-Agent Systems. doi:10.1007/s10458-009-9084-y.
  20. 20.
    Hübner J. F., Sichman J. S., Boissier O. (2007) Developing organised multi-agent systems using the MOISE+ model: Programming issues at the system and agent levels. International Journal of Agent-Oriented Software Engineering 1(3/4): 370–395CrossRefGoogle Scholar
  21. 21.
    Mamei M., Zambonelli F. (2009) Programming pervasive and mobile computing applications: The TOTA approach. ACM Transactions on Software Engineering and Methodology 18(4): 1–56CrossRefGoogle Scholar
  22. 22.
    Molesini, A., Omicini, A., Denti, E., & Ricci, A. (2005). SODA: A roadmap to artefacts. In O. Dikenelli, M.-P. Gleizes, & A. Ricci (Eds.), Engineering societies in the agents world, volume 3963 of LNCS (pp. 49–62). Berlin/Heidelberg: Springer.Google Scholar
  23. 23.
    Nardi, B. (eds) (1996) Context and consciousness: Activity theory and human-computer interaction. MIT Press, CambridgeGoogle Scholar
  24. 24.
    Noriega, P., & Sierra, C. (2002). Electronic institutions: Future trends and challenges. In M. Klusch, S. Ossowski, & O. Shehory (Eds.), Cooperative information agents VI, volume 2446 of LNAI. Berlin/Heidelberg: Springer.Google Scholar
  25. 25.
    Odell, J., Parunak, H. V. D., Fleischer, M., & Brueckner, S. (2003). Modeling agents and their environment. In Agent-oriented software engineering III, volume 2585 of LNCS (pp. 16–31). Berlin/Heidelberg: Springer.Google Scholar
  26. 26.
    Omicini A., Denti E. (2001) From tuple spaces to tuple centres. Science of Computer Programming 41(3): 277–294CrossRefMATHGoogle Scholar
  27. 27.
    Omicini, A., & Ossowski, S. (2003). Objective versus subjective coordination in the engineering of agent systems. In M. Klusch, S. Bergamaschi, P. Edwards, & P. Petta (Eds.), Intelligent information agents: An agentlink perspective, volume 2586 of LNAI, (pp. 179–202). Berlin/Heidelberg: Springer.Google Scholar
  28. 28.
    Omicini A., Ricci A., Viroli M. (2008) Artifacts in the A&A meta-model for multi-agent systems. Autonomous Agents and Multi-Agent Systems 17(3): 432–456CrossRefGoogle Scholar
  29. 29.
    Omicini, A., Ricci, A., Viroli, M., Castelfranchi, C., & Tummolini, L. (2004). Coordination artifacts: Environment-based coordination for intelligent agents. In Proceedings of the 3rd international joint conference on autonomous agents and multi-agent systems (AAMAS’04), New York, USA, 19–23 July 2004 (Vol. 1, pp. 286–293). ACM.Google Scholar
  30. 30.
    Omicini A., Zambonelli F. (1999) Coordination for Internet application development. Autonomous Agents and Multi-Agent Systems 2(3): 251–269CrossRefGoogle Scholar
  31. 31.
    Padgham L., Wiknikoff M. (2004) Developing intelligent agent systems: A practical guide. Wiley, ChichesterCrossRefGoogle Scholar
  32. 32.
    Padgham, L., & Winikoff, M. (2003). Prometheus: A methodology for developing intelligent agents. In F. Giunchiglia, J. Odell, & G. Weiss (Eds.), Agent-oriented software engineering III, volume 2585 of LNCS (pp. 174–185). Berlin/Heidelberg: Springer.Google Scholar
  33. 33.
    Parunak, H. V. D., Brueckner, S., & Sauter, J. A. (2002). Digital pheromone mechanisms for coordination of unmanned vehicles. In Proceedings of the 1st international joint conference on autonomous agents and multi-agent systems (AAMAS’02), Bologna, Italy (pp. 449–450). ACM.Google Scholar
  34. 34.
    Piunti, M., Ricci, A., Braubach, L., & Pokahr, A. (2008). Goal-directed interactions in artifact-based mas: Jadex agents playing in CARTAGO environments. In Proceedings of the 2008 IEEE/WIC/ACM international conference on Web intelligence and intelligent agent technology (IAT’08) (Vol. 2). IEEE Computer Society.Google Scholar
  35. 35.
    Platon E., Mamei M., Sabouret N., Honiden S., Parunak H. V. (2007) Mechanisms for environments in multi-agent systems: Survey and opportunities. Autonomous Agents and Multi-Agent Systems 14(1): 31–47CrossRefGoogle Scholar
  36. 36.
    Pokahr A., Braubach L., Lamersdorf W. (2005) Jadex: A BDI reasoning engine. In: Bordini R., Dastani M., Dix J., Seghrouchni A.E.F. (eds) Multi-agent programming: Languages, platforms and applications. Springer, BerlinGoogle Scholar
  37. 37.
    Ricci, A., Denti, E., & Piunti, M. (2010). A platform for developing SOA/WS applications as open and heterogeneous multi-agent systems. Multiagent and Grid Systems International Journal (MAGS), 6(2). Special Issue about “Agents, Web Services and Ontologies: Integrated Methodologies” (to appear).Google Scholar
  38. 38.
    Ricci, A., Omicini, A., & Denti, E. (2003). Activity theory as a framework for MAS coordination. In P. Petta, R. Tolksdorf, & F. Zambonelli (Eds.), Engineering societies in the agents world III, volume 2577 of LNCS (pp. 96–110). Berlin/Heidelberg: Springer.Google Scholar
  39. 39.
    Ricci, A., Piunti, M., Acay, L. D., Bordini, R., Hübner, J., & Dastani, M. (2008). Integrating artifact-based environments with heterogeneous agent-programming platforms. In Proceedings of 7th international conference on agents and multi agents systems (AAMAS08).Google Scholar
  40. 40.
    Ricci, A., Piunti, M., & Viroli, M. (2010). Externalisation and internalization: A new perspective on agent modularisation in multi-agent system programming. In M. Dastani, A. El Fallah-Seghrouchni, J. Leite, & P. Torroni (Eds.), Languages, methodologies and development tools for multi-agent systems, volume 6039 of LNAI (pp. 36–55). Berlin/Heidelberg: Springer.Google Scholar
  41. 41.
    Ricci, A., Piunti, M., Viroli, M., & Omicini, A. (2009). Environment programming in CArtAgO. In R. H. Bordini, M. Dastani, J. Dix, & A. El Fallah-Seghrouchni (Eds.), Multi-agent programming: Languages, platforms and applications, (Vol. 2, pp. 259–288). Berlin/Heidelberg: Springer.Google Scholar
  42. 42.
    Ricci, A., Viroli, M., & Omicini, A. (2006) Construenda est CArtAgO: Toward an infrastructure for artifacts in MAS. In R. Trappl (Ed.), Cybernetics and systems 2006, Vienna, Austria, 18–21 April 2006 (Vol. 2, pp. 569–574). Austrian Society for Cybernetic Studies. 18th European Meeting on Cybernetics and Systems Research (EMCSR 2006), 5th International Symposium “From Agent Theory to Theory Implementation” (AT2AI-5). Proceedings.Google Scholar
  43. 43.
    Ricci, A., Viroli, M., & Omicini, A. (2007). The A&A programming model & technology for developing agent environments in MAS. In M. Dastani, A. El Fallah Seghrouchni, A. Ricci, & M. Winikoff (Eds.), Programming multi-agent systems, volume 4908 of LNAI (pp. 91–109). Berlin/Heidelberg: Springer.Google Scholar
  44. 44.
    Ricci, A., Viroli, M., & Omicini, A. (2007). CArtAgO: A framework for prototyping artifact-based environments in MAS. In D. Weyns, H. V. D. Parunak, & F. Michel (Eds.), Environments for multiagent systems III, volume 4389 of LNAI (pp. 67–86). Berlin/Heidelberg: Springer.Google Scholar
  45. 45.
    Ricci, A., Viroli, M., & Piunti, M. (2009). Formalising the environment in mas programming: A formal model for artifact-based environments. In L. Braubach, J.-P. Briot, & J. Thangarajah (Eds.), Programming multi-agent systems, volume 5919 of LNAI. Berlin/Heidelberg: Springer.Google Scholar
  46. 46.
    Russell S., Norvig P. (2003) Artificial intelligence, a modern approach (2nd ed.). Prentice Hall, EnglewoodGoogle Scholar
  47. 47.
    Sandhu R. S., Coyne E. J., Feinstein H. L., Youman C. E. (1996) Role-based access control models. IEEE Computer 29(2): 38–47Google Scholar
  48. 48.
    Valckenaers P., Hadeli K., Germain B.S., Verstraete P., Brussel H.V. (2007) MAS coordination and control based on stigmergy. Computer Industry 58(7): 621–629CrossRefGoogle Scholar
  49. 49.
    Viroli M., Denti E., Ricci A. (2007) Engineering a BPEL orchestration engine as a multi-agent system. Science of Computer Programming 66(3): 226–245CrossRefMATHMathSciNetGoogle Scholar
  50. 50.
    Viroli M., Holvoet T., Ricci A., Schelfthout K., Zambonelli F. (2007) Infrastructures for the environment of multiagent systems. Autonomous Agents and Multi-Agent Systems 14(1): 49–60CrossRefGoogle Scholar
  51. 51.
    Viroli M., Ricci A., Omicini A. (2006) Operating instructions for intelligent agent coordination. The Knowledge Engineering Review 21(1): 49–69CrossRefMathSciNetGoogle Scholar
  52. 52.
    Weyns D., Holvoet T. (2004) A formal model for situated multi-agent systems. Fundamenta Informaticae 63(2–3): 125–158MATHMathSciNetGoogle Scholar
  53. 53.
    Weyns, D., & Holvoet, T. (2007). A reference architecture for situated multiagent systems. In Environments for multiagent systems III, volume 4389 of LNCS (pp. 1–40). Berlin/Heidelberg: Springer.Google Scholar
  54. 54.
    Weyns D., Omicini A., Odell J. J. (2007) Environment as a first-class abstraction in multi-agent systems. Autonomous Agents and Multi-Agent Systems 14(1): 5–30CrossRefGoogle Scholar
  55. 55.
    Weyns, D., & Parunak, H. V. D. (Eds.). (2007). Special issue on environments for multi-agent systems. Journal of Autonomous Agents and Multi-Agent Systems, 14(1), 1–116.Google Scholar
  56. 56.
    Weyns, D., Parunak, H. V. D., Michel, F., Holvoet, T., & Ferber, J. (2005). Environments for multiagent systems: State-of-the-art and research challenges. In D. Weyns, H. V. D. Parunak, F. Michel, T. Holvoet, & J. Ferber (Eds.), Environment for multi-agent systems, volume 3374 (pp. 1–47). Berlin/Heidelberg: Springer.Google Scholar
  57. 57.
    Wooldridge M. (2002) An introduction to multi-agent systems. Wiley, ChichesterGoogle Scholar

Copyright information

© The Author(s) 2010

Authors and Affiliations

  • Alessandro Ricci
    • 1
  • Michele Piunti
    • 1
  • Mirko Viroli
    • 1
  1. 1.DEISAlma Mater Studiorum—Università di BolognaCesenaItaly

Personalised recommendations