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.

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.
2016 IEEE 2nd International Forum on Research and Technologies for Society and Industry Leveraging a Better Tomorrow, RTSI 2016
1
6
Poggi, Francesco; Rossi, Davide; Ciancarini, Paolo; Bompani, Luca
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/611883
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 9
  • ???jsp.display-item.citation.isi??? 5
social impact