Date Added: Jul 2009
Developing architectural support for self-adaptive systems, i.e. systems that are able to autonomously adapt to changes in their operating conditions, is a key challenge for software engineers. Multi-agent systems are a class of decentralized systems that are known for realizing qualities such as adaptability and scalability. In this paper, the authors present a pattern language for multi-agent systems. The pattern language distills domain-specific architectural knowledge derived from extensive experiences with developing various multi-agent systems. The pattern language, consisting of the five interrelated patterns, supports architects with designing software architectures for a family of self-adaptive systems.