Skip to main content

Specification of distributed programs

  • Chapter 5 Submitted Papers
  • Conference paper
  • First Online:
Program Specification (ProgSpec 1981)

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

Included in the following conference series:

  • 109 Accesses

Abstract

This paper describes a technique for program development by refinement using complementary implicit and functional specifications. The approach can be used to specify programs expressed as networks of communicating processes. A typed functional notation is introduced for that purpose and its use illustrated in the specification of a kwic-index generation program.

General properties of a program can be established by proving theorems about the functional specification. Consequently proof techniques can be used at each stage of the development process. Proofs about the final implementation only need to establish that it meets its functional specification.

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

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

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. BOYER, R. S. and MOORE, J. S. A Computational Logic, Academic Press, Inc. (London) Ltd., 1979.

    Google Scholar 

  3. BURSTALL, R. M. Proving Properties of Programs by Structural Induction Computer Journal, 12(1) 41–48, February 1969.

    Google Scholar 

  4. COLEMAN, D and GALLIMORE, R. Partial Correctness of Distributed Programs, these Proceedings.

    Google Scholar 

  5. CORRELL, C. H. Proving Programs Correct through Refinement, Acta Informatica, 9, 121–139 (1978).

    Google Scholar 

  6. de BAKKER, J. Mathematical Theory of Program Correctness, Prentice-Hall International, Inc., London 1981.

    Google Scholar 

  7. FLOYD, R. W. Assigning Meanings to Programs. AMS 19, 19–32 (1967).

    Google Scholar 

  8. HOARE, C. A. R. An Axiomatic Basis for Computer Programming, Communications of the ACM 12, 576–580 (1969).

    Article  Google Scholar 

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

    Article  Google Scholar 

  10. JONES, C. B. Software Development: A Rigorous Approach, Prentice Hall International, Inc., London 1980.

    Google Scholar 

  11. 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 

  12. LEVIN, G. M. and GRIES, D. A Proof Technique for Communicating Sequential Processes, Acta Informatica 15, 281–302 (1981).

    Google Scholar 

  13. GORDON, M. J., MILNER, A. J. and WADSWORTH, C. P. Edinburgh LCF, Lecture Notes in Computer Science 78, Springer-Verlag, Berlin 1979.

    Google Scholar 

  14. 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 

  15. SCOTT, D. S. and STRACHEY, C. Towards a Mathematical Semantic for Computer Languages, in Proc. Symp. Computers and Automata (J. Fox ed) pp 19–46, Polytechnic Institute of Brooklyn Press 1971.

    Google Scholar 

  16. GALLIMORE, R.M. and COLEMAN, D. Specification of a KWIC Index Generator, These proceedings.

    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

Gallimore, R.M., Coleman, D. (1982). Specification 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_15

Download citation

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

  • 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