Abstract
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.
- Benveniste, A. and Berry, G. 1991. The synchronous approach to reactive real-time systems. Proc. IEEE 79, 9, 1270--1282.Google ScholarCross Ref
- Benveniste, A., Caspi, P., Edwards, S., Halbwachs, N., Le Guernic, P., and de Simone, R. 2003. The synchronous languages twelve years later. Proc. IEEE 91, 1, 64--83.Google ScholarCross Ref
- Berry, G. 1993. Preemption and concurrency. In Proceedings of the Conference on Foundations of Software Technology and Theoretical Computer Science. Lecture Notes in Computer Science, vol. 761. Springer Verlag. 72--93. Google ScholarDigital Library
- Berry, G. 1999. The constructive semantics of pure Esterel. http://www-sop.inria.fr/esterel.org/.Google Scholar
- Berry, G. 2000a. The Esterel language primer v5_91. http://www-sop.inria.fr/esterel.org/.Google Scholar
- Berry, G. 2000b. The foundations of Esterel. In Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, Cambridge, MA. 425--454. Google ScholarDigital Library
- Berry, G. and Cosserat, L. 1984. The synchronous programming language Esterel and its mathematical semantics. In Proceedings of the Seminar on Concurrency. Lecture Notes in Computer Science, vol. 197. Springer Verlag. 389--448. Google ScholarDigital Library
- Berry, G. and Gonthier, G. 1992. The Esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Program. 19, 2, 87--152. Google ScholarDigital Library
- Boussinot, F. and de Simone, R. 1991. The Esterel language. Proc. IEEE 79, 1293--1304.Google ScholarCross Ref
- Edwards, S. 2000. Languages for Digital Embedded Systems. Kluwer Academic, Norwell, MA. Google ScholarDigital Library
- Edwards, S. A., Kapadia, V., and Halas, M. 2004. Compiling Esterel into static discrete-event code. In Proceedings of the Synchronous Languages, Applications, and Programming Workshop (Barcelona, Spain). Electronic Notes in Theoretical Computer Science. Elsevier.Google Scholar
- Gonthier, G. 1988. Sémantique et modèles d'exécution des langages réactifs synchrones: Application à Esterel. Ph.D. thesis, Université d'Orsay.Google Scholar
- Groote, J. F. 1993. Transition system specifications with negative premises. Theor. Comput. Sci. 118, 2, 263--299. Google ScholarDigital Library
- Halbwachs, N. 1993. Synchronous Programming of Reactive Systems. Kluwer Academic, Norwell, MA. Google ScholarDigital Library
- Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous dataflow programming language Lustre. Proc. IEEE 79, 9, 1305--1320.Google ScholarCross Ref
- INRIA, ENSMP, and ARMINES. 2000. The Esterel v5_92 compiler. http://www-sop.inria.fr/esterel.org/.Google Scholar
- Le Guernic, P., Le Borgne, M., Gauthier, T., and Lemaire, C. 1991. Programming real time applications with Signal. Proc. IEEE 79, 9, 1321--1336.Google ScholarCross Ref
- Malik, S. 1993. Analysis of cyclic combinational circuits. In Proceedings of the IEEE/ACM International Conference on CAD (Santa Clara, CA). IEEE. 618--625. Google ScholarDigital Library
- Milner, R. 1989. Communication and Concurrency. Series in Computer Science. Prentice Hall. Google ScholarDigital Library
- Plotkin, G. 1981. A structural approach to operational semantics. Rep. DAIMI FN-19, Aarhus University, Denmark.Google Scholar
- Potop-Butucaru, D. 2002. Optimizations for faster execution of Esterel programs. Ph.D. thesis, Ecole des Mines de Paris.Google Scholar
- Tardieu, O. 2004. Loops in Esterel: From operational semantics to formally specified compilers. Ph.D. thesis, Ecole des Mines de Paris. http://olivier.tardieu.free.fr/papers/these.pdf.Google Scholar
- Tardieu, O. and de Simone, R. 2003. Instantaneous termination in pure Esterel. In Proceedings of the 10th International Static Analysis Symposium (San Diego, CA). Lecture Notes in Computer Science, vol. 2694. Springer Verlag. 91--108. Google ScholarDigital Library
Index Terms
- A deterministic logical semantics for pure Esterel
Recommendations
A Deterministic Logical Semantics for Esterel
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 ...
Equivalence of formal semantics definition methods
AbstractThere are numerous methods of formally defining the semantics of computer languages. Each method has been designed to fulfil a different purpose. For example, some have been designed to make reasoning about languages as easy as possible; others ...
Deriving Pretty-Big-Step Semantics from Small-Step Semantics
Proceedings of the 23rd European Symposium on Programming Languages and Systems - Volume 8410Big-step semantics for languages with abrupt termination and/or divergence suffer from a serious duplication problem, addressed by the novel 'pretty-big-step' style presented by Charguéraud at ESOP'13. Such rules are less concise than corresponding ...
Comments