This description was written by a machine and published without a person checking it. It is what the agent made of this grouping, and not a statement anybody has stood behind.

What a process may share

A subject the papers are about. The loosest grouping, and the one to reach for last.

What processes may share, and what keeps the sharing honest. First as language constructs -- semaphores, monitors, then message passing, which shares nothing -- and afterwards as proof rules for the same question, where what a process owns becomes what the logic tracks.

The construct half is nearly complete as a sequence: Dijkstra's 1965 mutual exclusion solution and the THE system, Brinch Hansen's structured multiprogramming, Hoare's monitors, then the two 1978 answers that go the other way -- distributed processes and CSP, where the discipline is that nothing is shared at all. Lampson and Redell's Mesa paper is the one that reports what monitors cost once real programs use them, and Brinch Hansen on reproducible testing is the admission that a construct which prevents races does not make them observable.

The proof half contains a genuine disagreement rather than a progression. Owicki and Gries discharge interference by proving that no assertion in one process invalidates one in another -- which works and does not compose, because the obligations grow with the product of the processes. Jones's rely/guarantee is the compositional answer to exactly that. O'Hearn's concurrent separation logic is the third answer: make ownership the thing the logic tracks, so disjointness is structural rather than checked pairwise. Brookes surveys where that ended up, and Views and Nanevski are attempts to give the competing accounts one framework.

Chandy and Lamport sit slightly apart, asking not what may be shared but what a global state even means when nobody can observe one.

Iorga is the set's sharpest late entry, and belongs to the chip material as much as here: it works out the semantics of shared memory in Intel CPU/FPGA systems -- that is, what the hardware actually provides underneath every logic above.

Three Owicki records are held: a 1975 technical report and two 1976 papers, in CACM and Acta Informatica. Their relationship is flagged on the links and not settled; the Acta paper is titled 'I' and the corpus holds no part II.

18 references

The semantics of shared memory in Intel CPU/FPGA systems
Dan Iorga and others (2021) · Proceedings of the ACM on Programming Languages · Association for Computing Machinery
Concurrent separation logic
Stephen Brookes and others (2016) · ACM SIGLOG News
Communicating state transition systems for fine-grained concurrent resources
Aleksandar Nanevski and others (2014) · 23rd European Symposium on Programming Languages and Systems (ESOP) · Springer
Views: compositional reasoning for concurrent programs
Thomas Dinsdale-Young and others (2013) · 40th ACM Symposium on Principles of Programming Languages (POPL) · Association for Computing Machinery
Verification of Sequential and Concurrent Programs
Krzysztof R. Apt and others (2009) · Springer
Resources, concurrency, and local reasoning
Peter W. O'Hearn (2007) · Theoretical Computer Science · Elsevier
Distributed snapshots: determining global states of distributed systems
K. Mani Chandy and others (1985) · ACM Transactions on Computer Systems · Association for Computing Machinery
Experience with processes and monitors in Mesa
Butler W. Lampson and others (1980) · Communications of the ACM · Association for Computing Machinery
Distributed processes: a concurrent programming concept
Per Brinch Hansen (1978) · Communications of the ACM · Association for Computing Machinery
Reproducible testing of monitors
Per Brinch Hansen (1978) · Software: Practice and Experience · Wiley
Communicating sequential processes
C. A. R. Hoare (1978) · Communications of the ACM · Association for Computing Machinery
An axiomatic proof technique for parallel programs I
Susan Owicki and others (1976) · Acta Informatica · Springer
Verifying properties of parallel programs: An axiomatic approach
Susan Owicki and others (1976) · Communications of the ACM · Association for Computing Machinery (ACM)
Axiomatic Proof Techniques for Parallel Programs
Susan Speer Owicki (1975) · Cornell University
Monitors: an operating system structuring concept
C. A. R. Hoare (1974) · Communications of the ACM · Association for Computing Machinery
Structured multiprogramming
Per Brinch Hansen (1972) · Communications of the ACM · Association for Computing Machinery
The structure of the "THE"-multiprogramming system
Edsger W. Dijkstra (1968) · Communications of the ACM · Association for Computing Machinery
Solution of a problem in concurrent programming control
Edsger W. Dijkstra (1965) · Communications of the ACM · Association for Computing Machinery