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.

The UUV application

    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.

SimCA approach

    To build an adaptive system with SimCA, the approach requires four elements from a software engineer:

    • A working prototype of the software (plant).
    • A set of quantifiable goals to be controlled plus one optimization goal.
    • Tunable parameters (actuators) that can be used to influence the system to address the requirements at runtime.
    • Adaptation sensors to measure the effect of the adaptation on the system.

    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:

    • First, in the Identification phase, SimCA synthesizes models that capture the dependency between the adaptation parameters and the measured system outputs.
    • Second, in the Controller Synthesis phase, SimCA constructs an appropriate set of controllers for the synthesized models.
    • Third, in the Operation phase, the controllers carry out control and the outcome of multiple controllers is combined using the simplex method to optimally drive the outputs of the system towards the set goals.

    The detailed description of SimCA phases is available in the submitted paper.

The Guarantees

           SimCA provides the following guarantees: 
    • The achievement of system goals (except the optimization goal) is guaranteed by the set of controllers used in SimCA. Specifically, by using controllers we can formally prove the following four system properties:
      • stability;
      • steady-state error;
      • settling time;
      • overshoot.
    • The optimality of the obtained solution for the optimization goal is guaranteed by the simplex method.
    • The maximal amount of disturbance the system can withstand while remaining in stable state can be calculated from the controller equation.
    • The simplex method brings an additional guarantee for the adaptation strategy: it allows to detect an infeasible solution, i.e. it notifies the user about contradicting goals or impossibility to reach the goals.
    • The scalability of SimCA is also inherited from the simplex method.
                             System properties  
                                    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.

Case Study: the UUV system

    One UUV with five sensors

    To evaluate SimCA we use a self-adaptive UUV system based on the application described in [1]. UUVs have to operate in an environment that is subject to limitations and disturbances, correct sensing may be difficult to achieve, communication may be noisy, etc., requiring a UUV system to be self-adaptive. Furthermore, there is a need for guarantees as UUVs are safety critical, i.e., the system should not impact the ocean area, and business critical, since vehicles are expensive equipment that should not be lost during missions.

    The self-adaptive system in our study consists of a UUV used to carry out a surveillance and data gathering mission. The UUV is equipped with 5 on-board sensors that can measure the same attribute of the ocean environment (e.g., water current or salinity). Each sensor performs scans with a certain accuracy, while consuming a certain amount of energy, and requiring the UUV to move with the certain speed (see Table 1).

    The UUV system has to satisfy the following requirements:

    R1: A particular segment of surface S (100 km) should be examined by the UUV within a given time t (10 hours);

    R2: To perform the mission, a given amount of energy E is available (5.4 Megajoule);

    R3: Subject to R1 and R2, the accuracy of measurements should be maximized.

    To realize the requirements sensors can be dynamically turned on and off during mission. We assume that only one sensor is active at a time, however, we use a combination of sensors during each adaptation period.

    The requirements R1 and R2 are critical to the success of the surveillance mission, but they may change at runtime due to unpredictable events in the environment. In addition, the adaptation task is not trivial because the system is affected by different disturbances such as:

    • Fluctuations in the expected behaviour of the UUV (actual speed differs from the commanded speed, energy consumption differs from the specification) up to 10% of the expected values;
    • Inaccurate measurements: e.g., the monitoring mechanism reports a vehicle speed of 2.6 m/s instead of the actual value of 2.2 m/s;
    • Constant deviations of the sensor output due to a sensor problem, e.g., a sensor starts consuming 50% more energy than stated in the specification;
    • Sensor failures;
    • Gaussian or Random noise in the communication channel, which may cause errors of the communicated data.

    Summarizing, to realize its mission, the UUV is required to self-adapt to changes in requirements and reject different types of disturbances. The achievement of goals must be guaranteed.

    Table 1. Parameters of UUV 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

    To demonstrate the scalability of SimCA we extend the UUV case by significantly increasing the number of possible actuation options (combinations of sensors). In particular, we consider now an UUV equipped with two sensor panels, one on the left side and one on the right side. Each panel is provided with 5 on-board sensors that monitor a surface equal to the surface monitored by the single panel in the original case. The panels simultaneously monitor the respective surface, hence, a combination of two sensors (one from each panel) is used at the same time. The characteristics of all sensor combinations are specified in Table 2. The task of SimCA is to choose among 25 combinations in order to satisfy the following goals:

    R1: The underwater vehicle must examine S = 210 km of surface within t = 10 hours (i.e., mission speed = S/t = 5.83 m/s)

    R2: The amount of available energy E is limited to 5.3 Megajoules (i.e., mission energy consumption = E/S = 147 J/s).

    Table 2. Parameters of UUV sensor combinations
    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

    The experimentation with UUV scenarios under varying disturbances and different kinds of change can be performed in the UUV application. The results of experiments can be saved in different formats, such as a simple .png image or a tikz/latex compatible .csv file allowing to build vector graphs.

    In case of having issues with the application or discovering unexpected simulation outcomes, please, contact the development team.