📄 http:^^www.cs.utexas.edu^users^cpg^tempest^esterel.html
字号:
MIME-Version: 1.0
Server: CERN/3.0
Date: Monday, 06-Jan-97 21:38:05 GMT
Content-Type: text/html
Content-Length: 2881
Last-Modified: Monday, 11-Mar-96 06:47:52 GMT
<html><head><title>Esterel and its Compiler</title></head><body bgcolor="#ffffff"><p><h3>The Esterel language</h3> Esterel is a synchronous programming language for reactive systems. Esterel has a precisely defined mathematical semantics intended for programming the class of deterministic reactive systems that wait for a set of possibly simultaneous inputs, react to the inputs by computing and producing outputs, and then quiesce, waiting for new inputs. Esterel is based on the ``synchrony hypothesis,'' which stipulates that every reaction to a set of inputs is considered to be instantaneous. The programming model in Esterel is the specification of components, or modules, that run in parallel. Modules communicate with each other and the outside world through signals, which are broadcast and may carry values of arbitrary types. Consistent with the synchrony hypothesis, the emission and reception of signals is considered to be instantaneous.<p> Esterel allows only deterministic behaviors to be specified: the inputs to every reaction (and the current values of variables) fully determine the outputs emitted in that reaction as well as the input-output behavior of the rest of the program. Along with the synchrony hypothesis, both communication and pre-emption preserve determinism. Furthermore, all internal communication is compiled away, and a single deterministic finite state machine is generated by the compiler. Thus, the parallelism in Esterel is a structuring tool for programming convenience, and does not incur any run-time overhead --- the compiler automatically performs the complex interleaving between parallel modules. Furthermore, since this implementation is a finite state machine, the maximum amount of time taken by any reaction can be accurately bounded if the execution times of the transitions are known.<h3>The compilers</h3> Esterel has efficient compiler implementations based on well-defined mathematical semantics. These are two implementations:<ul> <li>The CMA Esterel compiler is provided by the <a href="http://www.cma.fr" target="_top">Ecole des Mines de Paris (CMA)</a> and <a href="http://www.inria.fr" target="_top">INRIA</a>, and written by Jean-Paul Rigault, Jean-Marc Tanzi, Frederic Mignard and Jean-Pierre Paris. It can be obtained by contacting <a href="mailto:esterel-request@cma.cma.fr"><esterel-request@cma.cma.fr></a>. This is the Esterel <a href="http://cma.cma.fr/Esterel/" target="_top">home</a> compiler.<p> <li><a href=http://www.eecs.berkeley.edu/~sedwards/ target="_top">Stephen Edwards</a> has written a non-commercial Esterel compiler, available through <a href=ftp://ic.eecs.berkeley.edu/pub/Esterel>ftp</a> (~27Kb). (Note however some of the tools in TempEst will most likely not work with this compiler.)</ul><p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -