Skip to main content

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

  • Chapter
  • First Online:
Agent-Oriented Software Engineering

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Alexander C (1979) The timeless way of building. Oxford University Press, New York

    Google Scholar 

  2. Alur D, Crupi J, Malks D (2003) Core J2EE patterns: best practices and design strategies, 2nd edn. Prentice-Hall PTR, Upper Saddle River

    Google Scholar 

  3. 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

    Google Scholar 

  4. Brown WJ, Malveau RC, McCormick HW, Mowbray TJ (1998) AntiPatterns: refactoring software, architectures, and projects in crisis. Wiley, New York

    Google Scholar 

  5. Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M (1996) Pattern-oriented software architecture. A system of patterns, vol 1. Wiley, Chichester

    Google Scholar 

  6. 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

    Google Scholar 

  7. Chacon D, Mccormick J, Mcgrath S, Stoneking C (2000) Rapid application development using agent itinerary patterns. Technical Report 01, Lockheed Martin Advanced Technology Laboratories

    Google Scholar 

  8. 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

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Article  Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Google Scholar 

  13. 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

    Google Scholar 

  14. 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

    Book  Google Scholar 

  15. Dignum V, Dignum F (2010) Designing agent systems: state of the practice. Int J Agent-Oriented Software Eng 4(3):224–243

    Article  Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. Fowler M (2003) Patterns of enterprise application architecture. Addison-Wesley, Boston

    Google Scholar 

  19. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading

    Google Scholar 

  20. 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

    Chapter  Google Scholar 

  21. 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

    Article  Google Scholar 

  22. Glass RL, Vessey I (2011) Naivete squared: in search of two taxonomies and a mapping between them. IEEE Software 28(5):14–15

    Article  Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. Hayden SC, Carrick C, Yang Q (1999) Architectural design patterns for multiagent coordination. In: Proceedings of the 3rd international conference on autonomous agents

    Google Scholar 

  26. Heinze C (2004) Modelling intention recognition for intelligent agent systems. Research Report DSTO-RR-0286, Air Operations Division Systems Sciences Laboratory

    Google Scholar 

  27. 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

    Google Scholar 

  28. Jennings N, Wooldridge M (1998) Agent technology: foundations, applications, and markets. Springer, Berlin

    Book  MATH  Google Scholar 

  29. 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

    Google Scholar 

  30. Khwaja S, Alshayeb M (2011) Towards design pattern definition language. Software Pract Exper, 43:747–757

    Article  Google Scholar 

  31. 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

    Google Scholar 

  32. 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

    Google Scholar 

  33. 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

    Google Scholar 

  34. Kolp M, Giorgini P, Mylopoulos J (2006) Multi-agent architectures as organizational structures. Auton Agents Multi-Agent Syst 13:3–25

    Article  Google Scholar 

  35. Kramer J, Magee J (2007) Self-managed systems: an architectural challenge. In: FOSE ’07: Future of Software Engineering. IEEE Computer Society

    Google Scholar 

  36. 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

    Google Scholar 

  37. Martin R (2003) Agile software development: principles, patterns, and practices. Prentice-Hall, Upper Saddle River

    Google Scholar 

  38. 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

    Google Scholar 

  39. Mouratidis H, Giorgini P, Schumacher M (2003) Security patterns for agent systems. In: Proceedings of the 8th European Conference on Pattern Languages of Programs

    Google Scholar 

  40. 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

    Google Scholar 

  41. 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

    Google Scholar 

  42. 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

    Google Scholar 

  43. Nguyen A, Yang X (2004) Design patterns for mobile agent-mediated e-business. In: Proceedings of the 10th Australian World Wide Web Conference

    Google Scholar 

  44. North MJ, Macal CM (2011) Product design patterns for agent-based modeling. In: Proceedings of the 2011 Winter Simulation Conference (WSC), pp 3082–3093

    Google Scholar 

  45. Oluyomi A (2006) Patterns and protocols for agent oriented software development. Ph.D, The University of Melbourne

    Google Scholar 

  46. Petter S, Khazanchi D, Murphy JD (2010) A design science based evaluation framework for patterns. SIGMIS Database 41(3):9–26

    Article  Google Scholar 

  47. 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

    Article  Google Scholar 

  48. 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

    Google Scholar 

  49. 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

    Google Scholar 

  50. Schmidt DC, Stal M, Rohnert H, Buschmann F (2000) Pattern-oriented software architecture. Patterns for concurrent and networked objects, vol 2. Wiley, Chichester

    Google Scholar 

  51. Shaw M, Clements P (2006) The golden age of software architecture. IEEE Software 23(2): 31–39

    Article  Google Scholar 

  52. 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

    Google Scholar 

  53. 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

    Google Scholar 

  54. 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

    Chapter  Google Scholar 

  55. 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

    Google Scholar 

  56. Taibi T, Check Ling Ngo D (2003) Formal specification of design patterns - a balanced approach. J Object Technol 2(4):127–140

    Article  Google Scholar 

  57. 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

    Google Scholar 

  58. 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

    Chapter  Google Scholar 

  59. Weyns D (2006) An architecture-centric approach for software engineering with situated multi-agent systems. Ph.D. Dissertation, Katholieke Universiteit Leuven

    Google Scholar 

  60. 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

    Book  Google Scholar 

  61. Weyns D (2010) Architecture-based design of multi-agent systems. Springer, Heidelberg

    Book  MATH  Google Scholar 

  62. 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

    Article  Google Scholar 

  63. 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

    Google Scholar 

  64. Wooldridge MJ (2009) An introduction to multiagent systems, 2nd edn. Wiley, Chichester

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Danny Weyns .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics