This article focuses on formally specifying and verifying the chain of formal semantics of the Esterel synchronous programming language using the Coq proof assistant. In particular, in addition to the standard logical (LBS) semantics, constructive semantics (CBS) and constructive state semantics (CSS), we introduce a novel microstep semantics that gets rid of the Must/Can potential function pair of the constructive semantics and can be viewed as an abstract version of Esterel’s circuit semantics used by compilers to generate software code and hardware designs. The article also comes with formal proofs in Coq of the equivalence between the CBS and CSS semantics and of the refinement of the CSS by the microstep semantics, except for the loop construct of Esterel.
@Article{rieg_et_al:LITES.10.1.2, author = {Rieg, Lionel and Berry, G\'{e}rard}, title = {{Towards a Coq-verified Chain of Esterel Semantics}}, journal = {Leibniz Transactions on Embedded Systems}, pages = {2:1--2:54}, ISSN = {2199-2002}, year = {2025}, volume = {10}, number = {1}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LITES.10.1.2}, URN = {urn:nbn:de:0030-drops-230144}, doi = {10.4230/LITES.10.1.2}, annote = {Keywords: Esterel programming language, formal verification, Coq proof assistant} }
Feedback for Dagstuhl Publishing