A practical approach to the analysis of concurrent systems
The main thesis of this paper is that the analysis of concurrent programs (i.e. their specifications, their proofs of correctness, deadlockfreeness, etc.), can be done by using methods very similar to those used for analysing sequential programs.
This approach, which is certainly not new (for instance see (1),(5),(12), and (13) among others), is illustrated by various examples.
The first group of examples shows the transformations of various sequential programs into equivalent pairs of concurrent programs.
The last example shows how a network of concurrent programs can be abstracted by a very special non-deterministic sequential program. Consequently, properties of the network can be proved by applying traditional methods on its abstraction.
Some of the programs constructed in the examples are written in (pidgin) ADA.
KeywordsMathematical Object Finite Sequence Sequential Program Concurrent Program Fibonacci Number
Unable to display preview. Download preview PDF.
- (1).C.A.R. HOARE — A Calculus of Total Correctness for Communicating Sequential Processes — Science of Computer Programming — Volume 1 — 1981Google Scholar
- (2).C.A.R. HOARE — Communicating Sequential Processes — CACM — Volume 21 — 1978Google Scholar
- (3).C.A.R.HOARE — An Axiomatic Basis for Computer Programming — CACM — Volume 12 — 1969Google Scholar
- (4).M.E. CONWAY — Design of a Separable Transition-Diagram Compiler — CACM — Vo Volume 6 — 1963Google Scholar
- (5).S. OWICKI & D. GRIES — Verifying Properties of Parallel Programs: an Axiomatic Approach — CACM — Volume 19 — 1976Google Scholar
- (6).R.W. FLOYD — Assigning Meaning to Programs — Proc. Symposium Applied Mathematics — 1967Google Scholar
- (7).UNITED STATES DEPARTMENT OF DEFENSE — Reference Manual for the ADA Programming Language — 1983Google Scholar
- (8).E.W. DIJKSTRA — A Discipline of Programming — Prentice Hall — 1976Google Scholar
- (9).E.W. DIJKSTRA — A Correctness Proof for Communicating Processes. A Small Exercise — in Selected Writings on Computing: a Personal Perspective — Springer Verlag — 1982Google Scholar
- (10).E.W. DIJKSTRA — Guarded Commands, Non-determinacy and Formal Derivation of Programs — CACM — Volume 18 — 1975Google Scholar
- (11).C.B. JONES — Software Development: a Rigorous Approach — Prentice Hall — 1980Google Scholar
- (12).K.R. APT & N.FRANCEZ & W.P. DE ROEVER — A Proof System for Communicating Sequential Processes — ACM Transactions on Programming Languages — 1980Google Scholar
- (13).J.MISRA & K.M. CHANDY — Proofs of Networks of Processes — IEEE Transactions on Software Egineering — Volume SE 7 — 1981Google Scholar