Report Number: CS-TR-73-394
Institution: Stanford University, Department of Computer Science
Title: Parallel programming: an axiomatic approach.
Author: Hoare, C. A. R.
Date: October 1973
Abstract: This paper develops some ideas expounded in [C.A.R. Hoare. "Towards a Theory of Parallel Programming," in $\underline{Operating Systems Techniques}, ed. C.A.R. Hoare and R.H. Perrot. Academic Press. 1972]. It distinguishes a number of ways of using parallelism, including disjoint processes, competition, cooperation, communication and "colluding". In each case an axiomatic proof rule is given. Some light is thrown on traps or ON conditions. Warning: the program structuring methods described here are not suitable for the construction of operating systems.
http://i.stanford.edu/pub/cstr/reports/cs/tr/73/394/CS-TR-73-394.pdf