The Semantics of Pure Esterel

We present a survey of the main semantics of Pure Esterel, the communication kernel of the Esterel synchronous reactive language. We start by an informal presentation of the Pure Esterel language. We then present the behavioral semantics that defines the language. We define the notion of a haltset that corresponds to a distributed program counter. Using haltsets, we show that Pure Esterel programs have only a finite number of states. The behavioral semantics semantics is not effective in the sense that its inference rules do not yield direct proof constructions. We study Gonthier’s effective operational semantics used in the Esterel v3 compiler. Finally, we study the electrical semantics, i.e. the translation of Pure Esterel programs into circuits that forms the basis of the Esterel v4 compiler.

[1]  Robert K. Brayton,et al.  Multilevel logic synthesis , 1990, Proc. IEEE.

[2]  Olivier Coudert,et al.  A unified framework for the formal verification of sequential circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[3]  Gérard Berry,et al.  A hardware implementation of pure ESTEREL , 1992 .

[4]  P. H. Lindsay Human Information Processing , 1977 .

[5]  Olivier Coudert,et al.  New ideas on symbolic manipulations of finite state machines , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

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

[7]  Gérard Berry,et al.  Incremental development of an HDLC protocol in Esterel , 1989 .

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

[9]  Edmund M. Clarke,et al.  A language for compositional specification and verification of finite state hardware controllers , 1991 .

[10]  Olivier Coudert,et al.  A unified framework for the formal verification of sequential circuits , 1990, ICCAD 1990.

[11]  S. Ramesh,et al.  Communicating reactive processes , 1993, POPL '93.

[12]  Robert K. Brayton,et al.  Extracting local don't cares for network optimization , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[13]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[14]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

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

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

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

[18]  Guy Cousineau,et al.  An Algebraic Definition for Control Structures , 1980, Theor. Comput. Sci..

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

[20]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..