Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alexander C (1979) The timeless way of building. Oxford University Press, New York
Alur D, Crupi J, Malks D (2003) Core J2EE patterns: best practices and design strategies, 2nd edn. Prentice-Hall PTR, Upper Saddle River
Aridor Y, Lange DB (1998) Agent design patterns: elements of agent application design. In: Proceedings of the 2nd international conference on autonomous agents. ACM, New York, pp 108–115
Brown WJ, Malveau RC, McCormick HW, Mowbray TJ (1998) AntiPatterns: refactoring software, architectures, and projects in crisis. Wiley, New York
Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M (1996) Pattern-oriented software architecture. A system of patterns, vol 1. Wiley, Chichester
Cabri G, Ferrari L, Leonardi L (2003) Role agent pattern: a developer guideline. In: IEEE international conference on systems, man and cybernetics, vol 5, pp 4114–4119
Chacon D, Mccormick J, Mcgrath S, Stoneking C (2000) Rapid application development using agent itinerary patterns. Technical Report 01, Lockheed Martin Advanced Technology Laboratories
Charan Ojha A, Kumar Pradhan S, Ranjan Patra M (2007) Pattern-based design for intelligent mobile agents. In: Proceedings of the 4th international conference on innovations in information technology, pp 501–505
Cheah W, Sterling L, Taveter K (2010) Task knowledge patterns reuse in multi-agent systems development. In: Proceedings of the 13th international conference on principles and practice of multi-agent systems, PRIMA’10. Springer, Berlin, pp 459–474
Chella A, Cossentino M, Gaglio S, Sabatucci L, Seidita V (2010) Agent-oriented software patterns for rapid and affordable robot programming. J Syst Software 83:557–573
Cruz Torres M, Van Beers T, Holvoet T (2011) (No) more design patterns for multi-agent systems. In: Proceedings of the compilation of the co-located workshops on DSM’11, TMC’11, AGERE!’11, AOOPES’11, NEAT’11, VMIL’11, SPLASH ’11 workshops. ACM, New York, pp 213–220
De Wolf T, Holvoet T (2007) Design patterns for decentralised coordination in self-organising emergent systems. In: Engineering self-organising systems. Lecture notes in computer science, vol 4335. Springer, Berlin, pp 28–49
Deugo D, Oppacher F, Kuester J, Otte IV (1999) Patterns as a means for intelligent software engineering. In: Proceedings of the 1999 conference on artificial intelligence, pp 605–611
Deugo D, Weiss M, Kendall E (2001) Resuable patterns for agent coordination. In: Coordination of internet agents. Resuable patterns for agent coordination, Springer, London, pp 347–368
Dignum V, Dignum F (2010) Designing agent systems: state of the practice. Int J Agent-Oriented Software Eng 4(3):224–243
Eichelkraut C, Etzkorn L (2007) Describing agent based real-time distributed systems using design patterns. In: Proceedings of the 45th annual southeast regional conference, ACM-SE 45. ACM, New York, pp 156–161
Fernandez-Marquez JL, Arcos JL, Di Marzo Serugendo G, Casadei M (2011) Description and composition of bio-inspired design patterns: the gossip case. In: Engineering of Autonomic and Autonomous Systems (EASe), 2011 8th IEEE international conference and workshops on, pp 87–96
Fowler M (2003) Patterns of enterprise application architecture. Addison-Wesley, Boston
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading
Gardelli L, Viroli M, Omicini A (2007) Design patterns for self-organising systems. In: Burkhard HD, Lindemann G, Verbrugge R, Varga LZ (eds) Multi-agent systems and applications V, LNCS (LNAI), vol 4696. Springer, Berlin, pp 123–132
Girardi R, Marinho LB, de Oliveira IR (2005) A system of agent-based software patterns for user modeling based on usage mining. Interact Comput 17(5):567–591
Glass RL, Vessey I (2011) Naivete squared: in search of two taxonomies and a mapping between them. IEEE Software 28(5):14–15
Gonzalez-Palacios J, Luck M (2004) A framework for patterns in gaia: a case-study with organisations. In: Proceedings of the 5th international workshop on agent-oriented software engineering
Guo Y, Mao X, Hu C (2011) Design pattern for self-organization multi-agent systems based on policy. In: Proceedings of the 10th international conference on trust, security and privacy in computing and communications (TrustCom), pp 1572–1577
Hayden SC, Carrick C, Yang Q (1999) Architectural design patterns for multiagent coordination. In: Proceedings of the 3rd international conference on autonomous agents
Heinze C (2004) Modelling intention recognition for intelligent agent systems. Research Report DSTO-RR-0286, Air Operations Division Systems Sciences Laboratory
Holvoet T, Weyns D, Valckenaers P (2010) Delegate MAS patterns for large-scale distributed coordination and control applications. In: Proceedings of the 15th European Conference on Pattern Languages of Programs. ACM, New York
Jennings N, Wooldridge M (1998) Agent technology: foundations, applications, and markets. Springer, Berlin
Kendall EA, Murali Krishna PV, Pathak CV, Suresh CB (1998) Patterns of intelligent and mobile agents. In: Proceedings of the 2nd international conference on autonomous agents. ACM, pp 92–99
Khwaja S, Alshayeb M (2011) Towards design pattern definition language. Software Pract Exper, 43:747–757
Kitchenham B (2004) Procedures for performing systematic reviews. Technical Report TR/SE-0401, Department of Computer Science, Keele University, Department of Computer Science, Keele University, UK
Klügl F, Karlsson L (2009) Towards pattern-oriented design of agent-based simulation models. In: Proceedings of the 7th German conference on multiagent system technologies, MATES’09. Springer, Berlin, pp 41–53
Kolp M, Do TT, Pirotte A (2003) Social patterns for designing multiagent systems. In: Proceedings of the 15th International Conference on Software Engineering & Knowledge Engineering (SEKE’2003), pp 103–110
Kolp M, Giorgini P, Mylopoulos J (2006) Multi-agent architectures as organizational structures. Auton Agents Multi-Agent Syst 13:3–25
Kramer J, Magee J (2007) Self-managed systems: an architectural challenge. In: FOSE ’07: Future of Software Engineering. IEEE Computer Society
Lind J (2003) Patterns in agent-oriented software engineering. In: Proceedings of the 3rd international conference on Agent-oriented software engineering III, AOSE’02. Springer, Berlin, pp 47–58
Martin R (2003) Agile software development: principles, patterns, and practices. Prentice-Hall, Upper Saddle River
Mohamad R, Deris S, Ammar HH (2006) Agent design patterns framework for MaSE/POAD methodology. In: Proceedings of the ACS/IEEE International Conference on Computer Systems and Applications, AICCSA ’06. IEEE Computer Society, Washington, DC, pp 521–528
Mouratidis H, Giorgini P, Schumacher M (2003) Security patterns for agent systems. In: Proceedings of the 8th European Conference on Pattern Languages of Programs
Mouratidis H, Weiss M (2006) Patterns for modelling agent systems with tropos. In: Garcia A, Choren R, Lucena C, Giorgini P, Holvoet T, Romanovsky A (eds) Software engineering for multi-agent systems IV. Lecture notes in computer science, vol 3914. Springer, pp 207–223
Muller I, Braun P, Kowalczyk R (2005) Design patterns for agent-based service composition in the web. In: Proceedings of the International Conference on Quality Software (QSIC 2005), pp 425–430
Ng TH, Cheung SC, Chan WK, Yu YT (2006) Work experience versus refactoring to design patterns: a controlled experiment. In: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, SIGSOFT ’06/FSE-14. ACM, New York, pp 12–22
Nguyen A, Yang X (2004) Design patterns for mobile agent-mediated e-business. In: Proceedings of the 10th Australian World Wide Web Conference
North MJ, Macal CM (2011) Product design patterns for agent-based modeling. In: Proceedings of the 2011 Winter Simulation Conference (WSC), pp 3082–3093
Oluyomi A (2006) Patterns and protocols for agent oriented software development. Ph.D, The University of Melbourne
Petter S, Khazanchi D, Murphy JD (2010) A design science based evaluation framework for patterns. SIGMIS Database 41(3):9–26
Prechelt L, Unger-Lamprecht B, Philippsen M, Tichy WF (2002) Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance. IEEE Trans Software Eng 28(6):595–606
Sauvage S (2004) Design patterns for multiagent systems design. In: MICAI 2004: advances in artificial intelligence. Lecture notes in computer science, vol 2972. Springer, Berlin/Heidelberg, pp 352–361
Schelfthout K, Coninx T, Helleboogh A, Holvoet T, Steegmans E, Weyns D (2002) Agent implementation patterns. In: Proceedings of the OOPSLA 2002 workshop on agent-oriented methodologies, pp 119–130
Schmidt DC, Stal M, Rohnert H, Buschmann F (2000) Pattern-oriented software architecture. Patterns for concurrent and networked objects, vol 2. Wiley, Chichester
Shaw M, Clements P (2006) The golden age of software architecture. IEEE Software 23(2): 31–39
Shu S, Norrie DH (1999) Patterns for adaptive multi-agent systems in intelligent manufacturing. In: Proceedings of the 2nd international workshop on intelligent manufacturing systems, pp 67–74
Silva IC, da Silva AR, Meira N (2000) A set of agent patterns for a more expressive approach. In: Proceedings of the EuroPLOP 2000, pp 331–346
Silva O, Garcia A, Lucena C (2003) The reflective blackboard pattern: architecting large multi-agent systems. In: Garcia A, Lucena C, Zambonelli F, Omicini A, Castro J (eds) Software engineering for large-scale multi-agent systems. Lecture notes in computer science, vol 2603. Springer, Berlin, pp 73–93
Tahara Y, Ohsuga A, Honiden S (1999) Agent system development method based on agent patterns. In: Proceedings of the 21st International Conference on Software Engineering, ICSE ’99. ACM, New York, pp 356–367
Taibi T, Check Ling Ngo D (2003) Formal specification of design patterns - a balanced approach. J Object Technol 2(4):127–140
Taylor PR, Evans-Greenwood P, Odell J (2005) The genesis of a pattern language for agent-based enterprise systems. In: Proceedings of the 5th International Conference on Quality Software, QSIC ’05. IEEE Computer Society, Washington, DC, pp 395–400
Weiss M (2004) A pattern language for motivating the use of agents. In: Giorgini P, Henderson-Sellers B, Winikoff M (eds) Agent-oriented information systems. Lecture notes in computer science, vol 3030. Springer, Berlin/Heidelberg, pp 142–157
Weyns D (2006) An architecture-centric approach for software engineering with situated multi-agent systems. Ph.D. Dissertation, Katholieke Universiteit Leuven
Weyns D (2009) A pattern language for multi-agent systems. In: Proceedings of Joint Working IEEE/IFIP European Conference on Software Architecture, pp 191–200
Weyns D (2010) Architecture-based design of multi-agent systems. Springer, Heidelberg
Weyns D, Helleboogh A, Holvoet T (2009) How to get multi-agent systems accepted in industry? Int J Agent-Oriented Softw Eng 3:383–390
Weyns D, Schmerl B, Grassi V, Malek S, Mirandola R, Prehofer C, Wuttke J, Andersson J, Giese H, Goschka K (2012) On patterns for decentralized control in self-adaptive systems. Lecture notes in computer science, vol 7475. Springer, Berlin
Wooldridge MJ (2009) An introduction to multiagent systems, 2nd edn. Wiley, Chichester
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Juziuk, J., Weyns, D., Holvoet, T. (2014). Design Patterns for Multi-agent Systems: A Systematic Literature Review. In: Shehory, O., Sturm, A. (eds) Agent-Oriented Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-54432-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-54432-3_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-54431-6
Online ISBN: 978-3-642-54432-3
eBook Packages: Computer ScienceComputer Science (R0)