Skip to main content

Optimizations for Faster Execution of Esterel Programs

  • Chapter
Formal Methods and Models for System Design

Abstract

The fine-grained parallelism and the need for determinism are traditional issues in the design of real-time embedded software. In addition, the increasing complexity of the specifications requires an increasing use of higher level formalisms. The Esterel language offers natural solutions to all these problems, but its compilation proved challenging, so that efficient compilation techniques have only recently been proposed. Consisting essentially in direct simulation of the reactive primitives of the language, these techniques now need to be accommodated with traditional issues of Esterel: the definition of formal semantics, the constructive causality, and the design of analysis and optimization methods that are both efficient and correct.

We address these problems by defining a new intermediate model, called GRC, for the representation of Esterel programs. The GRC representation preserves much of the initial program structure while making the control flow pattern and the hierarchical state structure explicit. It fully complies with the semantics of Esterel, and, most important, it is a good support for efficient analysis, optimization, and code generation algorithms based on static analysis.

The use of a GRC-based approach results in significant efficiency and generality gains. The approach could be extended to the hardware compilation of Esterel and to the compilation of other synchronous languages with fine-grained parallelism.

Partly supported by the ARTIST European project

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.00
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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Charles André. Representation and analysis of reactive behaviors: A synchronous approach. In Proceedings CESA’96,Lille, France, July 1996. Also available as I3S technical report RR 95–52.

    Google Scholar 

  2. Albert Benveniste and Gérard Berry. The synchronous approach to reactive and real-time systems. Proceedings of the IEEE, 79 (9): 1270–1282, 1991.

    Article  Google Scholar 

  3. Gérard Berry, Amar Bouali, Xavier Fornari, Emmanuel Ledinot, Eric Nassor, and Robert de Simone. Esterel: A formal method applied to avionic software development. Science of Computer Programming, 36: 5–25, 2000.

    Article  Google Scholar 

  4. Albert Benveniste, Paul Caspi, Stephen Edwards, Nicolas Halbwachs, Paul LeGuernic, and Robert de Simone. The synchronous languages 12 years later. Proceedings of the IEEE, 91 (1): 64–83, 2003.

    Article  Google Scholar 

  5. F. Balarin, M. Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, A. Sangiovanni-Vincentelli, E. Sentovich, and K. Suzuki. Synthesis of software programs for embedded control applications. IEEE Transactions on Computer-Aided Design, 18 (6): 834–849, 1999.

    Article  Google Scholar 

  6. Frédéric Boussinot and Robert de Simone. The Esterel language. Proceedings of the IEEE, 79 (9): 1293–1304, 1991.

    Article  Google Scholar 

  7. Gérard Berry. Esterel on hardware. Philosophical Transactions of the Royal Society of London, Series A, 339: 87–104, 1992.

    Google Scholar 

  8. Gérard Berry. The constructive semantics of Pure Esterel. Draft book available at http://www.esterel-technologies.com1999.

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

    Article  MATH  Google Scholar 

  10. Yannis Bres. Exploration implicite et explicite de l’espace d’états atteignables de circuits logiques Esterel (Implicit and explicit exploration of the reachable state space of Esterel logic circuits).PhD thesis, Ecole des Mines de Paris, december 2002.

    Google Scholar 

  11. Claude Castelluccia, Walid Dabbous, and Sean O’Malley. Generating efficient protocol code from an abstract specification. IEEE/ ACM Transactions on Networking, 5 (4): 514–524, 1997.

    Article  Google Scholar 

  12. M. Chiodo, D. Engels, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, K. Suzuki, and A. Sangiovanni-Vincentelli. A case study in computer-aided co-design of embedded systems. Design Automation for Embedded Systems, 1: 51–67, 1996.

    Article  Google Scholar 

  13. Paul Caspi, Alain Girault, and Daniel Pilaud. Automatic distribution of reactive systems for asynchronous networks of processors. IEEE Transactions on Software Engineering, 25 (3): 416–427, 1999.

    Google Scholar 

  14. Etienne Closse, Michel Poize, Jacques Pulou, Patrick Vernier, and Daniel Weil. Saxo-RT: Interpreting Esterel semantic on a sequential execution structure. In Florence Maraninchi, Alain Girault, and Eric Rutten, editors, Electronic Notes in Theoretical Computer Science, volume 65. Elsevier, 2002.

    Google Scholar 

  15. Stephen Edwards. An Esterel compiler for large control-dominatedsystems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,21(2), February 2002.

    Google Scholar 

  16. Stephen Edwards. Making cyclic circuits acyclic. In Proceedings of the 40th conference on Design automation, Anaheim, CA, USA, 2003.

    Google Scholar 

  17. The Esterel manual, part of the Esterel version 5.92 distribution.Available for download at www.esterel-technologies.com, 2000.

    Google Scholar 

  18. Robert French, Monica Lam, Jeremy Levitt, and Kunle Olukotun. A general method for compiling event-driven simulations. In Proceedings of the 32nd Design Automation Conference, San Francisco, CA, USA, 1995.

    Google Scholar 

  19. Nicolas Halbwachs. Synchronous programming of reactive systems. Kluwer Academic Publishers, 1993.

    Google Scholar 

  20. Nicolas Halbwachs, Paul Caspi, Pascal Raymond, and Daniel Pi-laud. The synchronous data flow programming language Lustre. Proceedings of the IEEE, 79 (9): 1305–1320, 1991.

    Article  Google Scholar 

  21. Paul LeGuernic, Thierry Gauthier, Michel LeBorgne, and Claude LeMaire. Programming real-time applications with Signal. Proceedings of the IEEE, 79 (9): 1321–1336, 1991.

    Article  Google Scholar 

  22. Jaejin Lee, David Padua, and Samuel Midkiff. Basic compiler algorithms for parallel programs. In Proceedings of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming,Atlanta, GA, USA, 1999.

    Google Scholar 

  23. Luciano Lavagno and Ellen Sentovich. ECL: A specification environment for system-level design. In Proceedings of the 36th Design Automation Conference,New Orleans, LA, 1999.

    Google Scholar 

  24. Steven Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, 1997.

    Google Scholar 

  25. Dumitru Potop-Butucaru. Fast redundancy elimination using highlevel structural information from Esterel. RR 4330, INRIA, Sophia Antipolis, France, 2001.

    Google Scholar 

  26. Dumitru Potop-Butucaru. Optimizations for faster simulation of Esterel programs. PhD thesis, Ecole des Mines de Paris, November 2002.

    Google Scholar 

  27. Tom Shiple, Gérard Berry, and Hervé Touati. Constructive analysis of cyclic circuits. In Proceedings of the International Design and Testing Conference, Paris, France, 1996.

    Google Scholar 

  28. Ellen Sentovich, Kanwar Jit Singh, Luciano Lavagno, Cho Moon, Rajeev Murgai, Alexander Saldanha, Hamid Savoj, Paul Stephan, Robert Brayton, and Alberto Sangiovanni-Vincentelli. SIS: A system for sequential circuit synthesis. Memorandum M92/41, UCB, ERL, 1992.

    Google Scholar 

  29. Horia Toma. Analyse constructive et optimisation séquentielle des circuits générés à partir du langage synchrone réactif Esterel (Constructive analysis and sequential optimizations of circuits generated from the synchronous reactive language Esterel). PhD thesis, Ecole des Mines de Paris, September 1997.

    Google Scholar 

  30. Daniel Weil, Valérie Bertin, Etienne Closse, Michel Poize, Patrick Vernier, and Jacques Pulou. Efficient compilation of Esterel for real-time embedded systems. In Proceedings CASES200D, San Jose, CA, USA, 2000.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer Science+Business Media Dordrecht

About this chapter

Cite this chapter

Potop-Butucaru, D., de Simone, R. (2004). Optimizations for Faster Execution of Esterel Programs. In: Gupta, R., Guernic, P.L., Shukla, S.K., Talpin, JP. (eds) Formal Methods and Models for System Design. Springer, Boston, MA. https://doi.org/10.1007/978-1-4020-8052-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-1-4020-8052-4_11

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4419-5464-0

  • Online ISBN: 978-1-4020-8052-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics