Skip to main content

Predicates, predicate transformers and refinement

  • Technical Contributions
  • Conference paper
  • First Online:
Book cover Stepwise Refinement of Distributed Systems Models, Formalisms, Correctness (REX 1989)

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

  • 210 Accesses

Abstract

Data reification is generalized, allowing “abstract” data to be implemented by parallel processes. He Jifeng and Hoare's [He Jifeng] approach to integrate theories for ”programs as predicates” and ”programs as predicate transformers”, is generalized to parallel processes and is used to formulate syntactic verification conditions to check the correctness of reification by means of processes.

Part of the work has been supported by ESPRIT project 432 (METEOR).

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.

References

  1. M. Abadi, L. Lamport — The existence of refinement mappings. Technical Report 29, DEC Systems Research Center, 1988.

    Google Scholar 

  2. P. Aczel, Semantics for a proof rule by C.B. Jones — Unpublished note, University of Manchester, 1983.

    Google Scholar 

  3. H. Barringer — A survey of verification techniques for parallel programs. Springer LNCS 191, 1985.

    Google Scholar 

  4. H. Barringer, R. Kuiper and A. Pnueli, — Now you may compose temporal logic specifications. Proc. of 16th ACM Symposium on Theory of Computing, Washington, 1984, pp. 51–63.

    Google Scholar 

  5. S.D. Brookes, C.A.R. Hoare, A.W. Roscoe — A theory of Communicating Sequential Processes. JACM 31(7), 1984, pp. 560–599.

    MathSciNet  Google Scholar 

  6. N. Francez, D. Lehman, and A. Pneuli — A linear History Semantics for Distributed languages. Proc. 21st IEEE Symposium on Foundations of Computer Science, Syracuse, N.Y. 1980. Also: TCS 32, 1984, pp. 25–46.

    Article  Google Scholar 

  7. G.A. Gorelick — A complete axiomatic system for proving assertions about recursive and non-recursive programs. Technical Report 75, University of Toronto, 1975.

    Google Scholar 

  8. D. Harel — First-order dynamic logic. LNCS 68, Springer-Verlag, 1979.

    Google Scholar 

  9. E.C.R. Hehner — Predicative programming, part I and II. Comm. ACM 27 (1984) 134–151.

    Google Scholar 

  10. C.A.R. Hoare, and He, Jifeng — The weakest prespecification, IPL, 1987.

    Google Scholar 

  11. He, Jifeng, C.A.R. Hoare, J.W. Sanders — Data Refinement Refined, Oxford University, 1985.

    Google Scholar 

  12. M.P. Herlihy, J.M. Wing — Axioms for Concurrent Objects. in Fourteenth ACM Symposium on Principles of Programming Languages (1987) 13–26.

    Google Scholar 

  13. C.A.R. Hoare — Programs are predicates, in Mathematical Logic and Programming Languages, Hoare and Shepherdson (eds), Prentice-Hall, 1985.

    Google Scholar 

  14. C.A.R. Hoare — Communicating Sequential Processes, Prentice-Hall, 1985.

    Google Scholar 

  15. C.A.R. Hoare — Proofs of Correctness of Data Representations, Acta Informatica 1, (1972) 271–281.

    Article  Google Scholar 

  16. C.B. Jones — Software development, A rigorous approach. Prentice-Hall, 1980.

    Google Scholar 

  17. C.B. Jones — Systematic software development using VDM. Prentice-Hall, 1986.

    Google Scholar 

  18. The anchored version of the temporal framework — Proc. of School/Workshop “Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency”, LNCS 354, Springer-Verlag 1989.

    Google Scholar 

  19. R. Milner — A calculus of Communicating Systems. LNCS 92, Springer-Verlag 1980.

    Google Scholar 

  20. R. Milner — Communication and Concurrency. Prentice-Hall, 1989.

    Google Scholar 

  21. E.-R. Olderog — Process Theory: Semantics, Specification and Verification. ESPRIT/LPC Advanced School on Current Trends in Concurrency, Springer LNCS 224, 1986.

    Google Scholar 

  22. J. Reynolds — The craft of programming. Prentice-Hall

    Google Scholar 

  23. W.P. de Roever — The quest for compositionality — A survey of proof systems for concurrency, Part I. Proc. of IFIP working group “The role of abstract models in Computer Science”, ed. E.J. Neuhold, North-Holland, Amsterdam, 1985.

    Google Scholar 

  24. J. Schwarz — Generic commands-A tool for partial correctness formulae The Computer Journal 20 (1977) 151–155

    Google Scholar 

  25. A. Tarski — A lattice-theoretical fixedpoint theorem and its applications, Pacific Journal of Mathematics, 1955.

    Google Scholar 

  26. J. Zwiers — Compositionality, Concurrency and Partial Correctness, Springer LNCS 321, 1989.

    Google Scholar 

  27. J. Zwiers, W.P. de Roever — Predicates are predicate transformers: a unified compositional theory for concurrency. To appear in the proc. of Principles of Distributed Computing '89.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. -P. de Roever G. Rozenberg

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zwiers, J. (1990). Predicates, predicate transformers and refinement. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Stepwise Refinement of Distributed Systems Models, Formalisms, Correctness. REX 1989. Lecture Notes in Computer Science, vol 430. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52559-9_86

Download citation

  • DOI: https://doi.org/10.1007/3-540-52559-9_86

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52559-2

  • Online ISBN: 978-3-540-47035-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics