A self-adaptive system (SAS) is a system that can adapt its behaviour in re- sponse to environmental fluctuations at runtime and its own changes. Therefore, the decision-making process of a SAS is challenged by the underlying uncertainty. In this dissertation, the author focuses on the kind of uncertainty associated with the satisficement levels of non-functional requirements (NFRs) given a set of design decisions reflected on a SAS configuration. Specifically, the focus of this work is on the specification and runtime handling of the uncertainty related to the levels of satisficement of the NFRs when new evidence is collected, and that may create the need of adaptation based on the reconfiguration of the system. Specifically, this dissertation presents two approaches that address decision-making in SASs in the face of uncertainty. First, we present RE-STORM, an approach to support decision- making under uncertainty, which uses the current satisficement level of the NFRs in a SAS and the required trade-offs, to therefore guide its self-adaptation. Second, we describe ARRoW, an approach for the automatic reassessment and update of initial preferences in a SAS based on the current satisficement levels of its NFRs. We eval- uate our proposals using a case study, a Remote Data Mirroring (RDM) network. Other cases have been used as well in different publications. The results show that under uncertain environments, which may have not been foreseen in advance, it is feasible that: (a) a SAS reassess the preferences assigned to certain configurations and, (b) reconfigure itself at runtime in response to adverse conditions, in order to keep satisficing its requirements.
|Date of Award||Jun 2020|
|Supervisor||Aniko Ekárt (Supervisor)|
- runtime models
- NFR preferences