Verified Compilation of Synchronous Dataflow with State Machines

Timothy Bourke, Basile Pesin, Marc Pouzet

Research output: Contribution to journalArticlepeer-review

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 languageEnglish
Article number137
JournalACM Transactions on Embedded Computing Systems
Volume22
Issue number5 s
DOIs
Publication statusPublished - 9 Sept 2023

Keywords

  • Stream languages
  • interactive theorem proving
  • verified compilation

Fingerprint

Dive into the research topics of 'Verified Compilation of Synchronous Dataflow with State Machines'. Together they form a unique fingerprint.

Cite this