Constraint programming as a means to manage configurations in self-adaptive systems
Sawyer, Peter × Mazo, Raul Diaz, Daniel Salinesi, Camille Hughes, Danny #
IEEE Computer Society
Computer vol:45 issue:10 pages:56-63
In recent years, new software architectures have been developed in which components can be bound and unbound dynamically as the context demands. This capacity to dynamically adapt the software’s structure, behaviour and quality of service should make resilience easier to
achieve by allowing systems to respond more flexibly to changing environmental contexts. However, because the decision of how to react to a new context is devolved to a run-time decision-making element that senses the context and selects an appropriate component configuration, a new approach to how software is specified is needed. A self-adaptive system that uses architectural adaptation may be conceptualized as a dynamic SPL. In this paper we argue that the problem of specifying a DSPL can be reduced to constraint satisfaction problem. We combine goal modeling techniques with constraint programming to provide the
analyst with a means to identify the system variants best suited to the various environmental contexts that a system might encounter at runtime. We illustrate our approach using the example of a self-adaptive wireless sensor network.