Titel: A Control-based Approach for Self-adaptive Software Systems with Formal Guarantees
Ämne: Data- och informationsvetenskap
Fakultet: Fakulteten för teknik
Datum: Fredagen den 15 december 2017 kl 13.00
Plats: Sal D1136, hus D, Växjö
Opponent: Lektor Antonio Filieri, Imperial College London, England
Examinator: Professor Welf Löwe, Institutionen för datavetenskap, Linnéuniversitetet
Handledare: Professor Danny Weyns, Institutionen för datavetenskap, Linnéuniversitetet
Ordförande: Lektor Jesper Andersson, Institutionen för datavetenskap, Linnéuniversitetet
Engineering modern software systems is a challenging task as these systems are subject to different types of uncertainties. Examples of such uncertainties are disturbances in the environment that are difficult to predict and goals that may change during operation. The idea of self-adaptation is to handle these uncertainties at runtime, when the knowledge becomes available to resolve them. As more systems with strict goals require self-adaptation, the need for guarantees of self-adaptive systems is becoming a high-priority concern. Providing such guarantees with traditional architecture-based approaches has shown to be challenging, calling for new approaches to engineer self-adaptive systems.
To tackle this challenge, this thesis studies control-based software adaptation (CBSA). CBSA applies principles from control theory to design self-adaptive software systems. More specifically, we look at a research problem inherent to systems with strict goals, namely: how to guarantee the satisfaction of different system goals with a generally applicable CBSA solution that is able to handle different types of uncertainties.
The thesis starts with a systematic literature review of CBSA, which provides an extensive overview of the field, including existing CBSA approaches, applied models and controllers, analyzed guarantees, etc. From the review, we identify a number of gaps in the existing research and concrete challenges in addressing the research problem. Then, we use a formally founded approach grounded in control theory to develop SimCA. SimCA deals with the research problem by combining mathematical modeling, a control-based adaptation mechanism, and formal analysis of the required guarantees. The approach is reusable, meaning that it is not tied to a specific software system or application domain.
Finally, we present an enhanced approach called SimCA* that handles a new type of system requirement and supports on the fly activation, deactivation, and change of requirements. In order to obtain evidence about the applicability and reusability of SimCA and SimCA*, we apply informal exploratory case studies with two simulated systems from different domains.