Skip to Main content Skip to Navigation
Conference papers

A Higher-Order Extension for Imperative Synchronous Languages

Abstract : This article presents the very first effective design of higher-order modules in the synchronous programming language Esterel. Higher-order modules, together with the robust separate compilation scheme that implements it, allow us to address a yet unexplored application spectrum ranging from rapid prototyping of embedded functionality to hot reconfiguration of embedded software within the formal modeling framework of the “synchronous hypothesis”. While extensions of data-flow synchronous languages had already been proposed for Lustre and Signal, the adaptation of similar programming concepts to imperative synchronous frameworks like Esterel has long posed major technical challenges, due to the specificity of its model of computation. We present a framework including a formal semantics, a type system, and a modular code generator, that tackle this challenge. We consider a specific stack-based module call convention and a simple event pooling protocol ; in consequence signals can refer to modules and modules can be transmitted and instantiated by referencing a signal. We define a type system that computes the potential emissions of a module and prove it sound. Our type system seamlessly fits an extension of Esterel's constructive semantics with higher-order modules.
Complete list of metadata

Cited literature [24 references]  Display  Hide  Download
Contributor : Sébastien Boisgérault Connect in order to contact the contributor
Submitted on : Monday, November 8, 2010 - 3:22:03 PM
Last modification on : Friday, February 4, 2022 - 3:10:56 AM
Long-term archiving on: : Friday, October 26, 2012 - 3:16:39 PM


Files produced by the author(s)


  • HAL Id : hal-00533953, version 1


Eric Vecchié, Jean-Pierre Talpin, Sébastien Boisgérault. A Higher-Order Extension for Imperative Synchronous Languages. SCOPES 2010, Jun 2010, France. ⟨hal-00533953⟩



Record views


Files downloads