Title: A Control-based Approach for Self-adaptive Software Systems with Formal Guarantees
Subject: Computer and Information Sciences
Faculty: Faculty of Technology
Date: Friday 15 December 2017 at 1.00 pm
Location: Room D1136, building D, Växjö
External reviewer: Assistant Professor Antonio Filieri, Imperial College London, England
Examiner: Professor Welf Löwe, Department of Computer Science, Linnaeus University
Supervisor: Professor Danny Weyns, Department of Computer Science, Linnaeus University
Chairman: Senior Lecturer Jesper Andersson, Department of Computer Science, Linnaeus University
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.