Teaching Synchronous Dataflow Modelling with Learn-Heptagon
Pith reviewed 2026-06-28 12:06 UTC · model grok-4.3
The pith
Learn-Heptagon provides an online environment for writing, simulating, and model-checking Lustre programs in a browser.
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
We developed Learn-Heptagon, an online application that allows for writing, simulating, and proving properties of Lustre programs, and we present this application together with the associated lesson plan used to teach synchronous dataflow modelling to engineering students.
What carries the argument
Learn-Heptagon, an online platform that integrates program editing, simulation of synchronous dataflow execution, and model-checking of properties expressed as observers or contracts.
Load-bearing premise
An online application of this kind will in fact streamline the learning experience and avoid technical issues for the target student population.
What would settle it
A controlled comparison in which students using local Lustre installations complete the same assignments with equal or fewer setup problems and comparable or better learning outcomes than those using Learn-Heptagon.
read the original abstract
Lustre is a synchronous dataflow language designed to implement safety-critical embedded software. In addition to writing executable programs, the language doubles as a program logic, used for writing specification as synchronous observers or assume-guarantee contracts that specify properties of these programs. These specifications may be used during testing or proved exhaustively using model-checking tools. We taught a course on Lustre to last year engineering students. To streamline the learning experience and avoid technical issues, we developped an online application, Learn-Heptagon, which allows for writing, simulating, and proving properties of Lustre programs. This paper presents the application and the associated lesson plan.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper describes the development of Learn-Heptagon, an online web application allowing users to write, simulate, and prove properties of Lustre programs (via synchronous observers and assume-guarantee contracts), together with the lesson plan employed in a course on synchronous dataflow modelling taught to final-year engineering students. The stated motivation is to reduce technical setup friction compared with local installations of Lustre/Heptagon tooling.
Significance. The work supplies a concrete, immediately usable teaching artifact for a safety-critical language whose model-checking and contract features are otherwise difficult for novices to access. By bundling editing, simulation, and property proving in a single browser-based interface, the tool addresses a genuine pedagogical pain point; the accompanying lesson plan further documents how these features can be sequenced in a classroom setting. These are modest but tangible contributions to the literature on domain-specific-language education.
minor comments (1)
- [Abstract] Abstract: 'developped' is a typographical error and should read 'developed'.
Simulated Author's Rebuttal
We thank the referee for the positive review, the recognition of the pedagogical contributions of Learn-Heptagon, and the recommendation to accept the manuscript.
Circularity Check
No significant circularity; purely descriptive report
full rationale
The paper contains no derivations, equations, predictions, fitted parameters, or load-bearing self-citations. Its content is limited to describing the development of the Learn-Heptagon online tool for Lustre programs and presenting an associated lesson plan. The abstract and full text frame this as a straightforward report of tool creation and course delivery, with no claims that reduce to inputs by construction or rely on unverified self-referential premises. This matches the default expectation of a non-circular paper.
Axiom & Free-Parameter Ledger
Reference graph
Works this paper leans on
-
[1]
Timothy Bourke , title =
-
[2]
doi:10.1142/S0218194005002300 , url =
Timothy Bourke and Arcot Sowmya , title =. doi:10.1142/S0218194005002300 , url =
-
[3]
doi:10.1145/1176887.1176901 , url =
Timothy Bourke and Arcot Sowmya , title =. doi:10.1145/1176887.1176901 , url =
-
[4]
Leonid Ryzhyk and Timothy Bourke and Ihor Kuz , title =
-
[5]
doi:10.1145/1450058.1450068 , url =
Timothy Bourke and Arcot Sowmya , title =. doi:10.1145/1450058.1450068 , url =
-
[6]
Timothy Bourke and Arcot Sowmya , title =
-
[7]
Larsen and Axel Legay and Didier Lime and Ulrik Nyman and Andrzej W
Timothy Bourke and Alexandre David and Kim G. Larsen and Axel Legay and Didier Lime and Ulrik Nyman and Andrzej W. New Results on Timed Specifications , booktitle =. doi:10.1007/978-3-642-28412-0_12 , url =
-
[8]
Divide and Recycle: Types and Compilation for a Hybrid Synchronous Language , crossref =
Albert Benveniste and Timothy Bourke and Beno. Divide and Recycle: Types and Compilation for a Hybrid Synchronous Language , crossref =. doi:10.1145/1967677.1967687 , url =
-
[9]
Papailiopoulou, Virginia and Rajan, Ajitha and Parissis, Ioannis , editor =. Structural. Formal. doi:10.1007/978-3-642-24431-5_8 , abstract =
-
[10]
Albert Benveniste and Timothy Bourke and Beno. Non-Standard Semantics of Hybrid Systems Modelers , journal = jcss, year = 2012, month = may, volume = 78, number = 3, pages =. doi:10.1016/j.jcss.2011.08.009 , url =
-
[11]
Albert Benveniste and Timothy Bourke and Beno. A Hybrid Synchronous Language with Hierarchical Automata: Static Typing and Translation to Synchronous Code , crossref =. doi:10.1145/2038642.2038664 , url =
-
[12]
Timothy Bourke and Matthias Daum and Gerwin Klein and Rafal Kolanski , title =. Conferences on Intelligent Computer Mathematics (CICM 2012): Mathematical Knowledge Management , year = 2012, editor =. doi:10.1007/978-3-642-31374-5_3 , url =
-
[13]
doi:10.1145/2461328.2461348 , url =
Timothy Bourke and Marc Pouzet , title =. doi:10.1145/2461328.2461348 , url =
-
[14]
doi:10.1145/2539036.2539040 , url =
Timothy Bourke and Arcot Sowmya , title =. doi:10.1145/2539036.2539040 , url =
-
[15]
doi:10.1109/SP.2013.35 , url =
Toby Murray and Daniel Matichuk and Matthew Brassil and Peter Gammie and Timothy Bourke and Sean Seefried and Corey Lewis and Xin Gao and Gerwin Klein , title =. doi:10.1109/SP.2013.35 , url =
-
[16]
doi:10.1145/2562059.2562125 , url =
Albert Benveniste and Timothy Bourke and Benoit Caillaud and Bruno Pagano and Marc Pouzet , title =. doi:10.1145/2562059.2562125 , url =
-
[17]
Bourke, Timothy and van Glabbeek, Robert J. and H. Showing invariance compositionally for a process algebra for network protocols , crossref =. doi:10.1007/978-3-319-08970-6_10 , url =
-
[18]
Bourke, Timothy , journal = afp, title =
-
[19]
Bourke, Timothy and van Glabbeek, Robert J. and H. A mechanized proof of loop freedom of the (untimed). doi:10.1007/978-3-319-11936-6_5 , url =
-
[20]
Loop freedom of the (untimed)
Bourke, Timothy and H. Loop freedom of the (untimed)
-
[21]
Timothy Bourke and Jean-Louis Cola. A Synchronous-based Code Generator for Explicit Hybrid Systems Languages , booktitle = cc2015, year = 2015, pages =. doi:10.1007/978-3-662-46663-6_4 , url =
-
[22]
Bourke, Timothy and van Glabbeek, Robert J. and H. Mechanizing a Process Algebra for Network Protocols , journal = jar, year = 2016, volume = 56, number = 3, pages =. doi:10.1007/s10817-015-9358-9 , url =
-
[23]
doi:10.1109/EMSOFT.2015.7318263 , url =
Guillaume Baudart and Albert Benveniste and Timothy Bourke , title =. doi:10.1109/EMSOFT.2015.7318263 , url =
-
[24]
Guillaume Baudart and Albert Benveniste and Timothy Bourke , title =. doi:10.1145/2932189 , url =
-
[25]
doi:10.1109/FMCAD.2016.7886655 , url =
Guillaume Baudart and Timothy Bourke and Marc Pouzet , title =. doi:10.1109/FMCAD.2016.7886655 , url =
-
[26]
ACM Workshop on ML , year = 2016, month = sep, organization =acm, address =
Timothy Bourke and Jun Inoue and Marc Pouzet , title =. ACM Workshop on ML , year = 2016, month = sep, organization =acm, address =
2016
-
[27]
Timothy Bourke and Pierre-. V
-
[28]
A Formally Verified Compiler for
Timothy Bourke and L. A Formally Verified Compiler for. doi:10.1145/3062341.3062358 , url =
-
[29]
Albert Benveniste and Timothy Bourke and Beno. A type-based analysis of causality loops in hybrid systems modelers , journal = nahs, year = 2017, month = nov, pages =. doi:10.1016/j.nahs.2017.04.004 , url =
-
[30]
Guillaume Baudart and Timothy Bourke and Marc Pouzet , title =
-
[31]
Timothy Bourke and Francois Carcenac and Jean-Louis Cola. A Synchronous Look at the. doi:10.1145/3126516 , url =
-
[32]
Jean Souyris and Keryan Didier and Dumitru Potop and Guillaume Iooss and Albert Cohen and Timothy Bourke and Marc Pouzet , title =
-
[33]
doi:10.4204/EPTCS.285.4 , url =
Timothy Bourke and Jun Inoue and Marc Pouzet , title =. doi:10.4204/EPTCS.285.4 , url =
-
[34]
Towards a verified Lustre compiler with modular reset , pages =
Timothy Bourke and L. Towards a verified Lustre compiler with modular reset , pages =
-
[35]
Albert Benveniste and Timothy Bourke and Benoit Caillaud and Jean-Louis Cola. Building a Hybrid Systems Modeler on Synchronous Languages Principles , journal = procieee, year = 2018, month = sep, pages =. doi:10.1109/JPROC.2018.2858016 , url =
-
[36]
Guillaume Baudart and Timothy Bourke and Marc Pouzet , title =. Languages, Design Methods, and Tools for Electronic System Design: Selected Contributions from FDL 2017 , editor =. doi:10.1007/978-3-030-02215-0_3 , url =
-
[37]
Timothy Bourke and Marc Pouzet , title =
-
[38]
Timothy Bourke and L. Mechanized Semantics and Verified Compilation for a Dataflow Synchronous Language with Reset , journal = papl, publisher = acmpress, volume = 4, number =. doi:10.1145/3371112 , url =
-
[39]
Timothy Bourke and Paul Jeanmaire and Basile Pesin and Marc Pouzet , title =. 2021 , month = oct, pages =. doi:10.1145/3477041 , keywords =
-
[40]
Analyse de d
Timothy Bourke and Basile Pesin and Marc Pouzet , pages =. Analyse de d
-
[41]
Verified Compilation of Synchronous Dataflow with State Machines , author =. doi:10.1145/3608102 , url =
-
[42]
Functional Stream Semantics for a Synchronous Block-Diagram Compiler , author =
-
[43]
Guillaume Baudart , title =
-
[44]
Mechanized Semantics and Verified Compilation for a Dataflow Synchronous Language with Reset , school =
L. Mechanized Semantics and Verified Compilation for a Dataflow Synchronous Language with Reset , school =
-
[45]
Basile Pesin , title =
-
[46]
Paul Jeanmaire , title =
-
[47]
Guillaume Iooss and Marc Pouzet and Timothy Bourke , title =
-
[48]
Lee , title =
Edward A. Lee , title =. IEEE Computer , year = 2000, volume = 33, number = 9, pages =
2000
-
[49]
Alan Burns , title =
-
[50]
Harel and A
D. Harel and A. Pnueli , title =. Logics and models of concurrent systems , year = 1985, isbn =
1985
-
[51]
Preemption in Concurrent Systems , booktitle = fsttcs, year = 1993, month = dec, editor =
G\'. Preemption in Concurrent Systems , booktitle = fsttcs, year = 1993, month = dec, editor =
1993
-
[52]
Science of Computer Programming , volume = 8, number = 3, month = jun, pages =
David Harel , title =. Science of Computer Programming , volume = 8, number = 3, month = jun, pages =
-
[53]
Harel and A
D. Harel and A. Pnuelli and J.P. Schmidt and R. Sherman , title =. 2nd IEEE Symposium on Logic in Computer Science , year = 1987, review =
1987
-
[54]
Formal Techniques in Real-Time and Fault-Tolerant Systems , year =
Michael von der Beeck , title =. Formal Techniques in Real-Time and Fault-Tolerant Systems , year =
-
[55]
David Harel and Amnon Naamad , title =
-
[56]
Harel and H
D. Harel and H. Lachover and A. Naamad and A. Pnueli and M. Politi and R. Sherman and A. Shtull-Trauring and M. Trakhtenbrot , title =
-
[57]
Leveson and Mats Per Erik Heimdahl and Holly Hildreth and Jon Damon Reese , title =
Nancy G. Leveson and Mats Per Erik Heimdahl and Holly Hildreth and Jon Damon Reese , title =
-
[58]
von Hanxleden, Reinhard and Botorabi, Ali and Kupczyk, Slawomir , title =
-
[59]
David Harel , title =
-
[60]
Mikk and Y
E. Mikk and Y. Lakhnech and C. Petersohn and M. Siegel , title =. 2nd BCS-FACS Northern Formal Methods Workshop , year = 1997, address =
1997
-
[61]
Stefania Gnesi and Diego Latella and Mieke Massink , title =
-
[62]
A Compositional Approach to Statecharts Semantics , booktitle = FSE8, pages =
Gerald L. A Compositional Approach to Statecharts Semantics , booktitle = FSE8, pages =
-
[63]
The intuitionism behind Statecharts steps , journal = tocl, year = 2002, volume = 3, number = 1, pages =
Gerald L. The intuitionism behind Statecharts steps , journal = tocl, year = 2002, volume = 3, number = 1, pages =
2002
-
[64]
Werner Damm and Bernhard Josko and Hardi Hungar and Amir Pnueli , title =
-
[65]
The Synchronous Approach to Reactive and Real-Time Systems , journal = procieee, year = 1991, VOLUME= 79, number = 9, pages =
Albert Benveniste and G\'. The Synchronous Approach to Reactive and Real-Time Systems , journal = procieee, year = 1991, VOLUME= 79, number = 9, pages =
1991
-
[66]
Benveniste, Albert and Caspi, Paul and Edwards, Stephen and Halbwachs, Nicolas and Le Guernic, Paul and de Simone, Robert , title =
-
[67]
Synchronous Programming of Reactive Systems
Nicolas Halbwachs. Synchronous Programming of Reactive Systems
-
[68]
Real Time Programming: Special Purpose or General Purpose Languages , booktitle = ifip89, year = 1989, editor =
G. Real Time Programming: Special Purpose or General Purpose Languages , booktitle = ifip89, year = 1989, editor =
1989
-
[69]
Timing analysis enhancement for synchronous program , journal = rts, volume = 51, number = 2, pages =
Pascal Raymond and Claire Maiza and Catherine Parent. Timing analysis enhancement for synchronous program , journal = rts, volume = 51, number = 2, pages =
-
[70]
ESTEREL: Towards a synchronous and semantically sound high level language for Real Time Applications , crossref =
G\'. ESTEREL: Towards a synchronous and semantically sound high level language for Real Time Applications , crossref =
-
[71]
Esterel Technologies , organization =. The
-
[72]
The Foundations of
G\'. The Foundations of. Proof, Language and Interaction: Essays in Honour of Robin Milner , year = 2000, editor =
2000
-
[73]
G\'. The. Seminar on Concurrency , series = lncs, volume = 197, pages =
-
[74]
G\'. The. doi:10.1016/0167-6423(92)90005-V , url =
-
[75]
The Constructive Semantics of Pure Esterel , year = 2002, url =
G\'. The Constructive Semantics of Pure Esterel , year = 2002, url =
2002
-
[76]
Tardieu, Olivier and de Simone, Robert , title =
-
[77]
Olivier Tardieu , title =
-
[78]
Edwards and Edward A
Stephen A. Edwards and Edward A. Lee , title =
-
[79]
Shyamasundar , title =
Basant Rajan and R.K. Shyamasundar , title =
-
[80]
Martin Richard and Olivier Roux , title =
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.