Towards provably correct code generation for a hard real-time programming language

  • Martin Fränzle
  • Markus Müller-Olm
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 786)


This paper sketches a hard real-time programming language featuring operators for expressing timeliness requirements in an abstract, implementation-independent way and presents parts of the design and verification of a provably correct code generator for that language. The notion of implementation correctness used as an implicit specification of the code generator pays attention to timeliness requirements. Hence, formal verification of the code generator design is a guarantee of meeting all deadlines when executing generated code.


Sequential Process Composition Operator Communication Partner Parallel Composition Parallel Component 
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. [BBF92]
    Bettina Buth, Karl-Heinz Buth, Martin Fränzle, Burghard v. Karger, Yassine Lakhneche, Hans Langmaack, and Markus Müller-Olm. Provably correct compiler development and implementation. In U. Kastens and P. Pfahler, editors, Compiler Construction, pages 141–155. Springer, 1992. LNCS 641.Google Scholar
  2. [FMO93]
    Martin Fränzle and Markus Müller-Olm. Drift and Granularity of Time in Real-Time System Implementation. ProCoS II project document [Kiel MF 10/2], Christian-Albrechts-Universität Kiel, Germany, August 1993.Google Scholar
  3. [FvK93]
    Martin Fränzle and Burghard von Karger. Proposal for a Programming Language Core for ProCoS II. ProCoS II project document [Kiel MF 11/3], Christian-Albrechts-Universität Kiel, Germany, August 1993.Google Scholar
  4. [vK93]
    Burghard von Karger. A simple wide-spectrum model for real time systems. ProCoS II project document [OU BvK 9/6], Oxford University Programming Research Group, UK, August 1993.Google Scholar
  5. [MO93]
    Markus Müller-Olm. On Translation of TimedPL and Capture of Machine Instruction Timing. ProCoS II project document [Kiel MMO 6/2], Christian-Albrechts-Universität Kiel, Germany, August 1993.Google Scholar
  6. [Hoa85]
    C.A.R. Hoare. Communicating Sequential Processes. Prentice Hall International, 1985.Google Scholar
  7. [Hoa91]
    C.A.R. Hoare. Refinement algebra proves correctness of compiling specifications. In C.C. Morgan and J.C.P. Woodcock, editors, 3rd Refinement Workshop, Workshops in Computing, pages 33–48. Springer-Verlag, 1991.Google Scholar
  8. [inm88a]
    INMOS ltd. occam 2 Reference Manual. Prentice Hall International, 1988.Google Scholar
  9. [inm88b]
    INMOS ltd. Transputer Instruction Set — A Compiler Writer's Guide. Prentice Hall International, 1988.Google Scholar
  10. [Pro93]
    Dines Bjørner, C.A.R. Hoare, Hans Langmaack (Eds.). Provably correct systems. ProCoS I final deliverable, 1993. Available from the Department of Computer Science, Technical University of Denmark, Building 3440, DK-2800 Lyngby.Google Scholar
  11. [Tur86]
    David Turner. An overview of miranda. SIGPLAN Notices, 1986.Google Scholar
  12. [Wik87]
    Åke Wikström. Functional Programming Using Standard ML. Series in Computer Science. Prentice-Hall, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Martin Fränzle
    • 1
  • Markus Müller-Olm
    • 1
  1. 1.Institut für Informatik und Praktische MathematikChristian-Albrechts-Universität KielKielGermany

Personalised recommendations