A Verified Hardware Synthesis of Esterel Programs

  • Klaus Schneider
Part of the IFIP — The International Federation for Information Processing book series (IFIPAICT, volume 61)


Synchronous programming languages like Esterel are becoming more and more popular for the design of multi-threaded reactive systems. We have embedded a variant of the Esterel language in the interactive theorem prover HOL so that we can formally reason about programs of the language and — at a meta level — about the language itself Based on a separation of the control and data flow of the programs, we have defined a new translation to equation systems. Our new translation is simpler than state-of-the-art translations, and it does not suffer from the schizophrenia problems of parallel statements. Furthermore, we have proved the correctness of our translation with HOL, so that HOL can be used for formal synthesis.


Control Flow Equation System High Order Logic Loop Body Imperative Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [1]
  2. [2]
  3. [3]
    Cadence Design Systems,Inc.
  4. [4]
  5. [5]
    Jester Homepage.
  6. [6]
    G. Berry. The foundations of Esterel. In G. Plotkin, C. Stirling, and M. Tofte, editors, Proof Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 1998.Google Scholar
  7. [7]
    G. Berry. The Esterel v591 language primer., June 2000.Google Scholar
  8. [8]
    N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous dataflow programming language LUSTRE. Proc. of the IEEE, 79 (9): 1305–1320, 1991.CrossRefGoogle Scholar
  9. [9]
    P. Le Guernic, T. Gauthier, M. Le Borgne, and C. Le Maire. Programming real-time applications with SIGNAL. IEEE, 79 (9): 1321–1336, 1991.CrossRefGoogle Scholar
  10. [10]
    D. Harel. Statecharts: A visual formalism for complex systems. Science of Computing, pp. 231–274, 1987.Google Scholar
  11. [11]
    Ch. Andre. Synccharts: A visual representation of reactive behaviors. research report tr95–52, University of Nice, Sophia Antipolis, 1995.Google Scholar
  12. [12]
    G. Berry. The constructive semantics of pure Esterel, July 1999.Google Scholar
  13. [13]
    J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic Model Checking: 1020 States and Beyond. IEEE Symposium on Logic in Computer Science, pp. 1–33, Washington, June 1990. IEEE Computer Society Press.Google Scholar
  14. [14]
    M.J.C. Gordon and T.F. Melham. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993.Google Scholar
  15. [15]
    K.M. Chandry and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2001

Authors and Affiliations

  • Klaus Schneider
    • 1
  1. 1.Institute for Computer Design and Fault Tolerance (Prof. Dr.-Ing. D. Schmid)University of KarlsruheKarlsruheGermany

Personalised recommendations