Abstract
Runtime verification (RV) is a natural fit for ultra-critical systems that require correct software behavior. Due to the low reliability of commodity hardware and the adversity of operational environments, it is common in ultra-critical systems to replicate processing units (and their hosted software) and incorporate fault-tolerant algorithms to compare the outputs, even if the software is considered to be fault-free. In this paper, we investigate the use of software monitoring in distributed fault-tolerant systems and the implementation of fault-tolerance mechanisms using RV techniques. We describe the Copilot language and compiler that generates monitors for distributed real-time systems, and we discuss two case-studies in which Copilot-generated monitors were used to detect onboard software and hardware faults and monitor air-ground data link messaging protocols.
Original language | English |
---|---|
Journal | Innovations in Systems and Software Engineering |
Volume | 9 |
Issue number | 4 |
Pages (from-to) | 235-255 |
Number of pages | 21 |
ISSN | 1614-5046 |
DOIs | |
Publication status | Published - Dec 2013 |