Optimizations for faster execution of Esterel programs

Several efficient compilation techniques have been recently proposed for the generation of sequential (C) code from Esterel programs. Consisting essentially in direct simulation of the reactive features of the language, these techniques need now to be accommodated with traditional issues of Esterel - the definition of formal semantics, the constructive causality, and the design of efficient and correct methods for analysis and optimization. We address some of these problems by defining a new intermediate model for the representation of Esterel programs. The new representation level preserves much of the initial program structure while making the control flow pattern and the hierarchical state structure explicit. It supports the full Esterel semantics, and it is a good support for efficient analysis, optimization, and code generation algorithms based on static analysis.

[1]  Dumitru Potop-Butucaru Fast Redundancy Elimination Using High-Level Structural Information from Esterel , 2001 .

[2]  Walid Dabbous,et al.  Generating efficient protocol code from an abstract specification , 1997, TNET.

[3]  Frédéric Boussinot,et al.  The ESTEREL language , 1991, Proc. IEEE.

[4]  Paul Caspi,et al.  Automatic Distribution of Reactive Systems for Asynchronous Networks of Processors , 1999, IEEE Trans. Software Eng..

[5]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[6]  Luciano Lavagno,et al.  Synthesis of Software Programs for Embedded Control Applications , 1999, 32nd Design Automation Conference.

[7]  Horia Alexandru Toma Analyse constructive et optimisation séquentielle des circuits générés à partir du langage synchrone réactif ESTEREL , 1997 .

[8]  S. Edwards Compiling Esterel into sequential code , 2000, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[9]  David A. Padua,et al.  Basic compiler algorithms for parallel programs , 1999, PPoPP '99.

[10]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[11]  Luciano Lavagno,et al.  A case study in computer-aided co-design of embedded controllers , 1994, Des. Autom. Embed. Syst..

[12]  Charles André Representation and Analysis of Reactive Behaviors: A Synchronous Approach , 2000 .

[13]  Luciano Lavagno,et al.  ECL: a specification environment for system-level design , 1999, DAC '99.

[14]  Kunle Olukotun,et al.  A General Method for Compiling Event-Driven Simulations , 1995, 32nd Design Automation Conference.

[15]  Thomas R. Shiple,et al.  Constructive analysis of cyclic circuits , 1996, Proceedings ED&TC European Design and Test Conference.

[16]  Valérie Bertin,et al.  Efficient compilation of ESTEREL for real-time embedded systems , 2000, CASES '00.

[17]  Robert de Simone,et al.  ESTEREL: a formal method applied to avionic software development , 2000, Sci. Comput. Program..

[18]  Yannis Bres,et al.  Exploration implicite et explicite de l'espace d''etats atteignables de circuits logiques Esterel , 2002 .

[19]  Stephen A. Edwards,et al.  An Esterel compiler for large control-dominated systems , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Georges Gonthier Sémantiques et modèles d'exécution des langages réactifs synchrones : application à Esterel , 1988 .

[21]  Thierry Gautier,et al.  Programming real-time applications with SIGNAL , 1991, Proc. IEEE.

[22]  Stephen A. Edwards,et al.  Making cyclic circuits acyclic , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[23]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[24]  Luciano Lavagno,et al.  Synthesis of software programs for embedded control applications , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[25]  Gérard Berry,et al.  Esterel on hardware , 1992, Philosophical Transactions of the Royal Society of London. Series A: Physical and Engineering Sciences.

[26]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.

[27]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[28]  Walid Dabbous,et al.  Generating efficient protocol code from an abstract specification , 1996, SIGCOMM '96.

[29]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[30]  Michel Poize,et al.  SAXO-RT: Interpreting Esterel Semantic on a Sequential Execution Structure , 2002, SLAP@ETAPS.

[31]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[32]  Gérard Berry,et al.  The constructive semantics of pure esterel , 1996 .