Departmental Papers (CIS)

Date of this Version

July 2002

Document Type

Conference Paper


Postprint version. Published in Electronic Notes in Theoretical Computer Science, Volume 70, Issue 4, December 2002, Proceedings of the Second International Workshop on Runtime Verification (RV 2002).
Publisher URL:


The MaC system has been developed to provide assurance that a target program is running correctly with respect to formal requirements specification. This is achieved by monitoring and checking the execution of the target program at run-time. MaC bridges the gap between formal verification, which ensures the correctness of a design rather than an implementation, and testing, which only partially validates an implementation. One weakness of the MaC system is that it can detect property violations but cannot provide any feedback to the running system. To remedy this weakness, the MaC system has been extended with a feedback capability. The resulting system is called MaCS (Monitoring and Checking with Steering). The feedback component uses the information collected during monitoring and checking to steer the application back to a safe state after an error occurs. We present a case study where MaCS is used in a control system that keeps an inverted pendulum upright. MaCS detects faults in controllers and performs dynamic reconfiguration of the control system using steering.


Run-time verification, steering, Simplex architecture



Date Posted: 28 April 2005

This document has been peer reviewed.