The Copilot Runtime Verification Framework
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal has been previewed by the Fedora Engineering Steering Committee and members of Fedora QA as it is a late change, and has been provisionally approved as acceptable for F42 release, pending community feedback. If any feedback is received that alters the change proposal in a significant way, it will be resubmitted to FESCo for a further review and vote.
Summary
Copilot Language and Runtime Verification System is a stream-based runtime-verification framework for generating hard real-time C code.
Owner
- Name: Frank Dedden
- Email: frank@systemf.dev
- Name: Jens Petersen
- Email: petersen@redhat.com
Detailed Description
Copilot is a realtime programming language and Runtime Verification framework, developed for NASA. It allows users to write concise programs in a simple but powerful way using a stream-based approach.
Programs can be interpreted for testing, or translated C99 code to be incorporated in a project, or as a standalone application. The C99 backend ensures us that the output is constant in memory and time, making it suitable for systems with hard realtime requirements.
Feedback
Benefit to Fedora
This is a new feature in Fedora which will of interest to those developing specific critical embedded systems requiring a high level of software assurance.
Scope
-
Proposal owners:
- build the copilot stack for Rawhide/F42: version 3.19 is packaged [done]
-
Other developers:
-
Release engineering: #Releng issue number
-
Policies and guidelines: N/A (not needed for this Change)
-
Trademark approval: N/A (not needed for this Change)
-
Alignment with the Fedora Strategy:
Upgrade/compatibility impact
Early Testing (Optional)
Do you require âQA Blueprintâ support? Y/N
How To Test
sudo dnf install ghc-copilot-devel
- follow the documentation below for tutorial examples
User Experience
Users will be able to easily install the Copilot verification framework and test it.
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
- Copilot: Documentation
- GitHub - Copilot-Language/copilot: A stream-based runtime-verification framework for generating hard real-time C code.
- Runtime Verification of Hard Realtime Systems With Copilot: A Tutorial - NASA Technical Reports Server (NTRS)
Last edited by @amoloney 2025-03-10T12:22:22Z
Last edited by @amoloney 2025-03-10T12:22:22Z