Keep it SIMPLEX: Satisfying Multiple Goals with Guarantees in Control-Based Self-Adaptive Systems Stepan Shevtsov, Danny Weyns (Dept. of Computer Science, Linnaeus University) and Martina Maggio (Dept. of Automatic Control, Lund University) |
This website contains supporting material for the paper Keep it SIMPLEX: Satisfying Multiple Goals with Guarantees in Control-Based Self-Adaptive Systems submitted for review. The core contribution of the paper is SimCA (Simplex Control Adaptation), a new control-based approach to self-adaptation that satisfies multiple goals, while being optimal with respect to an additional goal. SimCA offers robustness to measurement inaccuracy and environmental disturbances, and provides formal guarantees.
To evaluate SimCA, we used a self-adaptive Unmanned Underwater Vehicle (UUV) system: Download the UUV application (.zip archive). The full project source code is available only for research purposes: UUV source code To run the UUV application simply unpack the archive and double click on UUVmain.jar; to run from console type: java -jar UUVmain.jar. Note that the application requires the latest version of Java Runtime Environment (JRE) (download). |
As more systems with critical requirements require self-adaptation, providing guarantees for adaptation has become a high-priority concern. Already a decade ago, Hellerstein et al. [4] argued for applying principles from control theory as a potential solution for runtime adaptation of software systems with formal guarantees. Recently, a strategy for applying control theory in a general way has been proposed in the form of the Push-Button Methodology (PBM) [2]. PBM can automatically build a controller of an adaptive software system that rejects environmental disturbances, while providing control-theoretical guarantees for key properties of adaptation. However, PBM deals only with one quantifiable goal at a time, which is often too restrictive for real applications. In our research, we focus at one relevant problem that requires satisfying multiple goals of a software system while optimizing the solution according to an additional goal. A well-known approach to handle such problems is the simplex method [3] and its variations. However, simplex cannot be applied "as is" to realistic software problems as it can not handle the variety of uncertainties and disturbances that are inherent to modern software systems. To tackle the challenge of satisfying multiple goals in self-adaptive software systems, we developed a new approach called Simplex Control Adaptation (SimCA) that builds upon PBM and the simplex method, combining strengths of both approaches. The general adaptation problem we are aiming to solve with SimCA is the following: Guarantee the satisfaction of multiple goals and optimize the solution according to another goal, regardless of possible fluctuations in the software parameters, measurement accuracies, requirement changes, and dynamics in the environment that are difficult to predict. |
To build an adaptive system with SimCA, the approach requires four elements from a software engineer: With these four elements SimCA is able to build a self-adaptive system that solves the adaptation problem formulated above. The approach works in three phases: The detailed description of SimCA phases is available in the submitted paper. |
![]()
Fig. 1: System properties guaranteed by
controllers in SimCA
The detailed evaluation of guarantees provided by SimCA as well as the description of boundaries of guarantees is available in the submitted paper. |
One UUV with five sensors
|
On-board sensor | Energy cons., J/s | Speed, m/s | Accuracy, % |
Sensor 1 | 170 | 2.6 | 97 |
Sensor 2 | 135 | 3.6 | 89 |
Sensor 3 | 118 | 2.6 | 83 |
Sensor 4 | 100 | 3.0 | 74 |
Sensor 5 | 78 | 3.6 | 49 |
One UUV with two sensor panels
|
Sensor comb. | Energy cons., J/s | Speed, m/s | Accuracy, % |
S1+S6 | 200 | 5.2 | 96 |
S1+S7 | 190 | 5.4 | 93 |
S1+S8 | 175 | 5.6 | 84 |
S1+S9 | 170 | 5.6 | 83 |
S1+S10 | 160 | 5.2 | 83 |
Sensor comb. | Energy cons., J/s | Speed, m/s | Accuracy, % |
S2+S6 | 165 | 6.4 | 91 |
S2+S7 | 155 | 6.6 | 89 |
S2+S8 | 140 | 7.0 | 80 |
S2+S9 | 135 | 6.5 | 79 |
S2+S10 | 125 | 6.2 | 79 |
Sensor comb. | Energy cons., J/s | Speed, m/s | Accuracy, % |
S3+S6 | 148 | 5.3 | 88 |
S3+S7 | 138 | 5.5 | 86 |
S3+S8 | 123 | 5.9 | 75 |
S3+S9 | 118 | 5.2 | 77 |
S3+S10 | 108 | 5.2 | 76 |
Sensor comb. | Energy cons., J/s | Speed, m/s | Accuracy, % |
S4+S6 | 130 | 5.6 | 84 |
S4+S7 | 120 | 6.0 | 81 |
S4+S8 | 105 | 6.2 | 72 |
S4+S9 | 100 | 6.0 | 72 |
S4+S10 | 90 | 5.6 | 71 |
Sensor comb. | Energy cons., J/s | Speed, m/s | Accuracy, % |
S5+S6 | 108 | 6.1 | 71 |
S5+S7 | 98 | 6.6 | 69 |
S5+S8 | 83 | 7.0 | 60 |
S5+S9 | 78 | 6.6 | 60 |
S5+S10 | 68 | 6.3 | 59 |
The Outcomes
|