The Role of Agreement Technologies in the Definition of Adaptive Software Architectures
The growing complexity of software systems is causing a re-conception of their development and maintenance strategies. Humans should be relieved from an important part of these tasks, which should be performed by systems themselves, leading to consider self-adaptation as a basic architectural concern. Simultaneously, Multi-Agent Systems (MAS) have been developed as a generic approach to solve complex problems. They describe self-aware structures,
conceived to be flexible and to be able to adapt to different situations. Advances approaches use organizations to provide further structuring, taking the form of complex agent architectures. Among them, Agreement Technologies (AT) provides an explicit insight into those architectural abstractions. However, they still do not provide mechanisms to change their composition patterns and element types, which are necessary to achieve real self-adaptivity. In this article, we propose an architectural solution for this: the required dynamism will be supported by an emergent agreement - an evolving architectural structure, based on combining predefined controls and protocols. These are handled in the context of the service-oriented, agent-based and organization-centric framework defined in AT and provided by their implementation within the THOMAS platform. This work provides the first architectural abstractions to support this emergent structure. A real-world example showing the interest of this approach is also provided, and some conclusions about its applicability are finally outlined.