Goto and Concurrency Introducing Safe Jumps in Esterel |
| |
Authors: | Olivier Tardieu |
| |
Affiliation: | aINRIA Sophia Antipolis, France |
| |
Abstract: | Esterel is a design language for the specification of real time embedded systems. Based on the synchronous concurrency paradigm, its semantics describes execution as a succession of instants of computation. In this work, we consider the introduction of a new gotopause instruction in the language, which acts as a non-instantaneous jump instruction compatible with concurrency. It allows the programmer to activate state control points anywhere in the program, from where the execution is resumed in the next instant. In order to provide the formal semantics of the extended language, we first define a state semantics of Esterel, which we prove observationally equivalent to the original logical behavioral semantics. Including gotopause in the state semantics is then straightforward. We sketch two key applications of our new primitive: a direct encoding of automata and a quasi-linear rewriting of programs eliminating schizophrenic behaviors. |
| |
Keywords: | synchronous languages program transformations |
本文献已被 ScienceDirect 等数据库收录! |
|