A Higher-Order Extension for Imperative Synchronous Languages - Mines Paris Accéder directement au contenu
Communication Dans Un Congrès Année : 2010

A Higher-Order Extension for Imperative Synchronous Languages


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.
Fichier principal
Vignette du fichier
SCOPES-2010.pdf (188.24 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00533953 , version 1 (08-11-2010)


  • 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⟩
317 Consultations
167 Téléchargements


Gmail Facebook Twitter LinkedIn More