Retrospective and Prospective for Unifying Theories of Programming

  • Eric Hehner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4010)


This paper presents a personal account of developments leading to Unifying Theories of Programming, and some opinions about the direction the work should take in the future. It also speculates on consequences the work will have for all of computer science.


Execution Time Unify Theory Sequential Composition Boolean Expression Vacuum Cleaner 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Back, R.-J.R., von Wright, J.: Refinement Calculus: a Systematic Introduction. Springer, Heidelberg (1998)MATHGoogle Scholar
  2. 2.
    Caspi, P., Halbwachs, N., Pilaud, D., Plaice, J.A.: LUSTRE: a declarative language for programming synchronous systems. In: 14th ACM Symposium on Principles of Programming Languages, pp. 178–189 (1987)Google Scholar
  3. 3.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)MATHGoogle Scholar
  4. 4.
    Hayes, I.J.: Reasoning about real-time repetitions, terminating and nonterminating. Science of Computer Programming 43(2-3), 161–192 (2002)CrossRefMathSciNetMATHGoogle Scholar
  5. 5.
    Hehner, E.C.R., Gravell, A.M.: Refinement semantics and loop rules. In: Woodcock, J.C.P., Davies, J., Wing, J.M. (eds.) FM 1999. LNCS, vol. 1709, pp. 1497–1510. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Hehner, E.C.R.: A Practical Theory of Programming, 1st edn. Springer, Heidelberg (1993), MATHGoogle Scholar
  7. 7.
    Hehner, E.C.R.: Probabilistic predicative programming. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 169–185. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Hehner, E.C.R.: Termination is timing. In: van de Snepscheut, J.L.A. (ed.) MPC 1989. LNCS, vol. 375, pp. 36–47. Springer, Heidelberg (1989)Google Scholar
  9. 9.
    Hehner, E.C.R.: Real-time programming. Information Processing Letters 30, 51–56 (1989)CrossRefMathSciNetMATHGoogle Scholar
  10. 10.
    Hehner, E.C.R., Malton, A.J.: Termination conventions and comparative semantics. Acta Informatica 25, 1–14 (1988)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Hehner, E.C.R.: Predicative programming. Communications ACM 27(2), 134–151 (1984)CrossRefMathSciNetMATHGoogle Scholar
  12. 12.
    Hehner, E.C.R.: The Logic of Programming. In: Hoare, C.A.R. (ed.). International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1984)Google Scholar
  13. 13.
    Hehner, E.C.R., Hoare, C.A.R.: A more complete model of communicating processes. Theoretical Computer Science 26, 105–120 (1983); Also as University of Toronto Technical Report CSRG-134 (September 1981)CrossRefMathSciNetMATHGoogle Scholar
  14. 14.
    Hehner, E.C.R.: Do considered od: a contribution to the programming calculus. Acta Informatica 11, 287–304 (1979)CrossRefMATHGoogle Scholar
  15. 15.
    Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  16. 16.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Communications ACM 12(10), 576–580, 583 (1969)CrossRefMATHGoogle Scholar
  17. 17.
    Hoare, C.A.R.: A proof of correctness of data representations. Acta Informatica 1(4), 271–282 (1972)CrossRefMATHGoogle Scholar
  18. 18.
    Morgan, C.C., McIver, A.K., Seidel, K., Sanders, J.W.: Probabilistic predicate transformers. ACM Transactions on Programming Languages and Systems 18(3), 325–353 (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Eric Hehner
    • 1
  1. 1.Department of Computer ScienceUniversity of TorontoTorontoCanada

Personalised recommendations