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.
Type de document :
Communication dans un congrès
Liste complète des métadonnées

Littérature citée [24 références]  Voir  Masquer  Télécharger

Contributeur : Sébastien Boisgérault <>
Soumis le : lundi 8 novembre 2010 - 15:22:03
Dernière modification le : mercredi 20 mars 2019 - 18:16:04
Document(s) archivé(s) le : vendredi 26 octobre 2012 - 15:16:39


Fichiers produits par l'(les) auteur(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⟩



Consultations de la notice


Téléchargements de fichiers