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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Bellifemine F.L., Caire G., Greenwood D. (2007) Developing multi-agent systems with JADE. Wiley, Chichester
Ben-Ari M. (2006) Principles of concurrent and distributed programming. Addison-Wesley, Boston
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.
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
Bordini R., Hübner J., Wooldridge M. (2007) Programming multi-agent systems in agentspeak using Jason. Wiley-Interscience, Hoboken
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.
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.
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.
Ciancarini P. (1996) Coordination models and languages as software integrators. ACM Computing Surveys 28(2): 300–302
Dastani M. (2008) 2APL: a practical agent programming language. Autonomous Agent and Multi-Agent Systems 16(3): 214–248
Dijkstra E. W. (1971) Hierarchical ordering of sequential processes. Acta Informatica 1(2): 115–138
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.
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.
Gelernter D. (1985) Generative communication in Linda. ACM Transactions on Programming Languages and Systems 7(1): 80–112
Gelernter D., Carriero N. (1992) Coordination languages and their significance. Communications of the ACM 35(2): 96
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.
Gutknecht, O., & Ferber, J. (2000). The MADKIT agent platform architecture. In Agents workshop on infrastructure for multi-agent systems (pp. 48–55).
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.
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.
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
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
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.
Nardi, B. (eds) (1996) Context and consciousness: Activity theory and human-computer interaction. MIT Press, Cambridge
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.
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.
Omicini A., Denti E. (2001) From tuple spaces to tuple centres. Science of Computer Programming 41(3): 277–294
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.
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
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.
Omicini A., Zambonelli F. (1999) Coordination for Internet application development. Autonomous Agents and Multi-Agent Systems 2(3): 251–269
Padgham L., Wiknikoff M. (2004) Developing intelligent agent systems: A practical guide. Wiley, Chichester
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.
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.
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.
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
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
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).
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.
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).
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.
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.
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.
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.
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.
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.
Russell S., Norvig P. (2003) Artificial intelligence, a modern approach (2nd ed.). Prentice Hall, Englewood
Sandhu R. S., Coyne E. J., Feinstein H. L., Youman C. E. (1996) Role-based access control models. IEEE Computer 29(2): 38–47
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
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
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
Viroli M., Ricci A., Omicini A. (2006) Operating instructions for intelligent agent coordination. The Knowledge Engineering Review 21(1): 49–69
Weyns D., Holvoet T. (2004) A formal model for situated multi-agent systems. Fundamenta Informaticae 63(2–3): 125–158
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.
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
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.
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.
Wooldridge M. (2002) An introduction to multi-agent systems. Wiley, Chichester
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10458-010-9140-7