Overview

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

Research questions

  1. How are the patterns documented and what pattern templates are used?
  2. How are the design patterns connected?
  3. For what types of systems have the design patterns been applied?
  4. How can the design patterns be classified?

Research Method

Our research method is a systematic literature review (PDF), which is a well-defined approach to identify, evaluate and interpret all relevant studies regarding a particular research question, topic area or phenomenon of interest.

The study aims to provide an overview of documented design patterns for MAS. In particular, we aim to identify how the patterns are documented, whether and how the patterns are related, and for what applications the patterns have been applied. From our study, we aim to outline guidelines for future work on design patterns for MAS and in particular, their popularization in practice. The main benefit of applying an SLR is that it decreases the likelihood that the results of our study will be biased. The following figure gives an overview of the review process.

Planning Overview of the review process

The study started with defining an initial review protocol, followed by retrieving and selecting publications, data analysis, and report writing. We organized the harvesting of the publications in four iterations. This approach was inspired by methodologies for Agile system development as their core principles are: adaptive planning, time-boxed iterations, and rapid/flexible response to change. We deviated from a single harvesting step of a regular SLR as we wanted to learn from each iteration and adapt the search strategy accordingly.

The review was performed by three researchers. Two reviewers defined the initial protocol. The actual harvesting process was performed by one reviewer, while the three reviewers evaluated the results of the subsequent harvesting steps and adapted the search strategy in consultation. One reviewer extracted the data from the selected studies. Finally, two reviewers synthesized and analyzed the data and wrote the review report. These final steps where crosschecked by the third reviewer.

Data

Material used for data collection

  • Protocol (PDF)
  • Collected data (ZIP)

Material from data analysis

  • Classification figure (PNG)
  • Pattern space figure (PNG)

Tools

Tools used in the process