A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System
This addresses the problem of ensuring reliability in decentralized self-adaptive systems, which is incremental as it applies existing formal verification methods to a specific domain.
The paper tackled the challenge of providing guarantees for runtime qualities in decentralized self-adaptive systems by using model checking to verify behavioral properties, resulting in a formalized architecture model of a traffic monitoring system and proofs for flexibility and robustness properties.
Self-adaptation is a promising approach to manage the complexity of modern software systems. A self-adaptive system is able to adapt autonomously to internal dynamics and changing conditions in the environment to achieve particular quality goals. Our particular interest is in decentralized self-adaptive systems, in which central control of adaptation is not an option. One important challenge in self-adaptive systems, in particular those with decentralized control of adaptation, is to provide guarantees about the intended runtime qualities. In this paper, we present a case study in which we use model checking to verify behavioral properties of a decentralized self-adaptive system. Concretely, we contribute with a formalized architecture model of a decentralized traffic monitoring system and prove a number of self-adaptation properties for flexibility and robustness. To model the main processes in the system we use timed automata, and for the specification of the required properties we use timed computation tree logic. We use the Uppaal tool to specify the system and verify the flexibility and robustness properties.