When multiple self-adaptive systems share the same environment and have
common goals, they may coordinate their adaptations at runtime to avoid
conflicts and to satisfy their goals. There are two approaches to coordination.
(1) Logically centralized, where a supervisor has complete control over the
individual self-adaptive systems. Such approach is infeasible when the systems
have different owners or administrative domains. (2) Logically decentralized,
where coordination is achieved through direct interactions. Because the
individual systems have control over the information they share, decentralized
coordination accommodates multiple administrative domains. However, existing
techniques do not account simultaneously for both local concerns, e.g.,
preferences, and shared concerns, e.g., conflicts, which may lead to goals not
being achieved as expected. Our idea to address this shortcoming is to express
both types of concerns within the same constraint optimization problem. We
propose CoADAPT, a decentralized coordination technique introducing two types
of constraints: preference constraints, expressing local concerns, and
consistency constraints, expressing shared concerns. At runtime, the problem is
solved in a decentralized way using distributed constraint optimization
algorithms implemented by each self-adaptive system. As a first step in
realizing CoADAPT, we focus in this work on the coordination of adaptation
planning strategies, traditionally addressed only with centralized techniques.
We show the feasibility of CoADAPT in an exemplar from cloud computing and
analyze experimentally its scalability