The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Transition system specifications with negative premises
Theoretical Computer Science
Analysis of cyclic combinational circuits
ICCAD '93 Proceedings of the 1993 IEEE/ACM international conference on Computer-aided design
Proof, language, and interaction
Languages for Digital Embedded Systems
Languages for Digital Embedded Systems
Synchronous Programming of Reactive Systems
Synchronous Programming of Reactive Systems
Communication and Concurrency
The ESTEREL Synchronous Programming Language and its Mathematical Semantics
Seminar on Concurrency, Carnegie-Mellon University
Preemption in Concurrent Systems
Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science
Instantaneous termination in pure Esterel
SAS'03 Proceedings of the 10th international conference on Static analysis
Formal Specification and Analysis of Timing Properties in Software Systems
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Refining schizophrenia via graph reachability in esterel
MEMOCODE'09 Proceedings of the 7th IEEE/ACM international conference on Formal Methods and Models for Codesign
A common framework for synchronization in requirements modelling languages
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Semantic quality attributes for big-step modelling languages
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
A formal library of set relations and its application to synchronous languages
Theoretical Computer Science
Detection of harmful schizophrenic statements in esterel
ACM Transactions on Embedded Computing Systems (TECS)
Hi-index | 0.00 |
Esterel is a synchronous design language for the specification of reactive systems. There exist two main semantics for Esterel. On the one hand, the logical behavioral semantics provides a simple and compact formalization of the behavior of programs using SOS rules. But it does not ensure deterministic deadlock-free executions, as it may define zero, one, or many possible behaviors for a given program and input sequence. Since nondeterministic programs have to be rejected by compilers, this means that it defines behaviors for incorrect programs, which is awkward. On the other hand, the constructive semantics is deterministic (amongst other properties) but at the expense of a much more complex formalism. In this work, we build and thoroughly analyze a new deterministic semantics for Esterel that retains the simplicity of the logical behavioral semantics from which it derives. It defines, at most, one behavior per program and input sequence. We further extend this semantics with the ability to deal with errors so that incorrect programs are no longer (negatively) characterized by a lack of behavior, but (positively) by the existence of an incorrect behavior. In our view, this new semantics, with or without explicit errors, provides a better framework for formal and automated reasoning about Esterel programs.