Application-Specific Reuse of Agent Roles

In this paper, we argue that "programming in the large" for reactive multi-agent systems (MAS) should imply a reuse method that allows two things: (1) to describe multi-agent systems in an abstract, application-independent way, and (2) to reuse such abstract multi-agent system through application-specific adoptions. This allows reuse not only of code and design, but also of behavioral aspects, experiments, tests of the abstract multi-agent system. We present our work on MASORG (Multi-Agent System ORGanizations), focusing on the specification and reuse of roles in reactive multi-agent system. We use statecharts to model the abstract roles and we introduce statechart extension mechanisms to add application-specific functionality in the statechart of the abstract role. We work out an example of a role on the abstract level, and reuse and extend this role within an application in the domain of manufacturing control.

[1]  Aose,et al.  Agent-Oriented Software Engineering III: Third International Workshop, AOSE 2002, Bologna, Italy, July 15, 2002, Revised Papers and Invited Contributions , 2003 .

[2]  Bernhard Bauer,et al.  Extending UML for agents , 2000 .

[3]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[4]  Marco Dorigo,et al.  Swarm intelligence: from natural to artificial systems , 1999 .

[5]  Fausto Giunchiglia,et al.  The Tropos Software Development Methodology: Processes, Models and Diagrams , 2002, AOSE.

[6]  Pierre Verbaeten,et al.  Ant Algorithms in a Graph Environment: a Meta-scheme for Coordination and Control , 2002 .

[7]  Martin L. Griss,et al.  Using UML State Machine Models for More Precise and Flexible JADE Agent Behaviors , 2002, AOSE.

[8]  Martin Fowler,et al.  Dealing with Roles , 1997 .

[9]  Jorge J. Gómez-Sanz,et al.  Agent Oriented Analysis Using Message/UML , 2001, AOSE.

[10]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

[11]  Tom Holvoet,et al.  Application-specific reuse in multi-agent system development , 2002 .

[12]  Franco Zambonelli,et al.  Separation of concerns in agent applications by roles , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[13]  Nicholas R. Jennings,et al.  The Gaia Methodology for Agent-Oriented Analysis and Design , 2000, Autonomous Agents and Multi-Agent Systems.

[14]  Nicholas R. Jennings,et al.  Intelligent agents: theory and practice , 1995, The Knowledge Engineering Review.

[15]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[16]  Ian D. Benest,et al.  Chapter 3 – An Overview of Aspect , 1991 .

[17]  Reiko Heckel,et al.  Improving the agent-oriented modeling process by roles , 2001, AGENTS '01.

[18]  Marco Dorigo,et al.  AntNet: Distributed Stigmergetic Control for Communications Networks , 1998, J. Artif. Intell. Res..

[19]  Franco Zambonelli,et al.  Organizational Abstractions for the Analysis and Design of Multi-agent Systems , 2000, AOSE.

[20]  Anand S. Rao,et al.  BDI Agents: From Theory to Practice , 1995, ICMAS.

[21]  Hendrik Van Brussel,et al.  Multi-agent Coordination and Control Using Stigmergy Applied to Manufacturing Control , 2001, EASSS.

[22]  Jacques Ferber,et al.  Multi-agent systems - an introduction to distributed artificial intelligence , 1999 .

[23]  George H. Mealy,et al.  A method for synthesizing sequential circuits , 1955 .

[24]  Elizabeth A. Kendall,et al.  Role modeling for agent system analysis, design, and implementation , 2000, IEEE Concurr..

[25]  Michael Wooldridge,et al.  Agent-Oriented Software Engineering: The State of the Art , 2009, AOSE.

[26]  Luca Maria Gambardella,et al.  Ant Algorithms for Discrete Optimization , 1999, Artificial Life.

[27]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[28]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .