Skip to Main content Skip to Navigation

Mechanized semantics and verified compilation for a dataflow synchronous language with reset

Lélio Brun 1, 2
2 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, CNRS - Centre National de la Recherche Scientifique, Inria de Paris
Abstract : Specifications based on block diagrams and state machines are used to design control software, especially in the certified development of safety-critical applications. Tools like Scade and Simulink/Stateflow are equipped with compilers that translate such specifications into executable code. They provide programming languages for composing functions over streams as typified by dataflow synchronous languages like Lustre. In this thesis we present Vélus, a Lustre compiler verified in the interactive theorem prover Coq. We develop semantic models for the various languages in the compilation chain, and build on the verified CompCert C compiler to generate executable code and give an end-to-end correctness proof. The main challenge is to show semantic preservation between the dataflow paradigm and the imperative paradigm, and to reason about byte-level representations of program states. We treat, in particular, the modular reset construct, a primitive for resetting subsystems. This necessitates the design of suitable semantic models, compilation algorithms and corresponding correctness proofs. We introduce a novel intermediate language into the usual clock-directed modular compilation scheme of Lustre. This permits the implementation of compilation passes that generate better sequential code, and facilitates reasoning about the correctness of the successive transformations of the modular reset construct.
Document type :
Complete list of metadata
Contributor : Abes Star :  Contact
Submitted on : Tuesday, December 15, 2020 - 4:35:10 PM
Last modification on : Thursday, July 1, 2021 - 5:58:09 PM
Long-term archiving on: : Tuesday, March 16, 2021 - 8:05:08 PM


Version validated by the jury (STAR)


  • HAL Id : tel-03068862, version 1



Lélio Brun. Mechanized semantics and verified compilation for a dataflow synchronous language with reset. Programming Languages [cs.PL]. Université Paris sciences et lettres, 2020. English. ⟨NNT : 2020UPSLE003⟩. ⟨tel-03068862⟩