Abstract
This paper develops some ideas expounded in [1]. 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.
Work on this paper has been supported in part by ARPA under contract SD-183 and NSF under contract GJ-36473X.
The views expressed are those of the author.
Preview
Unable to display preview. Download preview PDF.
References
C. A. R. Hoare. "Towards a Theory of Parallel Programming," in Operating Systems Techniques, ed. C. A. R. Hoare and R. H. Perrot. Academic Press, 1972.
C. A. R. Hoare. "Proof of Correctness of Data Representations," Acta Informatica 1, 271–281 (1972).
C. A. R. Hoare. "Monitors: an Operating System Structuring Concept." Seminar delivered to I.R.I.A., May 11, 1973.
D. Scott. "Outline of a Mathematical Theory of Computation," PRG-7. Programming Research Group, Oxford University.
E. W. Dijkstra. "Cooperating Sequential Processes," in Programming Languages, ed. F. Genuys. Academic Press, 1968.
C. A. R. Hoare. "Notes on Data Structuring," in Structured Programming, by E. W. Dijkstra, O. J. Dahl, C. A. R. Hoare. Academic Press, 1972.
C. A. R. Hoare. "Procedures and Parameters: an Axiomatic Approach," in Symposium on Semantics of Algorithmic Languages, ed. E. Engeler. Springer-Verlag, 1972.
P. E. Lauer. "Consistent Formal Theories of the Semantics of Programming Languages," Ph.D. thesis, Queen's University, Belfast. TR.25.121 IBM Laboratory, Vienna, Nov. 1971.
P. Brinch Hansen. Operating System Principles. Prentice-Hall, 1973.
D. Michie. "Memo functions: a language feature with ‘rote learning’ properties," MIP-R-29, Edinburgh University, (November 1967).
M. E. Conway. "Design of a Separable Transition Diagram Compiler," Comm. ACM 6, 396–408, (1963).
M. Clint. "Program Proving: Coroutines," Acta Informatica 2, 50–63, (1973).
R. W. Floyd. "Nondeterministic Algorithms," J. ACM 14, 4, pp. 636–644, (1967).
N. Wirth. "The Programming Language PASCAL," Acta Informatica 1, 1 (1971), pp. 35–63.
E. A. Ashcroft, Z. Manna. "Formalization of Properties of Parallel Programs," A.I.M. 110, Stanford University, February 1970.
E. W. Dijkstra. Private communication.
Formal Definition of PL/I. IBM Laboratory, Vienna, TR.25.071 (1967).
A. d'Agapeyeff. Private communication.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1976 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hoare, C.A.R. (1976). Parallel programming: An axiomatic approach. In: Bauer, F.L., et al. Language Hierarchies and Interfaces. Lecture Notes in Computer Science, vol 46. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-07994-7_47
Download citation
DOI: https://doi.org/10.1007/3-540-07994-7_47
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-07994-1
Online ISBN: 978-3-540-37972-0
eBook Packages: Springer Book Archive