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
Preview
Unable to display preview. Download preview PDF.
References
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.
GALLIMORE, R.M. and COLEMAN, D. Specification of Distributed Programs, these Proceedings.
HOARE, C.A.R. Communicating Sequential Processes, Communications of the ACM 21, 8, 666–6777 (1978).
KAHN, G. and MacQUEEN, D.B. Coroutines and Networks of Parallel Processes, Proc. IFIP Congress, 1977, North-Holland, Amsterdam 1977, pp 993–998.
LEVIN, G.M. and GRIES, D. A Proof Technique for Communicating Sequential Processes, Acta Informatica 15, 281–302 (1981)
OWICKI, S.S., and GRIES, D. Verifying Properties of Parallel Programs: An Axiomatic Approach, Communications of the ACM, 19, 5 (May 1976), 279–285.
Author information
Authors and Affiliations
Editor information
Rights 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