CoPilot
CoPilot is a domain-specific, embedded-stream language for generating hard real-time C code for monitors. Copilot is a runtime verification framework written in Haskell. It allows the user to write programs in a simple but powerful way using a stream-based approach.
Programs can be interpreted for testing, or translated into C99 code to be incorporated in a project or as a standalone application. The C99 backend output is constant in memory and time, making it suitable for systems with hard realtime requirements.

Acknowledgements
This work is supported in part by the DARPA Assured Autonomy program.
Contacts
ORGANIZATION
NASA
Galois, Inc.