Designing software systems that have to deal with dynamic operating conditions, such as changing availability of resources and faults that are difficult to predict, is complex. A promising approach to handle such dynamics is self-adaptation that
can be realized by a MAPE-K feedback loop (Monitor-Analyze-Plan-Execute plus Knowledge). To provide evidence that the system goals are satisfied, regarding the changing conditions, state of the art advocates the use of formal methods.
However, little research has been done on consolidating design knowledge of self-adaptive systems.
To support designers, this paper contributes with a set of formally specified MAPE-K templates (MAPE-K Formal Templates) that document design expertise for a family of self-adaptive systems. The templates comprise: (1) behavior specification patterns for modeling the different components of a MAPE-K feedback loop (based on networks of timed automata), and (2) property specification patterns that support verification of the correctness of the adaptation behaviors (based on timed computation tree logic). To demonstrate the reusability of the formal templates, we performed four case studies in which final-year Master students used the templates to design different self-adaptive systems.
The MAPE-K Formal Templates embody the knowledge that we gained from the formalization of adaptive behaviors for a number of self-adaptive systems in mobile learning, traffic control and robotics domains (see Additional Information). The target domain that we have studied represents self-adaptive systems with the following characteristics:
As we consider distributed self-adaptive systems, the managed system typically comprise multiple parts (that are deployed on different nodes) that we denote with local managed systems. These parts may be adapted by one or more feedback loops. Concretely, we study self-adaptive systems based on MAPE-K feedback loops to deal with robustness and openness requirements. It is important to notice that our particular focus is on adaptations that require adding and removing resources in the system. With resources, we refer to controllable parts of the managed system, such as nodes, subsystems and components. Regarding robustness, we study self-adaptation to deal with parts of the system that fail. Regarding openness, we study self-adaptation to deal with parts that come and go dynamically. To that end, one or more MAPE-K feedback loops can observe local managed systems and their execution context and adapt the local managed systems by adding and removing resources.
The templates embody the knowledge that we gained from the formalization of adaptive behaviors for a number of self-adaptive systems in mobile learning, traffic control and robotics domains. The target domain that we have studied repre- sents self-adaptive systems with the following characteristics:
We provide additional information regarding this and related projects on the following link:
This work has been an international collaborative tasks joining efforts from Linnaeus University in Sweden, and Pontificia Universidad Católica de Chile in Chile, with Didac and Juan Felipe as the main researchers behind this
Feel free to contact us to obtain more information regard this and related research projects.
Didac is a PhD Candidate in Media Technology at the Faculty of Technology at Linnaeus University (LNU) in Sweden. He holds a Master Degree in Mobile Communications from the Politechnical University of Catalonia (UPC) in Spain. His PhD research focuses on aspects related to mobile collaborative systems by the share of resources between mobile devices. Currently, Didac is using a Agent-based approach for resource and service share in a mobile devices-based infrastructure. His main areas of interest include Technology Enhanced Learning, Mobile and Ubiquitous Technologies, Software Engineering, Distributed Systems and Software and Technology Design. firstname.lastname@example.org
Danny is a professor at the Department of Computer Science of Linnaeus University, Växjö campus, where leads the AdaptWise research group. His research interest is in software engineering of self-adaptive systems, including formalisms and design models to realize and assure self-adaptation for different quality goals. Currently he works on empirically validate his research results in the domains of smart homes and multi-robot systems. Before joining Linnaeus, Danny was affiliated with DistriNet Labs at the Katholieke Universiteit Leuven, where he received a Ph.D for work on multiagent systems and software archtitecture. After his Ph.D, Danny Weyns worked as a postdoc fellow, funded by the Research Foundation Flanders. email@example.com