Formally Specified Monitoring of Temporal Properties
We describe the Monitoring and Checking (MaC) framework which provides assurance on the correctness of an execution of a real-time system at run-time. Monitoring is performed based on a formal specification of system requirements. MaC bridges the gap between formal specification, which analyzes designs rather than implementations, and testing, which validates implementations but lacks formality. An important aspect of the framework is a clear separation between implementation-dependent description of monitored objects and high-level requirements specification. Another salient feature is automatic instrumentation of executable code The paper presents an overview of the framework. languages to express monitoring scripts and requirements, and a prototype implementation of MaC targeted at systems implemented in Java.