Skip to main content

Partial correctness of distributed programs

  • Chapter 5 Submitted Papers
  • Conference paper
  • First Online:
  • 112 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 134))

Abstract

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.

This work was undertaken by the authors while D. Coleman was un study leave at the University of California, Berkeley

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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.

    Article  Google Scholar 

  2. GALLIMORE, R.M. and COLEMAN, D. Specification of Distributed Programs, these Proceedings.

    Google Scholar 

  3. HOARE, C.A.R. Communicating Sequential Processes, Communications of the ACM 21, 8, 666–6777 (1978).

    Article  Google Scholar 

  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. LEVIN, G.M. and GRIES, D. A Proof Technique for Communicating Sequential Processes, Acta Informatica 15, 281–302 (1981)

    Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jørgen Staunstrup

Rights and permissions

Reprints and permissions

Copyright information

© 1982 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Coleman, D., Gallimore, R.M. (1982). Partial correctness of distributed programs. In: Staunstrup, J. (eds) Program Specification. ProgSpec 1981. Lecture Notes in Computer Science, vol 134. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-11490-4_14

Download citation

  • DOI: https://doi.org/10.1007/3-540-11490-4_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-11490-1

  • Online ISBN: 978-3-540-39176-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics