Partial correctness of distributed programs

  • D. Coleman
  • R. M. Gallimore
Chapter 5 Submitted Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 134)


This paper presents a notation and proof system for distributed programs. A distributed program comprises a network of communicating processes whose execution may proceed concurrently. Processes communicate via named unidirectional streams. Processes are characterised in terms of their externally observable behaviour, that is by the way their communication activities affect the sequences of values transmitted by their input and output streams. By considering only processes whose overall effect on each stream is deterministic, the externally observable behaviour of a process may be specified as a set of sequence transforming functions. The proof system deals with partial correctness and proofs are purposely limited to showing consistency with a functional specification. The approach is distinguished by the ability to prove the partial correctness of processes in isolation and the properties of networks of processes using Hoare style proof rule. An example illustrates the use of the technique.


Data Item Proof System Process Network Input Stream Boolean Expression 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    APT, K.R. FRANCEZ, N. and de ROEVER, W. A Proof System for Communicating Sequential Processes, ACM Transactions on Programming Languages and Systems, vol 2, No 3, July 1980, Page 359–385.CrossRefGoogle Scholar
  2. 2.
    GALLIMORE, R.M. and COLEMAN, D. Specification of Distributed Programs, these Proceedings.Google Scholar
  3. 3.
    HOARE, C.A.R. Communicating Sequential Processes, Communications of the ACM 21, 8, 666–6777 (1978).CrossRefGoogle Scholar
  4. 4.
    KAHN, G. and MacQUEEN, D.B. Coroutines and Networks of Parallel Processes, Proc. IFIP Congress, 1977, North-Holland, Amsterdam 1977, pp 993–998.Google Scholar
  5. 5.
    LEVIN, G.M. and GRIES, D. A Proof Technique for Communicating Sequential Processes, Acta Informatica 15, 281–302 (1981)Google Scholar
  6. 6.
    OWICKI, S.S., and GRIES, D. Verifying Properties of Parallel Programs: An Axiomatic Approach, Communications of the ACM, 19, 5 (May 1976), 279–285.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1982

Authors and Affiliations

  • D. Coleman
    • 1
  • R. M. Gallimore
    • 1
  1. 1.Department of ComputationUMISTManchesterEngland

Personalised recommendations