Zone-based formal specification and timing analysis of real-time self-adaptive systems

https://doi.org/10.1016/j.scico.2018.03.002Get rights and content
Under an Elsevier user license
open archive

Highlights

  • Formal model for self-adaptive behavior of real-time systems.

  • Modular and incremental modeling and verification process.

  • Mapping of the model into state space regions identifying adaptation behavior.

  • Adaptation requirements model checking, including temporal properties.

Abstract

Self-adaptive software systems are able to autonomously adapt their behavior at run-time to react to internal dynamics and to uncertain and changing environment conditions. Formal specification and verification of self-adaptive systems are tasks generally very difficult to carry out, especially when involving time constraints. In this case, in fact, the system correctness depends also on the time associated with events.

This article introduces the Zone-based Time Basic Petri nets specification formalism. The formalism adopts timed adaptation models to specify self-adaptive behavior with temporal constraints, and relies on a zone-based modeling approach to support separation of concerns. Zones identified during the modeling phase can be then used as modules either in isolation, to verify intra-zone properties, or all together, to verify inter-zone properties over the entire system. In addition, the framework allows the verification of (timed) robustness properties to guarantee self-healing capabilities when higher levels of reliability and availability are required to the system, especially when dealing with time-critical systems. This article presents also the ZAFETY tool, a Java software implementation of the proposed framework, and the validation and experimental results obtained in modeling and verifying two time-critical self-adaptive systems: the Gas Burner system and the Unmanned Aerial Vehicle system.

Keywords

Self-adaptation
Real-time systems
Petri nets
Formal verification
Timing analysis

Cited by (0)