Skip to main content

Instantaneous Termination in Pure Esterel

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2694))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. P. Barendregt. The Lambda Calculus. Its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, 1984.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. G. Berry. Esterel on hardware. Philosophical Transactions of the Royal Society of London, Series A, 19(2):87–152, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  4. 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.

    Google Scholar 

  5. G. Berry. The constructive semantics of pure Esterel. Draft version 3. http://www-sop.inria.fr/meije/, July 1999.

    Google Scholar 

  6. G. Berry. The Esterel v5 language primer. http://www-sop.inria.fr/meije/, July 2000.

    Google Scholar 

  7. G. Berry. The foundations of Esterel. In Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 2000.

    Google Scholar 

  8. G. Berry and G. Gonthier. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming, 19(2):87–152, 1992.

    Article  MATH  Google Scholar 

  9. F. Boussinot and R. de Simone. The Esterel language. Another Look at Real Time Programming, Proceedings of the IEEE, 79:1293–1304, 1991.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. S.A. Edwards. Compiling Esterel into sequential code. In Proceedings CODES’99, Rome, Italy, May 1999.

    Google Scholar 

  14. S.A. Edwards. Languages for Digital Embedded Systems. Kluwer, 2000.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. N. Halbwachs. Delay analysis in synchronous programs. In Computer Aided Verification, pages 333–346, 1993.

    Google Scholar 

  17. N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer, 1993.

    Google Scholar 

  18. F. Mignard. Compilation du langage Esterel en systèmes d’équations booléennes. Thèse d’informatique, Ecole des Mines de Paris, October 1994.

    Google Scholar 

  19. R. Milner. Communication and Concurrency. Series in Computer Science. Prentice Hall, 1989.

    Google Scholar 

  20. G. Plotkin. A structural approach to operational semantics. Report DAIMI FN-19, Aahrus University, 1981.

    Google Scholar 

  21. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics