Search
2019 Volume 34
Article Contents
ORIGINAL RESEARCH   Open Access    

Dimensions in programming multi-agent systems

More Information
  • Abstract: Research on Multi-Agent Systems (MAS) has led to the development of several models, languages, and technologies for programming not only agents, but also their interaction, the application environment where they are situated, as well as the organization in which they participate. Research on those topics moved from agent-oriented programming towards multi-agent-oriented programming (MAOP). A MAS program is then designed and developed using a structured set of concepts and associated first-class design and programming abstractions that go beyond the concepts normally associated with agents. They include those related to environment, interaction, and organization. JaCaMo is a platform for MAOP built on top of three seamlessly integrated dimensions (i.e. structured sets of concepts and associated execution platforms): for programming belief desire intention (BDI) agents, their artefact-based environments, and their normative organizations. The key purpose of our work on JaCaMo is to support programmers in exploring the synergy between these dimensions, providing a comprehensive programming model, as well as a corresponding platform for developing and running MAS. This paper provides a practical overview of MAOP using JaCaMo. We show how emphasizing one particular dimension leads to different solutions to the same problem, and discuss the issues of each of those solutions.
  • 加载中
  • Baldoni M., Baroglio C., Calvanese D., Micalizio R. & Montali M. 2016a. Towards data- and norm-aware multiagent systems. In Engineering Multi-Agent Systems: 4th International Workshop, EMAS 2016, Singapore, Singapore, May 9–10, 2016, Revised, Selected, and Invited Papers, Baldoni, M., Müller, J. P., Nunes, I., & Zalila-Wenkstern, R. (eds). Springer International Publishing, 22–38.

    Google Scholar

    Baldoni M., Baroglio C., Capuzzimati F. & Micalizio R. 2016b. Commitment-based agent interaction in JaCaMo+. Fundamenta Informaticae 21, 1001–1030.

    Google Scholar

    Behrens T., Hindriks K., Bordini R., Braubach L., Dastani M., Dix J., Hübner J. & Pokahr A. 2012. An interface for agent-environment interaction. In Proceedings of Eighth International Workshop on Programming Multi-Agent Systems (ProMAS@AAMAS 2010), Collier, R., Dix, J., & Novák, P. (eds). LNCS 6599, 139–158. Springer.

    Google Scholar

    Bellifemine F. L., Caire G. & Greenwood D. 2007. Developing Multi-Agent Systems With JADE. Wiley Series in Agent Technology. John Wiley & Sons.

    Google Scholar

    Beydoun G., Low G., Henderson-Sellers B., Mouratidis H., Gomez-Sanz J. J., Pavon J. & Gonzalez-Perez C. 2009. Faml: A generic metamodel for MAS development. IEEE Transactions on Software Engineering 35, 841–863.

    Google Scholar

    Boissier O., Bordini R., Hübner J. F., Ricci A. & Santi A. 2013. Multi-agent oriented programming with JaCaMo. Science of Computer Programming 78(6), 747–761.

    Google Scholar

    Boissier O., Hübner J. F. & Sichman J. S. 2007. Organization oriented programming from closed to open organizations. In Engineering Societies in the Agents World VII (ESAW 06), O’Hare, G., O’Grady, M., Dikenelli, O. & Ricci, A. (eds). LNCS 4457, 86–105. Springer-Verlag.

    Google Scholar

    Bordini R. H., Braubach L., Dastani M., Seghrouchni A. E. F., Gomez-Sanz J. J., Leite J., O’Hare G., Pokahr A. & Ricci A. 2006. A survey of programming languages and platforms for multi-agent systems. Informatica 30(1), 33–44.

    Google Scholar

    Bordini R. H., Dastani M., Dix J. & El Fallah Seghrouchni A. (eds) 2005. Multi-Agent Programming: Languages, Platforms, and Applications. Number 15 in Multiagent Systems, Artificial Societies, and Simulated Organizations. Springer.

    Google Scholar

    Bordini R. H., Hübner J. F. & Wooldrige M. 2007. Programming Multi-Agent Systems in AgentSpeak Using Jason. Wiley Series in Agent Technology. John Wiley & Sons.

    Google Scholar

    Bratman M. E. 1987. Intention, Plans, and Practical Reason. Harvard University Press.

    Google Scholar

    Bromuri S. & Stathis K. 2008. Situating cognitive agents in GOLEM. In Engineering Environment-Mediated Multi-Agent Systems, Weyns, D., Brueckner, S. & Demazeau, Y. (eds). LNCS 5049, 115–134. Springer Berlin/Heidelberg.

    Google Scholar

    Dastani M. 2008. 2APL: a practical agent programming language. Autonomous Agent and Multi-Agent Systems 16, 241–248.

    Google Scholar

    Dastani M. 2015. Programming multi-agent systems. Knowledge Engineering Review 30(4), 394–418.

    Google Scholar

    Dastani M., Grossi D., Meyer J.-J. & Tinnemeier N. 2008. Normative multi-agent programs and their logics. In KRAMAS-08, Proceedings.

    Google Scholar

    Demazeau Y. 1995. From interactions to collective behaviour in agent-based systems. In Proceedings of the 1st European Conference on Cognitive Science, 117–132.

    Google Scholar

    Demazeau Y. & Rocha Costa A. C. d. 1996. Populations and organizations in open multi-agent systems. In PDAI 96 – 1st National Symposium on Parallel and Distributed AI.

    Google Scholar

    Ferber J. & Müller J.-P. 1996. Influences and reaction: a model of situated multiagent systems. In 2nd International Conference on Multi-Agent Systems (ICMAS’96).

    Google Scholar

    Foundation for Intelligent Physical Agents (FIPA) 2002. Contract net interaction protocol specification. Technical report.

    Google Scholar

    Hindriks K. V. 2009. Programming rational agents in GOAL. In Multi-Agent Programming, Bordini, R. H., Dastani, M., Dix, J. & Seghrouchni, A. E. F. (eds), 119–157. Springer.

    Google Scholar

    Hindriks K. V., van Riemsdijk B., Behrens T., Korstanje R., Kraayenbrink N., Pasman W. & de Rijk L. 2011. Unreal goal bots. In Agents for Games and Simulations II: Trends in Techniques, Concepts and Design, Dignum, F. (ed.), 1–18. Springer Berlin Heidelberg.

    Google Scholar

    Hübner J. F., Sichman J. S. & Boissier O. 2002. A model for the structural, functional, and deontic specification of organizations in multiagent systems. In Proceedings of the 16th Brazilian Symposium on Artificial Intelligence (SBIA’02), 118–128.

    Google Scholar

    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.

    Google Scholar

    Labrou Y., Finin T. & Peng Y. 1999. Agent communication languages: the current landscape. IEEE Intelligent Systems 14(2), 45–52.

    Google Scholar

    Lemaître C. & Excelente C. B. 1998. Multi-agent organization approach. In Proceedings of II Iberoamerican Workshop on DAI and MAS, Garijo, F. J. & Lemaître, C. (eds), 7–16.

    Google Scholar

    Occello M., Baeijs C., Demazeau Y. & Koning J.-L. 2002. Mask: an AEIO toolbox to develop multi-agent systems. Knowledge Engineering and Agent Technology, IOS Series on Frontiers in AI and Applications 63, 64.

    Google Scholar

    Omicini A., Ricci A. & Viroli M. 2008. Artifacts in the A&A meta-model for multi-agent systems. Journal of Autonomous Agents and Multi-Agent Systems 17(3), 432–456.

    Google Scholar

    Rao A. S. 1996. AgentSpeak(L): BDI agents speak out in a logical computable language. In Proceedings of the Seventh Workshop on Modelling Autonomous Agents in a Multi-Agent World (MAAMAW’96), 22–25 January, Eindhoven, The Netherlands, Van de Velde, W. & Perram, J. (eds), Lecture Notes in Artificial Intelligence 1038, 42–55.Springer-Verlag.

    Google Scholar

    Ricci A., Piunti M., Acay L. D., Bordini R. H., Hübner J. F. & Dastani M. 2009. Integrating heterogeneous agent programming platforms within artifact-based environments. In 8th International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2009), Budapest, Hungary, May 10–15, Sierra, C., Castelfranchi, C., Sichman, J. S., & Decker, K. S. (eds), 225–232.

    Google Scholar

    Ricci A., Santi A. & Piunti M. 2012. Action and perception in agent programming languages: from exogenous to endogenous environments. In Programming Multi-Agent Systems. ProMAS 2010. Lecture Notes in Computer Science, Collier R., Dix J. & Novák P. (eds). Springer.

    Google Scholar

    Ricci A., Viroli M. & Omicini A. 2006. Programming mas with artifacts. In Programming Multi-Agent Systems: Third International Workshop, ProMAS 2005, Utrecht, The Netherlands, July 26, 2005, Revised and Invited Papers, Bordini, R. H., Dastani, M. M., Dix, J., & El Fallah Seghrouchni, A. (eds), 206–221. Springer Berlin Heidelberg.

    Google Scholar

    Ricci A., Viroli M. & Omicini A. 2007. CArtAgO: a framework for prototyping artifact-based environments in MAS. In Environments for MultiAgent Systems III, 3rd International Workshop (E4MAS 2006), Hakodate, Japan, 8 May 2006. Selected Revised and Invited Papers, Weyns, D., Parunak, H. V. D., & Michel, F. (eds). LNAI 4389, 67–86. Springer.

    Google Scholar

    Ricordel P. & Demazeau Y. 2002. VOLCANO: a vowels-oriented multi-agent platform. In Proceedings of the International Conference of Central Eastern Europe on Multi-Agent Systems (CEEMAS’01), Dunin-Keplicz, B. & Nawarecki, E. (eds). LNAI 2296, 253–262. Springer Verlag.

    Google Scholar

    Rocha Costa A. C. d. & Dimuro G. 2009. A minimal dynamical organization model. In Multi-Agent Systems: Semantics and Dynamics of Organizational Models, chapter XVII, Dignum, V. (ed.). IGI Global, 419–445.

    Google Scholar

    Sterling L. & Taveter K. 2009. The Art of Agent-Oriented Modeling. The MIT Press.

    Google Scholar

    Stratulat T., Ferber J. & Tranier J. 2009. MASQ: towards an integral approach to interaction. In AAMAS (2009), 813–820.

    Google Scholar

    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 VI, Lecture Notes in Computer Science 6541, 268–284. Springer.

    Google Scholar

    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–30Special Issue on Environments for Multi-Agent Systems.

    Google Scholar

    Weyns D. & Parunak H. V. D. (eds) 2007. Special Issue on Environments for Multi-Agent Systems, volume 14 (1) of Autonomous Agents and Multi-Agent Systems. Springer.

    Google Scholar

    Winikoff M. 2005. Jack intelligent agents: An industrial strength platform. In Multi-Agent Programming: Languages, Platforms, and Applications. Number 15 in Multiagent Systems, Artificial Societies, and Simulated Organizations, Bordini, R. H., Dastani, M., Dix, J. & El Fallah Seghrouchni, A. (eds). Springer, 175–193.

    Google Scholar

    Zatelli M. R., Ricci A. & Hübner J. F. 2016. Integrating interaction with agents, environment, and organisation in JaCaMo. International Journal of Agent-Oriented Software Engineering (IJAOSE) 5(2, 3), 266–302.

    Google Scholar

  • Cite this article

    Olivier Boissier, Rafael H. Bordini, Jomi F. Hübner, Alessandro Ricci. 2019. Dimensions in programming multi-agent systems. The Knowledge Engineering Review 34(1), doi: 10.1017/S026988891800005X
    Olivier Boissier, Rafael H. Bordini, Jomi F. Hübner, Alessandro Ricci. 2019. Dimensions in programming multi-agent systems. The Knowledge Engineering Review 34(1), doi: 10.1017/S026988891800005X

Article Metrics

Article views(42) PDF downloads(57)

ORIGINAL RESEARCH   Open Access    

Dimensions in programming multi-agent systems

Abstract: Abstract: Research on Multi-Agent Systems (MAS) has led to the development of several models, languages, and technologies for programming not only agents, but also their interaction, the application environment where they are situated, as well as the organization in which they participate. Research on those topics moved from agent-oriented programming towards multi-agent-oriented programming (MAOP). A MAS program is then designed and developed using a structured set of concepts and associated first-class design and programming abstractions that go beyond the concepts normally associated with agents. They include those related to environment, interaction, and organization. JaCaMo is a platform for MAOP built on top of three seamlessly integrated dimensions (i.e. structured sets of concepts and associated execution platforms): for programming belief desire intention (BDI) agents, their artefact-based environments, and their normative organizations. The key purpose of our work on JaCaMo is to support programmers in exploring the synergy between these dimensions, providing a comprehensive programming model, as well as a corresponding platform for developing and running MAS. This paper provides a practical overview of MAOP using JaCaMo. We show how emphasizing one particular dimension leads to different solutions to the same problem, and discuss the issues of each of those solutions.

    • J. F. H. and R. H. B. would like to thank CNPq and CAPES for partially funding their research.

    • We invite the reader to refer to the proceedings of the EMAS Workshop series and its predecessors for a broad overview of the area.

    • The acronym JaCaMo comes from combining the names of the three platforms on which JaCaMo is based, namely Jason, Cartago, Moise.

    • In fact, it is also physically a locality, since a workspace runs on a single host.

    • More details about the concepts in the agent dimension can be found in Bratman (1987), Rao (1996), Labrou et al. (1999), Bordini et al. (2007).

    • More details about the concepts in the environment dimension can be found in Weyns et al. (2007), Omicini et al. (2008), Ricci et al. (2009).

    • More details about the concepts in the organization dimension can be found at Demazeau and Rocha Costa (1996), Lemaître and Excelente (1998), Hubner et al. (2002), Boissier et al. (2007), Rocha Costa and Dimuro (2009).

    • This assumption can be relaxed by defining an ‘interaction’ language (not only for agent communication but also for perception and action), some sort of common language or application ontology that defines a set of goals, actions, and percepts that are translated into environment observable properties and operations, into agent beliefs and actions, and into agent and organization goals. It can also be relaxed if agents are capable of learning, possibly from the application ontology, what g34 means. For the particular example of plans for required social goals, it is worth mentioning that in MAOP agents often acquire plans at runtime through interaction with other agents or a planner (e.g. encapsulated as an artefact). This kind of sophistication, however, is not considered in this paper and we assume the developer uses matching identifiers to link the dimensions.

    • The code for the examples used in this paper is available at http://jacamo.sf.net/ker2017. The technical documentation of the JaCaMo platform with all the programming constructs that can be used to write a MAOP is available on the JaCaMo website at http://jacamo.sf.net/

    • The syntax of AgentSpeak, the language that inspired our agent language, was in turn inspired by Prolog and thus identifiers starting in upper case are variables.

    • Note that this can also be done in an agent program as shown in the previous section with a particular language construct called internal actions. We do not show it here due to space constraints.

    • If an agent requests an operation which is provided by multiple artefacts (located in the workspaces that the agent has joined) and without explicitly stating which one is meant, no error occurs and one is selected non-deterministically by the infrastructure.

    • This assumes full cooperation. However, also different scenarios can be handled, where, for example, an agent can reject a goal delegated by another agent, or one which the organization forbids.

    • We use the .broadcast command instead of .send, which is used to send a message to all agents in the system.

    • In the agent code, t1 is the name of the artefact, whilst ArtId is the identifier of the artefact whose name is t1. The value of ArtId is determined by the underlying infrastructure that manages artefacts.

    • Of course we could change the protocol in the message-based version too, but it would require a lot of extra message passing that are avoided by the features provided by artefacts.

    • JaCaMo provides a library of plans that enable the agents to react to the state of the norms managed by the organization. For example, this library has a plan that creates goal g for the agent whenever the agent is obliged by the organization to achieve g. The use of this library is optional, as in other applications agents may prefer to decide weather to adopt the goal or not based on their own reasons.

    • For space reasons, we do not explain how agents adapt and redefine the specification of their organization, although this is possible and can be used for interesting forms of self-organizing systems.

    • For a overview of the relevant literature, see Bordini et al. (2005), Bordini et al. (2006), Dastani (2015).

    • Some of the concepts used in the modelling are available in some platforms (e.g. teams in JACK and norms in 2OPL). However, the set of concepts in these platforms is limited when compared to those used in modelling (e.g. role and protocols are not available in most of those platforms).

    • © Cambridge University Press, 2019 2019Cambridge University Press
References (41)
  • About this article
    Cite this article
    Olivier Boissier, Rafael H. Bordini, Jomi F. Hübner, Alessandro Ricci. 2019. Dimensions in programming multi-agent systems. The Knowledge Engineering Review 34(1), doi: 10.1017/S026988891800005X
    Olivier Boissier, Rafael H. Bordini, Jomi F. Hübner, Alessandro Ricci. 2019. Dimensions in programming multi-agent systems. The Knowledge Engineering Review 34(1), doi: 10.1017/S026988891800005X
  • Catalog

      /

      DownLoad:  Full-Size Img  PowerPoint
      Return
      Return