Design Patterns for Multi-agent Systems: A Systematic Literature Review

Design patterns document a field’s systematic knowledge derived from experiences. Despite the vast body of work in the field of multi-agent systems (MAS), design patterns for MAS are not popular among software practitioners. As MAS have features that are widely considered as key to engineering complex distributed applications, it is important to provide a clear overview of existing patterns to make this knowledge accessible. To that end, we performed a systematic literature review (SLR) covering the main publication venues of the field since 1998, resulting in 206 patterns. The study shows that (1) there is a lack of a standard template for documenting design patterns for MAS, which hampers the use of patterns by practitioners, (2) associations between patterns are poorly described, which results in a lack of overview of the pattern space, (3) patterns for MAS have been used for a variety of application domains, which underpins their high potential for practitioners, and (4) classifications of design patterns for MAS are bounded to specific pattern catalogs, a more holistic view on the pattern space is missing. From our study, we outline a number of guidelines that are important for future work on design patterns for MAS and their adoption in practice.

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

[2]  Jose Luis Fernandez-Marquez,et al.  Description and Composition of Bio-inspired Design Patterns: The Gossip Case , 2011, 2011 Eighth IEEE International Conference and Workshops on Engineering of Autonomic and Autonomous Systems.

[3]  Elizabeth A. Kendall,et al.  Patterns of intelligent and mobile agents , 1998, AGENTS '98.

[4]  Michael Wooldridge,et al.  Agent technology: foundations, applications, and markets , 1998 .

[5]  Michael Wooldridge,et al.  An introduction to multiagent systems Wiley , 2002 .

[6]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[7]  Franco Zambonelli,et al.  Coordination of Internet Agents , 2001, Springer Berlin Heidelberg.

[8]  Michael Luck,et al.  A Framework for Patterns in Gaia: A Case-Study with Organisations , 2004, AOSE.

[9]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[10]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[11]  Danny Weyns An architecture-centric approach for software engineering with situated multi-agent systems , 2006 .

[12]  Danny Weyns,et al.  How to get multi-agent systems accepted in industry? , 2009, Int. J. Agent Oriented Softw. Eng..

[13]  Danny Weyns,et al.  Multi-Agent Systems , 2009 .

[14]  Haralambos Mouratidis,et al.  A Set of Patterns for Secure Agent Systems , 2003, EuroPLoP.

[15]  Thomas J. Mowbray,et al.  AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis , 1998 .

[16]  Ryszard Kowalczyk,et al.  Design patterns for agent-based service composition in the Web , 2005, Fifth International Conference on Quality Software (QSIC'05).

[17]  Michael Weiss,et al.  Patterns for Modelling Agent Systems with Tropos , 2005, SELMAS.

[18]  Frank Dignum,et al.  Designing agent systems: state of the practice , 2010, Int. J. Agent Oriented Softw. Eng..

[19]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[20]  Danny Weyns,et al.  Agent implementation patterns , 2002, OOPSLA 2002.

[21]  Mohammad Alshayeb,et al.  Towards design pattern definition language , 2013, Softw. Pract. Exp..

[22]  Frank Buschmann,et al.  A system of patterns , 1995 .

[23]  Douglas H. Norrie,et al.  Patterns for Adaptive Multi-Agent Systems in Intelligent Manufacturing , 1999 .

[24]  Andrea Omicini,et al.  Design Patterns for Self-organising Systems , 2007, CEEMAS.

[25]  Jürgen Lind,et al.  Patterns in Agent-Oriented Software Engineering , 2002, AOSE.

[26]  Alberto Rodrigues da Silva,et al.  A Set of Agent Patterns for a More Expressive Approach , 2000, EuroPLoP.

[27]  Xinfeng Yang,et al.  Design Patterns for Mobile-Agent-Mediated E-Business , 2004, The Web Conference.

[28]  Danny Weyns Architecture-Based Design of Multi-Agent Systems , 2010 .

[29]  Hany H. Ammar,et al.  Agent Design Patterns Framework for MaSE/POAD Methodology , 2006, IEEE International Conference on Computer Systems and Applications, 2006..

[30]  Letha H. Etzkorn,et al.  Describing agent based real-time distributed systems using design patterns , 2007, ACM-SE 45.

[31]  Michael Winikoff,et al.  Agent-oriented Information Systems IV , 2008 .

[32]  C. Heinze Modelling Intention Recognition for Intelligent Agent Systems , 2004 .

[33]  Danny Weyns,et al.  A pattern language for multi-agent systems , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[34]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[35]  Bradley R. Schmerl,et al.  On Patterns for Decentralized Control in Self-Adaptive Systems , 2010, Software Engineering for Self-Adaptive Systems.

[36]  Haralambos Mouratidis,et al.  Security Patterns for Agent Systems , 2003 .

[37]  John D. Murphy,et al.  A design science based evaluation framework for patterns , 2010, DATB.

[38]  Rogério de Lemos,et al.  The Golden Age of Software Architecture , 2015 .

[39]  Danny Weyns,et al.  Delegate MAS patterns for large-scale distributed coordination and control applications , 2010, EuroPLoP.

[40]  Yi Guo,et al.  Design Pattern for Self-Organization Multi-agent Systems Based on Policy , 2011, 2011IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications.

[41]  Ayodele O. Oluyomi,et al.  Patterns and protocols for agent-oriented software development , 2006 .

[42]  Shing-Chi Cheung,et al.  Work experience versus refactoring to design patterns: a controlled experiment , 2006, SIGSOFT '06/FSE-14.

[43]  Franziska Klügl-Frohnmeyer,et al.  Towards Pattern-Oriented Design of Agent-Based Simulation Models , 2009, MATES.

[44]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[45]  Salvatore Gaglio,et al.  Agent-oriented software patterns for rapid and affordable robot programming , 2010, J. Syst. Softw..

[46]  Carlos José Pereira de Lucena,et al.  The Reflective Blackboard Pattern: Architecting Large Multi-agent Systems , 2002, SELMAS.

[47]  David Chek Ling Ngo,et al.  Formal Specification of Design Patterns - A Balanced Approach , 2003, J. Object Technol..

[48]  Qiang Yang,et al.  Architectural Design Patterns for Multiagent Coordination , 1999 .

[49]  Sylvain Sauvage,et al.  Design Patterns for Multiagent Systems Design , 2004, Mexican International Conference on Artificial Intelligence.

[50]  Robert L. Glass,et al.  Naïveté Squared: In Search of Two Taxonomies and a Mapping between Them , 2011, IEEE Software.

[51]  John McCormick,et al.  Rapid Application Development Using Agent Itinerary Patterns , 2000 .

[52]  Michael Weiss,et al.  A Pattern Language for Motivating the Use of Agents , 2003, AOIS.

[53]  Douglas C. Schmidt,et al.  Patterns for concurrent and networked objects , 2000 .

[54]  John Mylopoulos,et al.  Multi-Agent Architectures as Organizational Structures , 2006, Autonomous Agents and Multi-Agent Systems.

[55]  Leon Sterling,et al.  Task Knowledge Patterns Reuse in Multi-Agent Systems Development , 2010, PRIMA.

[56]  Michael Philippsen,et al.  Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance , 2002, IEEE Trans. Software Eng..

[57]  Robert J. Winter Cpt Agile Software Development: Principles, Patterns, and Practices , 2014 .

[58]  Karin Baier Core J2ee Patterns Best Practices And Design Strategies , 2016 .

[59]  James Odell,et al.  The genesis of a pattern language for agent-based enterprise systems , 2005, Fifth International Conference on Quality Software (QSIC'05).

[60]  A. Charan Ojha,et al.  Pattern-Based Design for Intelligent Mobile Agents , 2007, 2007 Innovations in Information Technologies (IIT).

[61]  Tom Holvoet,et al.  (No) more design patterns for multi-agent systems , 2011, SPLASH Workshops.

[62]  Michael Wooldridge,et al.  Introduction to multiagent systems , 2001 .

[63]  Danny B. Lange,et al.  Agent design patterns: elements of agent application design , 1998, AGENTS '98.

[64]  Akihiko Ohsuga,et al.  Agent system development method based on agent patterns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[65]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[66]  Leandro Balby Marinho,et al.  A system of agent-based software patterns for user modeling based on usage mining , 2005, Interact. Comput..

[67]  Letizia Leonardi,et al.  Role agent pattern: a developer guideline , 2003, SMC'03 Conference Proceedings. 2003 IEEE International Conference on Systems, Man and Cybernetics. Conference Theme - System Security and Assurance (Cat. No.03CH37483).

[68]  Tom De Wolf,et al.  Design Patterns for Decentralised Coordination in Self-organising Emergent Systems , 2006, ESOA.

[69]  Michael J. North,et al.  Product design patterns for agent-based modeling , 2011, Proceedings of the 2011 Winter Simulation Conference (WSC).

[70]  Michael Weiss,et al.  Reusable Patterns for Agent Coordination , 2001, Coordination of Internet Agents: Models, Technologies, and Applications.

[71]  Alain Pirotte,et al.  Social Patterns for Designing Multiagent Systems , 2003, SEKE.

[72]  Franz Oppacher,et al.  Patterns as a Means for Intelligent Software Engineering , 1999, IC-AI.

[73]  Franco Zambonelli,et al.  Software Engineering for Large-Scale Multi-Agent Systems , 2003, Lecture Notes in Computer Science.