Skip to main content

Stepwise refinement and concurrency: A small exercise

  • Contributed Lectures
  • Conference paper
  • First Online:
Mathematics of Program Construction (MPC 1989)

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

Included in the following conference series:

Abstract

A simple methodology for the design of concurrent programs is illustrated by a short example. This methodology formalizes the classical concept of “stepwise refinement”.

Supported in part by the ESPRIT project ATES.

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. K.R. APT, “Correctness Proofs of Distributed Termination Algorithms”, ACM Toplas, vol. 8, pp. 388–405, 1986

    Article  Google Scholar 

  2. R.J.R. BACK, “A calculus of Refinements for Program Derivations”, Acta Informatica, vol.25, pp. 593–624, 1988

    Article  Google Scholar 

  3. R.J.R. BACK and R. KURKI-SUONIO, “Decentralization of Process Nets with Centralized Control”, Proc. 2nd ACM Symp. on Principles of Distributed Computing, pp. 131–142, 1983

    Google Scholar 

  4. R.J.R. BACK and R. KURKI-SUONIO, “Distributed Cooperation with Action Systems”, ACM Toplas, vol. 10, pp. 513–554, 1988

    Article  Google Scholar 

  5. E. BEST, “A Note on the Proof of a Concurrent Program”, IPL, vol. 9, pp. 103–104, 1979

    Google Scholar 

  6. M. CHANDY and J. MISRA, “An Example of Stepwise Refinement of Distributed Programs: Quiescence Detection”, ACM Toplas, vol. 8, pp. 326–343, 1986

    Article  Google Scholar 

  7. M. CHANDY and J. MISRA, “Parallel Program Design: A Foundation”, Addison-Wesley, 1988.

    Google Scholar 

  8. E.M. CLARKE, “Synthesis of Resource Invariants for Concurrent Programs”, ACM Toplas, vol. 2, pp. 338–358, 1980

    Google Scholar 

  9. P. COUSOT and R. COUSOT, “Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints”, Proc. 4th ACM Symp. on Principles of Programming Languages, pp. 238–252, 1977

    Google Scholar 

  10. P. COUSOT and R. COUSOT, “A Language Independent Proof of the Soundness and Completeness of Generalized Hoare Logic”, Information and Computation, vol. 80, pp. 165–191, 1989

    Google Scholar 

  11. P. COUSOT and N. HALBWACHS, “Automatic discovery of linear restraints among variables of a program”, Proc. 5th ACM Symp. on Principles of Programming Languages, pp. 84–96, 1978

    Google Scholar 

  12. J.W. de BAKKER and L.G.L.T. MEERTENS, “On the completeness of the inductive assertion method”, JCSS, vol. 11, pp.323–357, 1975

    Google Scholar 

  13. J.W. de BAKKER, “Mathematical Theory of Program Correctness”, Prentice Hall, New Jersey, 1980

    Google Scholar 

  14. E.W. DIJKSTRA, “A discipline of programming”, Prentice Hall, New Jersey, 1976

    Google Scholar 

  15. E.W. DIJKSTRA, “A correctness proof for networks of communicating processes: a small exercise”, EWD 607, Burroughs, The Netherlands, 1977

    Google Scholar 

  16. E.W. DIJKSTRA and al., “On-the-Fly Garbage Collection: An Exercise in Cooperation”, CACM, vol. 21, pp. 966–975, 1978

    Google Scholar 

  17. E.W. DIJKSTRA, “Finding the Correctness Proof of a Concurrent Program”, LNCS, vol. 69, pp. 24–34, 1979

    Google Scholar 

  18. E.W. DIJKSTRA, “On the Interplay between Mathematics and Programming”, LNCS, vol. 69, pp. 35–46, 1979

    Google Scholar 

  19. E.P. GRIBOMONT, “From synchronous to asynchronous communication”, Workshop BCS-FACS on Specification and Verification of Concurrent Systems (Stirling, Scotland, 1988), to appear in “FACS Workshop Series”, vol 1, 1989

    Google Scholar 

  20. D. GRIES, “The Science of Programming”, Springer-Verlag, Berlin, 1981

    Google Scholar 

  21. C.A.R. HOARE, “An axiomatic basis for computer programming”, CACM, vol. 12, pp. 576–583, 1969

    Google Scholar 

  22. C.A.R. HOARE, “Communicating Sequential Processes”, CACM, vol. 21, pp. 666–677, 1978

    Google Scholar 

  23. C.A.R. HOARE, “Communicating Sequential Processes”, Prentice-Hall, 1985

    Google Scholar 

  24. R.M. KELLER, “Formal Verification of Parallel Programs”, CACM, vol. 19, pp. 371–384, 1976

    Google Scholar 

  25. L. LAMPORT, “The ‘Hoare Logic’ of Concurrent Programs”, Acta Informatica, vol. 14, pp. 21–37, 1980

    Article  Google Scholar 

  26. L. LAMPORT, “An Assertional Correctness Proof of a Distributed Algorithm”, Science of Computer Programming, vol. 2, pp. 175–206, 1983

    Google Scholar 

  27. L. LAMPORT and F.B. SCHNEIDER, “The ‘Hoare Logic’ of CSP, and All That”, ACM Toplas, vol. 6, pp. 281–296, 1984

    Article  Google Scholar 

  28. L. LAMPORT, “win and sin: Predicate Transformers for Concurrency”, DEC SRC Report 17, 1987

    Google Scholar 

  29. L. LAMPORT, “Control Predicates are Better than Dummy Variables for Reasoning about Program Control”, ACM Toplas, vol. 10, pp. 267–281, 1988

    Google Scholar 

  30. N.A. LYNCH and M.R. TUTTLE, “Hierarchical Correctness Proofs for Distributed Algorithms”, Proc. 6th ACM Symp. on Principles of Distributed Computing, pp. 137–151, 1987

    Google Scholar 

  31. C. MORGAN, “The Specification Statement”, ACM Toplas, vol. 10, pp. 403–419, 1988

    Article  Google Scholar 

  32. C. MORGAN, “Auxiliary variables in data refinement”, IPL, vol. 29, pp. 293–296, 1988

    Google Scholar 

  33. J. MORRIS, “A theoretical basis for stepwise refinement and the programming calculus”, Science of Computer Programming, vol. 9, pp. 287–306, 1987

    Article  Google Scholar 

  34. J.M. MORRIS, “Varieties of weakest liberal preconditions”, IPL, vol. 25, pp. 207–210, 1987

    Google Scholar 

  35. S. OWICKI and D. GRIES, “An Axiomatic Proof Technique for Parallel programs”, Acta Informatica, vol. 6, pp 319–340, 1976

    Article  Google Scholar 

  36. M. RAYNAL, “Algorithms for Mutual Exclusion”, North Oxford Academic, 1986

    Google Scholar 

  37. J. SIFAKIS, “A unified approach for studying the properties of transition systems”, TCS, vol. 18, pp. 227–259, 1982

    Article  Google Scholar 

  38. A. van LAMSWEERDE and M. SINTZOFF, “Formal derivation of strongly correct concurrent programs”, Acta Informatica, vol. 12, pp. 1–31, 1979

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. L. A. van de Snepscheut

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gribomont, E.P. (1989). Stepwise refinement and concurrency: A small exercise. In: van de Snepscheut, J.L.A. (eds) Mathematics of Program Construction. MPC 1989. Lecture Notes in Computer Science, vol 375. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51305-1_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-51305-1_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51305-6

  • Online ISBN: 978-3-540-46191-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics