Requirements-based Software System Adaptation

Silva Souza, Vítor Estêvão (2012) Requirements-based Software System Adaptation. PhD thesis, University of Trento.

PDF - Doctoral Thesis
Available under License Creative Commons Attribution Share Alike.



Nowadays, there are more and more software systems operating in highly open, dynamic and unpredictable environments. Moreover, as technology advances, requirements for these systems become ever more ambitious. We have reached a point where system complexity and environmental uncertainty are major challenges for the Information Technology industry. A solution proposed to deal with this challenge is to make systems (self-)adaptive, meaning they would evaluate their own behavior and performance, in order to re-plan and reconfigure their operations when needed. In order to develop an adaptive system, one needs to account for some kind of feedback loop. A feedback loop constitutes an architectural prosthetic to a system proper, introducing monitoring and adaptation functionalities to the overall system. Even if implicit or hidden in the system's architecture, adaptive systems must have a feedback loop among their components in order to evaluate their behavior and act accordingly. In this thesis, we take a Requirements Engineering perspective to the design of adaptive software systems and, given that feedback loops constitute an (architectural) solution for adaptation, we ask the question: what is the requirements problem this solution is intended to solve? To answer this question, we define two new classes of requirements: Awareness Requirements prescribe the indicators of requirements convergence that the system must strive to achieve, whereas Evolution Requirements represent adaptation strategies in terms of changes in the requirements models themselves. Moreover, we propose that System Identification be conducted to elicit parameters and analyze how changes in these parameters affect the monitored indicators, representing such effect using differential relations. These new elements represent the requirements for adaptation, making feedback loops a first-class citizen in the requirements specification. Not only they assist requirements engineers in the task of elicitation and communication of adaptation requirements, but with the proper machine-readable representations, they can serve as input to a framework that implements the generic functionalities of a feedback loop, reasoning about requirements at runtime. We have developed one such framework, called Zansin, and validated our proposals through experiments based on a well-known case study adopted from the literature.

Item Type:Doctoral Thesis (PhD)
Doctoral School:Information and Communication Technology
PhD Cycle:XXIV
Subjects:Area 01 - Scienze matematiche e informatiche > INF/01 INFORMATICA
Uncontrolled Keywords:Adaptive systems, requirements, feedback loops, awareness, evolution, system identification, Zanshin, Qualia
Funders:Partially supported by the ERC advanced grant 267856 "Lucretius: Foundations for Software Evolution"
Repository Staff approval on:11 Jul 2012 13:53

Related URLs:

Repository Staff Only: item control page