Compiling Esterel by Dumitru Potop-ButucaruCompiling Esterel by Dumitru Potop-Butucaru

Compiling Esterel

byDumitru Potop-Butucaru, Stephen A. Edwards, Gerard Berry

Paperback | November 4, 2010

Pricing and Purchase Info

$217.06 online 
$248.50 list price save 12%
Earn 1,085 plum® points

Prices and offers may vary in store


In stock online

Ships free on orders over $25

Not available in stores


Designed as the definitive reference on the compilation of the Esterel synchronous reactive real-time language, Compiling Esterel covers all aspects of the language and includes a tutorial, a reference manual, its formal semantics, and detailed technical information about the many techniques used to compile it.

Esterel is based on the simple idea of providing a software language that has a synchronous model of time. That is, the execution of the program is divided into discrete instants, and statements are either guaranteed to execute in a single instant, or take multiple instants as requested by the programmer. Suitable for programming safety-critical real-time systems, Esterel and its model of computation have found use in industrial applications such as avionics, integrated circuit design, and other safety-critical environments.

While Compiling Esterel does not assume prior knowledge of the Esterel language, readers will appreciate having prior knowledge of programming language semantics and compiler technology, along with some familiarity with synchronous digital hardware design.

Researchers as well as advanced developers will findCompiling Esterelessential for understanding Esterel at all levels.

Title:Compiling EsterelFormat:PaperbackDimensions:336 pagesPublished:November 4, 2010Publisher:Springer-Verlag/Sci-Tech/TradeLanguage:English

The following ISBNs are associated with this title:

ISBN - 10:1441943552

ISBN - 13:9781441943552

Look for similar items by category:


Table of Contents

Preface. I The Esterel Language. 1 Introduction to Esterel. 1.1 Reactive Systems. 1.2 The Synchronous Hypothesis. 1.3 Implementation Issues. 1.4 Causality. 1.5 Related work. 1.6 A First Esterel Example. 1.7 Causality Cycles 1.8 Code Generation. 1.9 Executing the Generated Code. 2 The Esterel Language. 2.1 Syntax and Naïve Semantic Principles. 2.2 The Kernel Esterel Language. 2.3 Esterel Through Examples. 2.4 Host Language. 2.5 Program Structure and Interface. II Formal Semantics. 3. Introduction to Esterel Semantics. 3.1 Intuition and Mathematical Foundations. 3.2 Flavors of Constructive Semantics. 3.3 Conventions and Preliminary Definitions. 4 Constructive Behavioral Semantics. 4.1 Behavioral Transitions. 4.2 Analysis of Potentials. 4.3 Semantic Rules. 4.4 Proof . 4.5 Determinism. 4.6 Loop-Safe Programs. Completion Code Potentials. 4.7 Program Behavior. 5 Constructive Operational Semantics. 5.1 Microsteps. 5.2 COS Terms. 5.3 Data Representation. 5.4 Semantic Rules. 5.5 Analysis of Potentials. 5.6 Behaviors as Sequences of Microsteps. 5.7 COS versus CBS. 6 Constructive Circuit Translation. 6.1 Digital Circuits with Data. 6.2 Translation Principles. 6.3 Translation Rules. 6.4 Circuit Translation versus COS. III Compiling Esterel 7 Overview. 7.1 Compiler Classes. 7.2 A Brief History. 7.3 The INRIA Compiler. 7.4 The Synopsys Compiler. 7.5 The Saxo-RT Compiler. 7.6 The Columbia Esterel Compiler. 8 The GRC Intermediate Format. 8.1 Definition and Intuitive Semantics. 8.2 Esterel to GRC Translation. 8.3 Formal Simulation Semantics and Translation Correctness. 8.4 Format Optimizations. 9 Code Generation from GRC. 9.1 Defining 'Acyclic'. 9.2 Code Generation for Acyclic Specifications. 9.3 Code Generation for CyclicSpecifications. 9.4 Benchmarks. 10 The Columbia Compiler. 10.1 The Dynamic Technique. 10.2 The Program Dependence Graph Approach. 10.3 Benchmarks. Appendices. A Language Extensions. A.1 Signal Expressions. A.2 Traps and Trap Expressions. A.3 The finalize Statement. A.4 Tasks. B An Esterel Reference Manual. B.1 Lexical Conventions. B.2 Namespaces and Predefined Objects. B.3 Expressions. B.4 Statements. B.5 Modules. C The C Language Interface. C.1 Overview. C.2 C Code for Data Handling. C.3 The Reaction Interface. C.4 Task Handling. D Esterel V7. D.1 Data Support. D.2 Signals. D.3 Interfaces. D.4 Statements. D.5 Multiclock Design. Bibliography. Index.