Abstract
Esterel is a design language for the representation of embedded systems. Based on the synchronous reactive paradigm, its execution relies on a clear distinction of instants of computation. As a consequence, deciding whether a piece of a program may or may not run instantaneously is central to any compilation scheme, both for correctness and efficiency. In general, this information can be obtained by an exhaustive exploration of all possible execution paths, which is expensive. Most compilers approximate it through algorithmic methods amenable to static analysis. In our contribution, we first formalize the analysis involved in detecting statements that may run instantaneously. Then, we identify statements that may terminate and be instantaneously reentered. This allows us to model precisely these compilers front-end activities with a clear mathematical specification and led us to uncover inefficiencies in the Esterel v5 academic compiler from Ecole des Mines and INRIA.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
H. P. Barendregt. The Lambda Calculus. Its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, 1984.
G. Berry. Real-time programming: General purpose or special-purpose languages. In G. Ritter, editor, Information Processing 89, pages 11–17. Elsevier Science Publishers B.V. (North Holland), 1989.
G. Berry. Esterel on hardware. Philosophical Transactions of the Royal Society of London, Series A, 19(2):87–152, 1992.
G. Berry. The semantics of pure Esterel. In M. Broy, editor, Program Design Calculi, volume 118 of Series F: Computer and System Sciences, pages 361–409. NATO ASI Series, 1993.
G. Berry. The constructive semantics of pure Esterel. Draft version 3. http://www-sop.inria.fr/meije/, July 1999.
G. Berry. The Esterel v5 language primer. http://www-sop.inria.fr/meije/, July 2000.
G. Berry. The foundations of Esterel. In Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 2000.
G. Berry and G. Gonthier. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming, 19(2):87–152, 1992.
F. Boussinot and R. de Simone. The Esterel language. Another Look at Real Time Programming, Proceedings of the IEEE, 79:1293–1304, 1991.
E. Closse, M. Poize, J. Pulou, P. Vernier, and D. Weil. Saxo-rt: Interpreting Esterel semantic on a sequential execution structure. Electronic Notes in Theoretical Computer Science, 65, 2002.
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Principles of Programming Languages, pages 238–252, 1977.
N. G. de Bruijn. Lambda calculus notation with nameless dummies. a tool for automatic formula manipulation with application to the church-rosser theorem. Indagationes Mathematicae, 34:381–392, 1972.
S.A. Edwards. Compiling Esterel into sequential code. In Proceedings CODES’99, Rome, Italy, May 1999.
S.A. Edwards. Languages for Digital Embedded Systems. Kluwer, 2000.
G. Gonthier. Sémantique et modèles d’exécution des langages réactifs synchrones: application à Esterel. Thèse d’informatique, Université d’Orsay, Paris, France, March 1988.
N. Halbwachs. Delay analysis in synchronous programs. In Computer Aided Verification, pages 333–346, 1993.
N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer, 1993.
F. Mignard. Compilation du langage Esterel en systèmes d’équations booléennes. Thèse d’informatique, Ecole des Mines de Paris, October 1994.
R. Milner. Communication and Concurrency. Series in Computer Science. Prentice Hall, 1989.
G. Plotkin. A structural approach to operational semantics. Report DAIMI FN-19, Aahrus University, 1981.
H. Toma. Analyse constructive et optimisation séquentielle des circuits générés à partir du langage synchrone réactif Esterel. Thèse d’informatique, Ecole des Mines de Paris, September 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tardieu, O., de Simone, R. (2003). Instantaneous Termination in Pure Esterel. In: Cousot, R. (eds) Static Analysis. SAS 2003. Lecture Notes in Computer Science, vol 2694. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44898-5_6
Download citation
DOI: https://doi.org/10.1007/3-540-44898-5_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40325-8
Online ISBN: 978-3-540-44898-3
eBook Packages: Springer Book Archive