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.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
© IBM United Kingdom Laboratories Ltd 1990
Preview
Unable to display preview. Download preview PDF.
References
R.-J. Back. A calculus of refinements for program derivations. Acta Informatica, 25:593–624, 1988.
E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, 1976.
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.
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.
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.
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.
C.C. Morgan, K.A. Robinson, and P.H.B. Gardiner. On the refinement calculus. Technical Report PRG-70, Programming Research Group, 1988.
J.M. Morris. Programs from specifications. In E.W. Dijkstra, editor, Formal Development of Programs and Proofs. Addison-Wesley, 1989.
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.
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.
J.C.P. Woodcock. Using Z—Specification, Refinement and Proof. Oxford University Computing Laboratory.
J.C.P. Woodcock. Calculating properties of z specifications. ACM SigSoft Software Engineering Notes, 15(4):43–64, 1989.
J.B. Wordsworth. A Z Development Method. IBM UK Laboratories Ltd, Hursley Park.
Author information
Authors and Affiliations
Editor information
Rights 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