🤖 AI Summary
This work addresses the disconnect between programming and formal verification in teaching the synchronous dataflow language Lustre by proposing and implementing Learn-Heptagon, an integrated online educational platform. The platform combines web-based Lustre editing, simulation, and model checking capabilities, enabling automatic verification of synchronous observers and assume-guarantee contracts. It is accompanied by a pedagogical approach that seamlessly integrates programming exercises with formal specification tasks. Deployed in engineering courses, Learn-Heptagon significantly lowers the learning barrier and effectively enhances students’ comprehension and practical skills in synchronous dataflow modeling and formal methods.
📝 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.