Multi-agent platforms and asynchronous message passing: Frameworks overview

In this article we review contemporary multi-agent system architectures and implementations. We particularly focus on asynchronous message passing mechanisms. Our motivation is to explore two main areas in the context of multi-agent systems: the concept of micro-agents and the asynchronous message passing architectures. In the article we take a close look at the emerging area of micro-agent-based systems and contrast them with selected representatives from the general field of agent architectures. We provide historical references and examples of contemporary implementations supporting the hierarchical micro-agent-based software engineering paradigm. In addition, we also investigate various implementation mechanisms for efficient asynchronous message passing between large numbers of small interacting software components with regards to their use in the context of multiagent systems. The results show a trade-off between performance, fairness and usability as key problem when selecting an appropriate solution. Future investigations into alternative concurrency handling mechanisms for better support of micro-agent architectures are suggested.

[1]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[2]  Thomas Malsch,et al.  Thomas Malsch, Christoph Schlieder, Peter Kiefer, Maren Lübcke, Rasco Perschke, Marco Schmitt and Klaus Stein: Communication Between Process and Structure , 2022 .

[3]  James R. Larus,et al.  Software and the Concurrency Revolution , 2005, ACM Queue.

[4]  Jacques Ferber,et al.  The MADKIT Agent Platform Architecture , 2000, Agents Workshop on Infrastructure for Multi-Agent Systems.

[5]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[6]  Agostino Poggi,et al.  Developing Multi-agent Systems with JADE , 2007, ATAL.

[7]  Alan Mycroft,et al.  Kilim: Isolation-Typed Actors for Java , 2008, ECOOP.

[8]  Munindar P. Singh Agent Communication Languages: Rethinking the Principles , 2003, Communication in Multiagent Systems.

[9]  Massachusett Framingham,et al.  The Common Object Request Broker: Architecture and Specification Version 3 , 2003 .

[10]  Jacques Ferber,et al.  A meta-model for the analysis and design of organizations in multi-agent systems , 1998, Proceedings International Conference on Multi Agent Systems (Cat. No.98EX160).

[11]  Gul A. Agha,et al.  Actor frameworks for the JVM platform: a comparative analysis , 2009, PPPJ '09.

[12]  James E. White,et al.  High-level framework for network-based resource sharing , 1975, Request for Comments.

[13]  James E. White A high-level framework for network-based resource sharing , 1976, AFIPS '76.

[14]  Michi Henning,et al.  The Rise and Fall of CORBA , 2006, ACM Queue.

[15]  Joe Armstrong,et al.  Concurrent programming in ERLANG , 1993 .

[16]  Agostino Poggi,et al.  JADE - A Java Agent Development Framework , 2005, Multi-Agent Programming.

[17]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.