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

https://hal-mines-paristech.archives-ouvertes.fr/hal-00533953
Contributor : Sébastien Boisgérault <>
Submitted on : Monday, November 8, 2010 - 3:22:03 PM
Last modification on : Tuesday, June 15, 2021 - 4:26:53 PM
Long-term archiving on: : Friday, October 26, 2012 - 3:16:39 PM

File

SCOPES-2010.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00533953, version 1

Citation

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

Share

Metrics

Record views

915

Files downloads

391