Copilot: monitoring embedded systems

  • Authors:
  • Lee Pike;Nis Wegmann;Sebastian Niller;Alwyn Goodloe

  • Affiliations:
  • Galois, Inc., Portland, USA;University of Copenhagen, Copenhagen, Denmark;Evertz Microsystems, Burlington, Canada;NASA, Hampton, USA

  • Venue:
  • Innovations in Systems and Software Engineering
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

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.