Runtime Monitoring and Resolution of Probabilistic Obstacles to System Goals
Cailliau, Antoine;van Lamsweerde, Axel
(2017) 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) — Location: Buenos Aires, Argentina (20.May.2017)
Software systems are deployed in environments that keep changing over time. They should therefore adapt to changing conditions in order to meet their requirements. The satisfaction rate of these requirements depends on the rate at which adverse conditions prevent their satisfaction. Obstacle analysis is a goal-oriented form of risk analysis for requirements engineering (RE) whereby obstacles to system goals are identified, assessed, and resolved through countermeasures yielding new requirements. The selection of appropriate countermeasures relies on the assessed likelihood and criticality of obstacles together with environmental assumptions. These various factors are estimated at RE time; they may however evolve during software development and at system runtime. To meet the system’s goals under changing conditions, the paper proposes to defer obstacle resolution to system runtime. Following Monitor–Analyze–Plan–Execute cycles, techniques are presented for monitoring goal/obstacle satisfaction rates; deciding when adaptation should be triggered; and adapting the system on the fly to countermeasures that are more appropriate under the monitored conditions. The approach relies on a model where goals and obstacles are refined and specified in a probabilistic linear temporal logic. The proposed techniques allow for (a) monitoring the satisfaction rate of probabilistic leaf obstacles; (b) determining the severity of their consequences by up-propagating satisfaction rates through refinement trees from leaf obstacles to high-level probabilistic goals; and (c) dynamically shifting to alternative countermeasures that better meet the required satisfaction rate of the system’s high-level goals under imposed cost constraints. Our approach is evaluated on fragments of an ambulance dispatching system.
Cailliau, A., & van Lamsweerde, A. (2017). Runtime Monitoring and Resolution of Probabilistic Obstacles to System Goals. Proceeding SEAMS ’17 Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. Published. 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Buenos Aires, Argentina. https://doi.org/10.1109/SEAMS.2017.5