Abstract
I began my academic research career in 1968, when I moved from industrial employment as a programmer to the Chair of Computing at the Queen’s University in Belfast. My chosen research goal was to discover an axiomatic basis for computer programming. Originally I wanted to express the axioms as algebraic equations, like those which provide the basis of arithmetic or group theory. But I did not know how. After many intellectual vicissitudes, I have now discovered the simple secret. I would be proud of this discovery, if I were not equally ashamed at taking so long to discover it.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bergstra, J., Klop, J.: Fixed point semantics in process algebra. Technical Report IW 208, Mathematical Centre, Amsterdam (1982)
Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60(1-3), 109–137 (1984)
Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. Journal of the ACM 31(3), 560–599 (1984)
Floyd, R.: Assigning meanings to programs. In: Proceedings of Symposium on Applied Mathematics, vol. 19, pp. 19–32 (1967)
Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice Hall International Series in Computer Science (1998)
Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580 (1969)
Hoare, C.A.R.: Towards a theory of parrallel programming. In: Hoare, C.A.R., Perrott, R.H. (eds.) Operating Systems Techniques, Proceedings of Seminar at Queen’s University, Belfast, Northern Ireland, pp. 61–71. Academic Press (1972)
Hoare, C.A.R.: Monitors: An operating system structuring concept. Communications of the ACM 17(10), 549–557 (1974)
Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM 21(8), 666–677 (1978)
Hoare, C.A.R.: The emperor’s old clothes. Communications of the ACM 24(2), 75–83 (1981)
Hoare, C.A.R., Hayes, I.J., He, J., Morgan, C., Roscoe, A.W., Sanders, J.W., Sørensen, I.H., Spivey, J.M., Sufrin, B.: Laws of programming. Communications of the ACM 30(8), 672–686 (1987)
Hoare, C.A.R., Möller, B., Struth, G., Wehrman, I.: Concurrent kleene algebra. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009. LNCS, vol. 5710, pp. 399–414. Springer, Heidelberg (2009)
Hoare, C.A.R., Wehrman, I., O’Hearn, P.W.: Graphical models of separation logic. In: Engineering Methods and Tools for Software Safety and Security. IOS Press (2009)
INMOS. occam Programming Manual. Prentice Hall (1984)
Ishtiaq, S.S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. In: Proc. of POPL, pp. 14–26 (2001)
Mac Lane, S.: Categories for the working mathematician, 2nd edn. Springer, Heidelberg (1998)
Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)
Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: Proc. of LICS, pp. 55–74 (2002)
Roscoe, A.W.: Model-checking CSP. In: A Classical Mind: Essays in Honour of C.A.R. Hoare. Prentice Hall International (UK) Ltd. (1994)
Scott, D., Strachey, C.: Toward a mathematical semantics for computer languages. Oxford Programming Research Group Technical Monograph, PRG-6 (1971)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hoare, T. (2014). Laws of Programming: The Algebraic Unification of Theories of Concurrency. In: Baldan, P., Gorla, D. (eds) CONCUR 2014 – Concurrency Theory. CONCUR 2014. Lecture Notes in Computer Science, vol 8704. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44584-6_1
Download citation
DOI: https://doi.org/10.1007/978-3-662-44584-6_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44583-9
Online ISBN: 978-3-662-44584-6
eBook Packages: Computer ScienceComputer Science (R0)