Esterel Downloads








Version v5_92 is a minor release. It corrects a bug in the linker (iclc) which could provoke a bad binding of pre variables in some cases, it corrects a bug in xes about some coloring of sustain statements, and it brings some more improvements elsewhere. The compiler now prints less parentheses in the generated C code (unfortunately, the Microsoft C compiler has a very low limit in the number of nested parentheses).

The wristwatch example has been enhanced and a client/server simulation that runs the actual watch in real-time with animated source code is available, see wristwatch/README.txt.

The documentation is still labeled v5_91 since the language and system commands are unchanged. Please replace v5_91 by v5_92.


The changes between the previous v5_21 release and the new v5_91 release are:

* new Esterel pre operator.

The pre operator has been introduced in the Esterel language for signals and values .
Its syntax is as follows:

pre(SIGNAL) : previous status of signal SIGNAL.


every [not(pre(I)) and I] do
end every

This program emits I_POSITIVE_EDGE each time I is present and was not present at the previous instant.

pre(?SIGNAL) : previous value of the valued signal SIGNAL.

Now, it is possible to write:

input I;
output I_COUNT := 0 : integer;
every I do
  emit I_COUNT(pre(?I_COUNT) + 1)

This program emits I_COUNT, which is the number of occurrence of signal I.

Note: at the first instant, pre(?SIGNAL) is undefined, unless SIGNAL has an initial value, as it is the case for I_COUNT in the example.
If there is an initial value v, then pre(?SIGNAL) = v.

* Xes recorder

The xes' event recorder/player is redesigned. Now, the default is to record every event sent by the user, or played back by the player. Events are recorded into a buffer and will be saved in a file (default name "untitled") only on user request. The recorder is readily available by a button on the mail control panel. File extension is .esi, for Esterel Simulation File, but previous .csimul extension is still supported.

* Explicit automaton generation

The v5_91 system uses a new compiler module called scoc to generate an explicit automaton directly from SC code. Scoc exploits the full constructive semantics analysis. It has been written by Yannis Bres, a PhD student at CMA.

To obtain an explicit automaton, use the following commands:

- standard C code
  esterel -A foo.strl

- C code for simulation
  esterel -A -simul foo.strl

- from OC code
  esterel -oc foo.strl
  esterel -A foo.oc

The v3 compilation chain (option -v3 of the Esterel compiler) using lcoc and the v4 compilation chain using sscoc are suppressed.
the -S option for single state automaton is also suppressed.

* Xeve

The X Esterel Verification Tool (xeve) is now part of the Esterel standard distribution.

* C code generation

ANSI C Code is now generated
by default.

* Intermediate formats

The IC format has changed. Previous versions are no more supported.

* Csimul format

Trap traces are changed. Message header is now:

instead of:

  Trap: T

The trace commands are now:

- to trace specifically traps:
  ! trace traps

- to remove traps traces:
  ! untrace traps

You must read the COPYRIGHT file before using Esterel v5. Please make sure that you understand the copyright and license information before using this release.

On Solaris architecture, do not compile a tty-simulation program (libcsimul.a) with /usr/ucb/cc. Use instead SparcWorks cc, or gcc.The reason is that csimul uses setjmp, and the headers of /usr/ucb/cc are incompatible with those of the other compilers.

Remember our mail addresses: : direct Esterel team access. : users forum. : as it says.



 Contact Esterel Webmaster@