by Danny Weyns, Bradley Schmerl, Vincenzo Grassi, Sam Malek, Raffaela Mirandola, Christian Prehofer, Jochen Wuttke, Jesper Andersson, Holger Giese, Karl Goeschka
Abstract:
Self-adaptation is typically realized using a control loop. One prominent approach for organizing a control loop in self-adaptive systems is by means of four components that are responsible for the primary functions of self-adaptation: Monitor, Analyze, Plan, and Execute, together forming a MAPE loop. When systems are large, complex, and heterogeneous, a single MAPE loop may not be sufficient for managing all adaptation in a system, so multiple MAPE loops may be introduced. In self-adaptive systems with multiple MAPE loops, decisions about how to decentralize each of the MAPE functions must be made. These decisions involve how and whether the corresponding functions from multiple loops are to be coordinated (e.g., planning components coordinating to prepare a plan for an adaptation). To foster comprehension of self-adaptive systems with multiple MAPE loops and support reuse of known solutions, it is crucial that we document common design approaches for engineers. As such systematic knowledge is currently lacking, it is timely to reflect on these systems to: (a) consolidate the knowledge in this area, and (b) to develop a systematic approach for describing different types of control in self-adaptive systems. We contribute with a simple notation for describing interacting MAPE loops, which we believe helps in achieving (b), and we use this notation to describe a number of existing patterns of interacting MAPE loops, to begin to fulfill (a). From our study, we outline numerous remaining research challenges in this area.
Reference:
On Patterns for Decentralized Control in Self-Adaptive Systems (Danny Weyns, Bradley Schmerl, Vincenzo Grassi, Sam Malek, Raffaela Mirandola, Christian Prehofer, Jochen Wuttke, Jesper Andersson, Holger Giese, Karl Goeschka), Chapter in Software Engineering for Self-Adaptive Systems II (Rogério de Lemos, Holger Giese, HausiA. Müller, Mary Shaw, eds.), Springer, volume 7475, 2013.
Bibtex Entry:
@InCollection{SEfSAS2-decentral,
AUTHOR = {Weyns, Danny and Schmerl, Bradley and Grassi, Vincenzo and
Malek, Sam and Mirandola, Raffaela and Prehofer, Christian and Wuttke,
Jochen and Andersson, Jesper and Giese, Holger and Goeschka, Karl},
TITLE = {{On Patterns for Decentralized Control in Self-Adaptive
Systems}},
YEAR = {2013},
MONTH = {January},
BOOKTITLE = {Software Engineering for Self-Adaptive Systems II},
VOLUME = {7475},
PAGES = {76-107},
EDITOR = {de Lemos, Rogério and Giese, Holger and Müller, HausiA. and
Shaw, Mary},
SERIES = {Lecture Notes in Computer Science (LNCS)},
PUBLISHER = {Springer},
URL = {http://dx.doi.org/10.1007/978-3-642-35813-5_4},
ABSTRACT = {Self-adaptation is typically realized using a control
loop. One prominent approach for organizing a control loop in
self-adaptive systems is by means of four components that are
responsible for the primary functions of self-adaptation: Monitor,
Analyze, Plan, and Execute, together forming a MAPE loop. When systems
are large, complex, and heterogeneous, a single MAPE loop may not be
sufficient for managing all adaptation in a system, so multiple MAPE
loops may be introduced. In self-adaptive systems with multiple MAPE
loops, decisions about how to decentralize each of the MAPE functions
must be made. These decisions involve how and whether the corresponding
functions from multiple loops are to be coordinated (e.g., planning
components coordinating to prepare a plan for an adaptation). To
foster comprehension of self-adaptive systems with multiple MAPE loops
and support reuse of known solutions, it is crucial that we document
common design approaches for engineers. As such systematic knowledge
is currently lacking, it is timely to reflect on these systems to:
(a) consolidate the knowledge in this area, and (b) to develop
a systematic approach for describing different types of control
in self-adaptive systems. We contribute with a simple notation for
describing interacting MAPE loops, which we believe helps in achieving
(b), and we use this notation to describe a number of existing patterns
of interacting MAPE loops, to begin to fulfill (a). From our study,
we outline numerous remaining research challenges in this area.}
}