Skip to main content
Log in

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

  • Published:
Autonomous Agents and Multi-Agent Systems Aims and scope Submit manuscript

Abstract

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bellifemine F.L., Caire G., Greenwood D. (2007) Developing multi-agent systems with JADE. Wiley, Chichester

    Book  Google Scholar 

  2. Ben-Ari M. (2006) Principles of concurrent and distributed programming. Addison-Wesley, Boston

    Google Scholar 

  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.

  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–256

    Article  Google Scholar 

  5. Bordini R., Hübner J., Wooldridge M. (2007) Programming multi-agent systems in agentspeak using Jason. Wiley-Interscience, Hoboken

    Book  MATH  Google Scholar 

  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.

  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.

  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.

  9. Ciancarini P. (1996) Coordination models and languages as software integrators. ACM Computing Surveys 28(2): 300–302

    Article  Google Scholar 

  10. Dastani M. (2008) 2APL: a practical agent programming language. Autonomous Agent and Multi-Agent Systems 16(3): 214–248

    Article  Google Scholar 

  11. Dijkstra E. W. (1971) Hierarchical ordering of sequential processes. Acta Informatica 1(2): 115–138

    Article  MathSciNet  Google Scholar 

  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.

  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.

  14. Gelernter D. (1985) Generative communication in Linda. ACM Transactions on Programming Languages and Systems 7(1): 80–112

    Article  MATH  Google Scholar 

  15. Gelernter D., Carriero N. (1992) Coordination languages and their significance. Communications of the ACM 35(2): 96

    Article  Google Scholar 

  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.

  17. Gutknecht, O., & Ferber, J. (2000). The MADKIT agent platform architecture. In Agents workshop on infrastructure for multi-agent systems (pp. 48–55).

  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.

  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. 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–395

    Article  Google Scholar 

  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–56

    Article  Google Scholar 

  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.

  23. Nardi, B. (eds) (1996) Context and consciousness: Activity theory and human-computer interaction. MIT Press, Cambridge

    Google Scholar 

  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.

  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.

  26. Omicini A., Denti E. (2001) From tuple spaces to tuple centres. Science of Computer Programming 41(3): 277–294

    Article  MATH  Google Scholar 

  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.

  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–456

    Article  Google Scholar 

  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.

  30. Omicini A., Zambonelli F. (1999) Coordination for Internet application development. Autonomous Agents and Multi-Agent Systems 2(3): 251–269

    Article  Google Scholar 

  31. Padgham L., Wiknikoff M. (2004) Developing intelligent agent systems: A practical guide. Wiley, Chichester

    Book  Google Scholar 

  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.

  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.

  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.

  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–47

    Article  Google Scholar 

  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, Berlin

    Google Scholar 

  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).

  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.

  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).

  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.

  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.

  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.

  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.

  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.

  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.

  46. Russell S., Norvig P. (2003) Artificial intelligence, a modern approach (2nd ed.). Prentice Hall, Englewood

    Google Scholar 

  47. Sandhu R. S., Coyne E. J., Feinstein H. L., Youman C. E. (1996) Role-based access control models. IEEE Computer 29(2): 38–47

    Google Scholar 

  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–629

    Article  Google Scholar 

  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–245

    Article  MATH  MathSciNet  Google Scholar 

  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–60

    Article  Google Scholar 

  51. Viroli M., Ricci A., Omicini A. (2006) Operating instructions for intelligent agent coordination. The Knowledge Engineering Review 21(1): 49–69

    Article  MathSciNet  Google Scholar 

  52. Weyns D., Holvoet T. (2004) A formal model for situated multi-agent systems. Fundamenta Informaticae 63(2–3): 125–158

    MATH  MathSciNet  Google Scholar 

  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.

  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–30

    Article  Google Scholar 

  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. 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.

  57. Wooldridge M. (2002) An introduction to multi-agent systems. Wiley, Chichester

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alessandro Ricci.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ricci, A., Piunti, M. & Viroli, M. Environment programming in multi-agent systems: an artifact-based perspective. Auton Agent Multi-Agent Syst 23, 158–192 (2011). https://doi.org/10.1007/s10458-010-9140-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10458-010-9140-7

Keywords

Navigation