SimCA*: a control-theoretic approach to handle uncertainty in self-adaptive systems with guarantees
Shevtsov, S.; Weyns, D.; Maggio, M. (2019). SimCA*: a control-theoretic approach to handle uncertainty in self-adaptive systems with guarantees. ACM Transactions on Autonomous and Adaptive Systems 13(4): 17. https://dx.doi.org/10.1145/3328730 In: ACM Transactions on Autonomous and Adaptive Systems. ASSOC COMPUTING MACHINERY: New York. ISSN 1556-4665; e-ISSN 1556-4703, more | |
Author keywords | Software; uncertainty; self-adaptation; control theory; SimCA*; IoT; UUV |
Authors | | Top | - Shevtsov, S., more
- Weyns, D., more
- Maggio, M.
| | |
Abstract | Self-adaptation provides a principled way to deal with software systems' uncertainty during operation. Examples of such uncertainties are disturbances in the environment, variations in sensor readings, and changes in user requirements. As more systems with strict goals require self-adaptation, the need for formal guarantees in self-adaptive systems is becoming a high-priority concern. Designing self-adaptive software using principles from control theory has been identified as one of the approaches to provide guarantees. In general, self-adaptation covers a wide range of approaches to maintain system requirements under uncertainty, ranging from dynamic adaptation of system parameters to runtime architectural reconfiguration. Existing control-theoretic approaches have mainly focused on handling requirements in the form of setpoint values or as quantities to be optimized. Furthermore, existing research primarily focuses on handling uncertainty in the execution environment. This article presents SimCA*, which provides two contributions to the state-of-the-art in control-theoretic adaptation: (i) it supports requirements that keep a value above and below a required threshold, in addition to setpoint and optimization requirements; and (ii) it deals with uncertainty in system parameters, component interactions, system requirements, in addition to uncertainty in the environment. SimCA* provides guarantees for the three types of requirements of the system that is subject to different types of uncertainties. We evaluate SimCA* for two systems with strict requirements from different domains: an Unmanned Underwater Vehicle system used for oceanic surveillance and an Internet of Things application for monitoring a geographical area. The test results confirm that SimCA* can satisfy the three types of requirements in the presence of different types of uncertainty. |
|