Approximate Reachability for Dead Code Elimination in Esterel ⋆ 

  • Olivier Tardieu
  • Stephen A. Edwards
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3707)

Abstract

Esterel is an imperative synchronous programming language for the design of reactive systems. Esterel ⋆  extends Esterel with a non-instantaneous jump instruction (compatible with concurrency, preemption, etc.) so as to enable powerful source-to-source program transformations, amenable to formal verification. In this work, we propose an approximate reachability algorithm for Esterel ⋆  and use its output to remove dead code. We prove the correctness of our techniques.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Berry, G., Gonthier, G.: The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19, 87–152 (1992)MATHCrossRefGoogle Scholar
  2. 2.
    Boussinot, F., de Simone, R.: The Esterel language. Another Look at Real Time Programming, Proceedings of the IEEE, Special Issue 79, 1293–1304 (1991)Google Scholar
  3. 3.
    Berry, G.: The constructive semantics of pure Esterel, draft version 3 (1999), http://www-sop.inria.fr/esterel.org/
  4. 4.
    Closse, E., Poize, M., Pulou, J., Vernier, P., Weil, D.: Saxo-rt: Interpreting Esterel semantic on a sequential execution structure. In: SLAP 2002. Electronic Notes in Theoretical Computer Science, vol. 65. Elsevier, Amsterdam (2002)Google Scholar
  5. 5.
    Edwards, S.A., Kapadia, V., Halas, M.: Compiling Esterel into static discrete-event code. In: SLAP 2004. Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (2004)Google Scholar
  6. 6.
    Berry, G.: Esterel on hardware. Philosophical Transactions of the Royal Society of London, Series A 19(2), 87–152 (1992)MATHCrossRefGoogle Scholar
  7. 7.
    Mignard, F.: Compilation du langage Esterel en systèmes d’équations booléennes. PhD thesis, Ecole des Mines de Paris (1994)Google Scholar
  8. 8.
    Tardieu, O.: Goto and concurrency: Introducing safe jumps in Esterel. In: SLAP 2004. Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (2004)Google Scholar
  9. 9.
    Tardieu, O., de Simone, R.: Curing schizophrenia by program rewriting in Esterel. In: MEMOCODE 2004 (2004)Google Scholar
  10. 10.
    Tardieu, O.: Loops in Esterel: from operational semantics to formally specified compilers. PhD thesis, Ecole des Mines de Paris (2004)Google Scholar
  11. 11.
    Schneider, K.: A verified hardware synthesis of Esterel programs. In: DIPES 2000, pp. 205–214 (2001)Google Scholar
  12. 12.
    Schneider, K., Brandt, J., Schüele, T.: A verified compiler for synchronous programs with local declarations. In: SLAP 2004. Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (2004)Google Scholar
  13. 13.
    Malik, S.: Analysis of cyclic combinational circuits. In: ICCAD 1993, pp. 618–625 (1993)Google Scholar
  14. 14.
    Shiple, T., Berry, G., Touati, H.: Constructive analysis of cyclic circuits. In: Proc. International Design and Testing Conf. (ITDC), Paris (1996)Google Scholar
  15. 15.
    Namjoshi, K.S., Kurshan, R.P.: Efficient analysis of cyclic definitions. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 394–405. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  16. 16.
    Berry, G.: The semantics of pure Esterel. In: Broy, M. (ed.) Program Design Calculi. Series F: Computer and System Sciences. NATO ASI Series, vol. 118, pp. 361–409 (1993)Google Scholar
  17. 17.
    Schneider, K., Brandt, J., Schüele, T., Tuerk, T.: Maximal causality analysis. In: ACSD 2005 (2005)Google Scholar
  18. 18.
    Tardieu, O.: A deterministic logical semantics for Esterel. In: SOS Workshop 2004. Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (2004)Google Scholar
  19. 19.
    Tardieu, O., de Simone, R.: Instantaneous termination in pure Esterel. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 91–108. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Plotkin, G.: A structural approach to operational semantics. Report DAIMI FN-19, Aarhus University, Denmark (1981)Google Scholar
  21. 21.
    Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific Journal of Mathematics 5, 285–309 (1955)MATHMathSciNetGoogle Scholar
  22. 22.
    Park, D.: Concurrency and automata on infinite sequences. In: GI-TCS 1981. LNCS, vol. 104. Springer, Heidelberg (1981)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Olivier Tardieu
    • 1
  • Stephen A. Edwards
    • 1
  1. 1.Department of Computer ScienceColumbia UniversityNew York

Personalised recommendations