Non-functional requirements are the main drivers behind the design choices that shape a software architecture. Self-adaptive systems blur the boundary between design-time and run-time allowing the dynamic re-shaping of a running system to better accommodate changes in the execution context or in stakeholders' expectations. When these expectations are related to aspects that influence architectural decisions this imply the ability to reconsider these decisions at runtime without the need of re-deployment (and associated system downtime). Existing research works on non-functional requirements in self-adaptive systems usually focus on operationalizable requirements, which entails development activities refining these changes into their run-time counterparts (such as SLAs). In this paper we present an approach that allows the autonomic re-shaping of the architecture of a self-adaptive system when high-level nonfunctional non-operationalizable requirements change. Changes in the requirements while the system is operational can trigger a re-evaluation of specific design choices resulting in reconfiguration activities that modify the system architecture. Our approach is based on a (semantic) runtime requirements model that can be automatically refined from high-level representations using model-to-model (M2M) transformations.
Rossi, D., Poggi, F., Ciancarini, P. (2018). Dynamic high-level requirements in self-adaptive systems. 1515 BROADWAY, NEW YORK, NY 10036-9998 USA : Association for Computing Machinery [10.1145/3167132.3167143].
Dynamic high-level requirements in self-adaptive systems
Rossi, Davide;Poggi, Francesco;Ciancarini, Paolo
2018
Abstract
Non-functional requirements are the main drivers behind the design choices that shape a software architecture. Self-adaptive systems blur the boundary between design-time and run-time allowing the dynamic re-shaping of a running system to better accommodate changes in the execution context or in stakeholders' expectations. When these expectations are related to aspects that influence architectural decisions this imply the ability to reconsider these decisions at runtime without the need of re-deployment (and associated system downtime). Existing research works on non-functional requirements in self-adaptive systems usually focus on operationalizable requirements, which entails development activities refining these changes into their run-time counterparts (such as SLAs). In this paper we present an approach that allows the autonomic re-shaping of the architecture of a self-adaptive system when high-level nonfunctional non-operationalizable requirements change. Changes in the requirements while the system is operational can trigger a re-evaluation of specific design choices resulting in reconfiguration activities that modify the system architecture. Our approach is based on a (semantic) runtime requirements model that can be automatically refined from high-level representations using model-to-model (M2M) transformations.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.