In this paper we present an approach to add self-adaptive features to software systems not initially designed to be self-adaptive. Rapid changes in users needs, available resources, and types of system faults are everyday concerns in operating complex systems. The ability to face these issues in a (semi-)automatic fashion is a welcome feature. MAPE-K (Monitor, Analyze, Plan, Execute - Knowledge), or one of its variations, is the basic architectural pattern around which most adaptation engines are built. The knowledge (K) element in that pattern is usually a collection of dynamic and static models representing relevant aspects of the system and its environment. Knowledge-based features can be encoded using various techniques and serve a number of disparate roles: providing dynamic views of the system (Reflection Models), representing reconfiguration policies (Evaluation Models), mapping reconfigurations into system-level adaptations (Execution Models), and so forth. In our approach all these models are unified by using ontologies and Semantic Web technologies; the resulting knowledge base is then used to drive adaptation activities. We discuss how the various MAPE-K components can be designed in order to take advantage of this knowledge base by applying our approach to a real-word case study: a deployed system that was not designed to perform automatic adaptation. We then discuss merits and limits of our proposal both in the context of this specific case study and in a broader scope.
Poggi, F., Rossi, D., Ciancarini, P., Bompani, L. (2016). An application of semantic technologies to self adaptations. Institute of Electrical and Electronics Engineers Inc. [10.1109/RTSI.2016.7740548].
An application of semantic technologies to self adaptations
Poggi, Francesco;Rossi, Davide;Ciancarini, Paolo;Bompani, Luca
2016
Abstract
In this paper we present an approach to add self-adaptive features to software systems not initially designed to be self-adaptive. Rapid changes in users needs, available resources, and types of system faults are everyday concerns in operating complex systems. The ability to face these issues in a (semi-)automatic fashion is a welcome feature. MAPE-K (Monitor, Analyze, Plan, Execute - Knowledge), or one of its variations, is the basic architectural pattern around which most adaptation engines are built. The knowledge (K) element in that pattern is usually a collection of dynamic and static models representing relevant aspects of the system and its environment. Knowledge-based features can be encoded using various techniques and serve a number of disparate roles: providing dynamic views of the system (Reflection Models), representing reconfiguration policies (Evaluation Models), mapping reconfigurations into system-level adaptations (Execution Models), and so forth. In our approach all these models are unified by using ontologies and Semantic Web technologies; the resulting knowledge base is then used to drive adaptation activities. We discuss how the various MAPE-K components can be designed in order to take advantage of this knowledge base by applying our approach to a real-word case study: a deployed system that was not designed to perform automatic adaptation. We then discuss merits and limits of our proposal both in the context of this specific case study and in a broader scope.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.