The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
An algebraic characterization of observational equivalence
Theoretical Computer Science
Compiling Esterel into sequential code
CODES '99 Proceedings of the seventh international workshop on Hardware/software codesign
Proof, language, and interaction
Letters to the editor: go to statement considered harmful
Communications of the ACM
A new method for compiling schizophrenic synchronous programs
CASES '01 Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems
Languages for Digital Embedded Systems
Languages for Digital Embedded Systems
Synchronous Programming of Reactive Systems
Synchronous Programming of Reactive Systems
Instantaneous termination in pure Esterel
SAS'03 Proceedings of the 10th international conference on Static analysis
Instantaneous Transitions in Esterel
Electronic Notes in Theoretical Computer Science (ENTCS)
Approximate reachability for dead code elimination in esterel
ATVA'05 Proceedings of the Third international conference on Automated Technology for Verification and Analysis
Hi-index | 0.00 |
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.