Skip to main content

Z and the refinement calculus

  • Design Methodology
  • Conference paper
  • First Online:
VDM '90 VDM and Z — Formal Methods in Software Development (VDM 1990)

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

Included in the following conference series:

Abstract

Z has been developed as a formal specification notation, and, as such, has been used successfully for a number of years. Recently, other formal notations, the various flavours of refinement calculi, have emerged. They have been designed as wide spectrum languages to support the whole of the development cycle, from abstract specification through to executable code. We explore the differences between Z and the refinement calculus, and explain the reasons for some of those differences.

We also examine how a development might use both notations, thus giving a path to code from a Z specification. Some rules for switching between the notations are given, and their use is illustrated in a case study.

© IBM United Kingdom Laboratories Ltd 1990

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. R.-J. Back. A calculus of refinements for program derivations. Acta Informatica, 25:593–624, 1988.

    Google Scholar 

  2. E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, 1976.

    Google Scholar 

  3. I.J. Hayes, editor. Specification case studies. Prentice-Hall International series in computer science / C.A.R. Hoare, series editor. Prentice-Hall International, Englewood Cliffs, N.J.; London, 1987.

    Google Scholar 

  4. C.B. Jones. Software Development: A Rigorous Approach. Prentice-Hall International series in computer science / C.A.R. Hoare, series editor. Prentice-Hall International, Englewood Cliffs, N.J.; London, 1980.

    Google Scholar 

  5. C.B. Jones. Systematic software development using VDM. Prentice-Hall International series in computer science / C.A.R. Hoare, series editor. Prentice-Hall International, Englewood Cliffs, N.J.; London, 1986.

    Google Scholar 

  6. C.C. Morgan. Programming from Specifications. Prentice-Hall International series in computer science / C.A.R. Hoare, series editor. Prentice-Hall International, Englewood Cliffs, N.J.; London, 1990.

    Google Scholar 

  7. C.C. Morgan, K.A. Robinson, and P.H.B. Gardiner. On the refinement calculus. Technical Report PRG-70, Programming Research Group, 1988.

    Google Scholar 

  8. J.M. Morris. Programs from specifications. In E.W. Dijkstra, editor, Formal Development of Programs and Proofs. Addison-Wesley, 1989.

    Google Scholar 

  9. J.M. Spivey. Understanding Z: a specification language and its formal semantics. Number 3 in Cambridge tracts in theoretical computer science. Cambridge University Press, Cambridge, 1988.

    Google Scholar 

  10. J.M. Spivey. The Z notation: a reference manual. Prentice-Hall International series in computer science / C.A.R. Hoare, series editor. Prentice-Hall International, Englewood Cliffs, N.J.; London, 1989.

    Google Scholar 

  11. J.C.P. Woodcock. Using Z—Specification, Refinement and Proof. Oxford University Computing Laboratory.

    Google Scholar 

  12. J.C.P. Woodcock. Calculating properties of z specifications. ACM SigSoft Software Engineering Notes, 15(4):43–64, 1989.

    Google Scholar 

  13. J.B. Wordsworth. A Z Development Method. IBM UK Laboratories Ltd, Hursley Park.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

D. Bjørner C. A. R. Hoare H. Langmaack

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

King, S. (1990). Z and the refinement calculus. In: Bjørner, D., Hoare, C.A.R., Langmaack, H. (eds) VDM '90 VDM and Z — Formal Methods in Software Development. VDM 1990. Lecture Notes in Computer Science, vol 428. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52513-0_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-52513-0_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52513-4

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics