Laws of Programming: The Algebraic Unification of Theories of Concurrency

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.

[1]  Peter W. O'Hearn,et al.  BI as an assertion language for mutable data structures , 2001, POPL '01.

[2]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[3]  Georg Struth,et al.  Concurrent Kleene Algebra , 2009, CONCUR.

[4]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[5]  C. A. R. Hoare,et al.  Laws of programming , 1987, CACM.

[6]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[7]  C. A. R. Hoare,et al.  The emperor's old clothes , 1981, CACM.

[8]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[9]  S. Lane Categories for the Working Mathematician , 1971 .

[10]  Mario Bravetti,et al.  CONCUR 2009 - Concurrency Theory, 20th International Conference, CONCUR 2009, Bologna, Italy, September 1-4, 2009. Proceedings , 2009, CONCUR.

[11]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[12]  Charles Antony Richard Hoare Towards a theory of parallel programming , 2002 .

[13]  C. A. R. Hoare,et al.  Unifying theories of programming , 1998, RelMiCS.

[14]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[15]  Andrew William Roscoe,et al.  Model-checking CSP , 1994 .

[16]  Inmos Limited,et al.  Occam Programming Manual , 1984 .

[17]  Peter W. O'Hearn,et al.  Graphical models of separation logic , 2009, Inf. Process. Lett..

[18]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .

[19]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.