Copilot: Monitoring Embedded SystemsRuntime verification (RV) is a natural fit for ultra-critical systems, where correctness is imperative. In ultra-critical systems, even if the software is fault-free, because of the inherent unreliability of commodity hardware and the adversity of operational environments, processing units (and their hosted software) are replicated, and fault-tolerant algorithms are used to compare the outputs. We investigate both software monitoring in distributed fault-tolerant systems, as well as implementing fault-tolerance mechanisms using RV techniques. We describe the Copilot language and compiler, specifically designed for generating monitors for distributed, hard real-time systems. We also describe two case-studies in which we generated Copilot monitors in avionics systems.
Document ID
20120001989
Acquisition Source
Langley Research Center
Document Type
Contractor Report (CR)
Authors
Pike, Lee (Galois, Inc. Portland, OR, United States)
Wegmann, Nis (Copenhagen Univ. Denmark)
Niller, Sebastian (National Inst. of Aerospace Hampton, VA, United States)
Goodloe, Alwyn (National Inst. of Aerospace Hampton, VA, United States)