Abstract
Safety-critical embedded software is routinely programmed in block-diagram languages. Recent work in the Vélus project specifies such a language and its compiler in the Coq proof assistant. It builds on the CompCert verified C compiler to give an end-to-end proof linking the dataflow semantics of source programs to traces of the generated assembly code. We extend this work with switched blocks, shared variables, reset blocks, and state machines; define a relational semantics to integrate these block- and mode-based constructions into the existing stream-based model; adapt the standard source-to-source rewriting scheme to compile the new constructions; and reestablish the correctness theorem.
| Original language | English |
|---|---|
| Article number | 137 |
| Journal | ACM Transactions on Embedded Computing Systems |
| Volume | 22 |
| Issue number | 5 s |
| DOIs | |
| Publication status | Published - 9 Sept 2023 |
Keywords
- Stream languages
- interactive theorem proving
- verified compilation