Towards a Refinement Calculus for Concurrent Real-Time Programs

  • Sibylle Peuker
  • Ian Hayes
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2495)


We define a language and a predicative semantics to model concurrent real-time programs. We consider different communication paradigms between the concurrent components of a program: communication via shared variables and asynchronous message passing (for different models of channels).

The semantics is the basis for a refinement calculus to derive machine-independent concurrent real-time programs from specifications. We give some examples of refinement laws that deal with concurrency.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R.-J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Springer, 1998.Google Scholar
  2. 2.
    R. J. R. Back. A calculus of refinement for program derivations. Acta Informatica, 25:593–624, 1988.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    E. W. Dijkstra. A Discipline of Programming. Prentice-Hall Series in Automatic Computation. Prentice Hall, 1976.Google Scholar
  4. 4.
    C. Fidge, I. Hayes, and G. Watson. The deadline command. IEE Proceedings-Software, 146(2):104–111, 1999.CrossRefGoogle Scholar
  5. 5.
    S. Grundon, I. Hayes, and C. Fidge. Timing constraint analysis. In C. McDonald, editor, Computer Science’ 98: Proc. 21st Australasian Computer Science Conference, pages 575–586. Springer-Verlag, Singapore, 1998.Google Scholar
  6. 6.
    I. Hayes. Real-time program refinement using auxiliary variables. In M. Joseph, editor, Proc.6th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems,volume 1926 of LNCS, pages 170–184. Springer, 2000.CrossRefGoogle Scholar
  7. 7.
    I. J. Hayes, C. J. Fidge, and K. Lermer. Semantic characterisation of dead control-flow paths. IEE Proceedings-Software, 148(6): 175–186, December 2001.Google Scholar
  8. 8.
    I. J. Hayes and M. Utting. A sequential real-time refinement calculus. Acta Informatica, 37:385–448, 2001.zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    E. C. R. Hehner. A Practical Theory of Programming. Springer, 1993.Google Scholar
  10. 10.
    J. Hooman and O. van Roosmalen. An approach to platform independent real-time programming: (1) formal description. Real-Time Systems, 19:61–85, 2000.CrossRefGoogle Scholar
  11. 11.
    C. Morgan. Programming from Specifications, 2nd edition. International Series in Computer Science. Prentice Hall, 1994.Google Scholar
  12. 12.
    D. Scholefield, H. Zedan, and H. Jifeng. A specification-oriented semantics for the refinement of real-time systems. Theoretical Computer Science, 131(1):219–241, 1994.zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    N. Wirth. Program development by stepwise refinement. Communications of the ACM, 14(4):221–227, 1971.zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Sibylle Peuker
    • 1
  • Ian Hayes
    • 2
  1. 1.Software Verification Research CentreThe University of QueenslandAustralia
  2. 2.School of Information Technology and Electrical EngineeringThe University of QueenslandAustralia

Personalised recommendations