Abstract [en]

Self-adaptation is typically realized using a control loop. Oneprominent approach for organizing a control loop in self-adaptive systemsis by means of four components that are responsible for the primary functionsof self-adaptation: Monitor, Analyze, Plan, and Execute, togetherforming a MAPE loop. When systems are large, complex, and heterogeneous,a single MAPE loop may not be sufficient for managing alladaptation in a system, so multiple MAPE loops may be introduced. Inself-adaptive systems with multiple MAPE loops, decisions about how todecentralize each of the MAPE functions must be made. These decisionsinvolve how and whether the corresponding functions from multiple loopsare to be coordinated (e.g., planning components coordinating to preparea plan for an adaptation). To foster comprehension of self-adaptive systemswith 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 reflecton these systems to: (a) consolidate the knowledge in this area, and (b)to develop a systematic approach for describing different types of controlin self-adaptive systems. We contribute with a simple notation fordescribing interacting MAPE loops, which we believe helps in achieving(b), and we use this notation to describe a number of existing patternsof interacting MAPE loops, to begin to fulfill (a). From our study, weoutline numerous remaining research challenges in this area.