Abstract
Z is a model-oriented specification language, which originated in the early 1980s. The first description by Abrial included a structuring mechanism called a class, which was very similar to a schema (i.e. a combination of a declaration and a constraining predicate). The Z style has developed as a result of tackling practical examples and adapting the notation to their needs; this has resulted in a style and notation that is widely applicable to the description of certain kinds of computer system, particularly the client-server model.
With the publication of Sufrin’s Z Handbook the development and understanding of Z had progressed. A type inference system and rules for reasoning were provided and the notions of schemas and generic types had evolved into their now familiar form. The first formal semantics was given by Spivey using a variety-based denotational semantics where the metalanguage used was Z itself, and included a brief sketch of a possible proof theory.
The standardisation process for Z provided a powerful motivation to attempt this exercise again. The standard semantics uses a relational approach, and attempts a loose definition of the meaning of undefined elements so as to accommodate some of the different possible treatments while ensuring that the logic is two-valued. This paper traces the evolution of the semantics of Z from the early efforts to the definition in the Z standard, comparing the various approaches to defining the model, presenting the semantics and dealing with undefinedness.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
J.-R. Abrial. The specification language Z: Basic library. Lecture notes, Programming Research Group, 11 Keble Road, Oxford, UK, 1980.
J.-R. Abrial. The specification language Z: Syntax and “Semantics”. Lecture notes, Programming Research Group, 11 Keble Road, Oxford, UK, 1980.
J.-R. Abrial. A course on system specification. Lecture notes, Programming Research Group, 11 Keble Road, Oxford, UK, 1981.
J.-R. Abrial, S.A. Schuman, and B. Meyer. Specification language. In R.M. McKeag and A.M. Macnaghten, editors, On the Construction of Programs: An Advanced Course, pages 343–410. Cambridge University Press, UK, 1980.
J.-R. Abrial and Ib H. Sorensen. KWIC-index generation. In J. Staunstrup, editor, Program Specification: Proceedings of a Workshop, volume 134 of Lecture Notes in Computer Science, pages 88–95. Springer-Verlag, 1981.
B.A. Sufrin. Z handbook, draft 1.1. Technical report, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, March 1986.
G. Barrett. Formal methods applied to a floating-point number system. IEEE Transactions on Software Engineering, 15 (5): 611–621, May 1989.
D. Blyth. The CICS application programming interface: Temporary storage. IBM Technical Report TR12.301, IBM United Kingdom Laboratories Ltd., Hursley Park, Winchester, Hampshire S021 2JN, UK, December 1990.
J.P. Bowen. Formal specification and documentation of microprocessor instruction sets. In H. Schumny and J. Molgaard, editors, Proc. EUROMICRO’87, Microcomputers: Usage, Methods and Structures, volume 21, pages 223–230. EUROMICRO, Elsevier Science Publishers B.V. (North-Holland), August 1987.
J.P. Bowen. Formal specification of the Pro CoS/safemos instruction set. Microprocessors and Microsystems, 14 (10): 631–643, December 1990.
S.M. Brien and J.E. Nicholls. Z base standard, version 1.0. Technical Monograph PRG-107, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, November 1992.
S. Croxall, P. Lupton, and J.B. Wordsworth. A formal specification of the CPI communications. IBM Technical Report TR12.277, IBM United Kingdom Laboratories Ltd., Hursley Park, Winchester, Hampshire S021 2JN, UK, 1990.
A. Diller. Z: An Introduction to Formal Methods. Wiley, Chichester, UK, June 1990.
L.W. Flinn and I.H. Sorensen. CAVIAR: A case study in specification. Technical Monograph PRG-48, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, July 1985.
P.H.B. Gardiner, P.J. Lupton, and J.C.P. Woodcock. A simpler semantics for Z. In J.E. Nicholls, editor, Z User Workshop, Oxford 1990, Workshops in Computing, pages 3–11. Springer-Verlag, 1991.
R.B. Gimson and C.C. Morgan. The Distributed Computing Software project. Technical Monograph PRG-50, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, July 1985.
I.J. Hayes. Specification Case Studies. Technical Monograph PRG-46, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, July 1985.
I.J. Hayes, editor. Specification Case Studies. International Series in Computer Science. Prentice Hall, Hemel Hempstead, Hertfordshire, UK, 1987.
He Jifeng, C.A.R. Hoare, and J.W. Sanders. Data refinement refined. In B. Robinet and R. Wilhelm, editors, Proc. ESOP 86, volume 213 of Lecture Notes in Computer Science, pages 187–196. Springer-Verlag, 1986.
C.A.R. Hoare and C.C. Morgan. Specification of distributed computing services. Typescript notes, Oxford University Computing Laboratory, 11 Kehle Road, Oxford, UK, June 1982.
I.S.C. Houston. The CICS application programming interface: Automatic transaction initiation. IBM Technical Report TR12.300, IBM United Kingdom Laboratories Ltd., Hursley Park, Winchester, Hampshire 5021 2JN, UK, December 1990.
I.S.C. Houston and S. King. CICS project report: Experiences and results from the use of Z in IBM. In S. Prehn and W.J. Toetenel, editors, VDM’91: Formal Software Development Methods, volume 551 of Lecture Notes in Computer Science, pages 588–596. Springer-Verlag, 1991.
I.S.C. Houston and J.B. Wordsworth. A Z specification of part of the CICS file control API. IBM Technical Report TR12.272, IBM United Kingdom Laboratories Ltd., Hursley Park, Winchester, Hampshire S021 2JN, UK, 1990.
Inmos Ltd. Specification of instruction set & Specification of floating point unit instructions. In Transputer Instruction Set–A compiler writer’s guide, pages 127–161. Prentice Hall, Hemel Hempstead, Hertfordshire, UK, 1988.
C. Jones. Software Development, a Rigorous Approach. Prentice-Hall International, London, 1980.
D. Bjorner and C. Jones. Formal Specification and Software Development. Prentice-Hall International, London, 1982.
S. King. The CICS application programming interface: Program control. IBM Technical Report TR12.302, IBM United Kingdom Laboratories Ltd., Hursley Park, Winchester, Hampshire 5021 2JN, UK, December 1990.
S. King, I.H. Sorensen, and J.C.P. Woodcock. Z: Grammar and concrete and abstract syntaxes. Technical Monograph PRG-68, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, 1988.
C.C. Morgan. Specification of the cambridge model distributed system name service. Distributed computing project working paper, Programming Research Group, 11 Keble Road, Oxford, UK, 1982.
C.C. Morgan. Using mathematics in user manuals. Distributed computing project working paper, Programming Research Group, 11 Keble Road, Oxford, UK, 1983.
C.C. Morgan. Schemas in Z: A preliminary reference manual. Distributed computing project working paper, Programming Research Group, 11 Keble Road, Oxford, UK, 1984.
C.C. Morgan and B.A. Sufrin. Specification of the unix file system. IEEE Trans. Soft. Eng., March 1984.
P. Mundy and J.B. Wordsworth. The CICS application programming interface: Transient data and storage control. IBM Technical Report TR12.299, IBM United Kingdom Laboratories Ltd., Hursley Park, Winchester, Hampshire 5021 2JN, UK, October 1990.
B.F. Potter, J.E. Sinclair, and D. Till. An Introduction to Formal Specification and Z. International Series in Computer Science. Prentice Hall, Hemel Hempstead, Hertfordshire, UK, 1990.
Chr.T. Sennett. Formal specification and implementation. In Chr.T. Sennett, editor, High-Integrity Software. Pitman, 1989.
D.E. Shepherd. Verified microcode design. Microprocessors and Microsystems, 14 (10): 623–630, December 1990.
D.E. Shepherd and G. Wilson. Making chips that work. New Scientist, 1664: 61–64, May 1989.
I.H. Sorensen. A specification language. In J. Staunstrup, editor, Program Specification: Proceedings of a Workshop, volume 134 of Lecture Notes in Computer Science, pages 381–401. Springer-Verlag, 1981.
J.M. Spivey. Towards a formal semantics for the Z notation. Technical Monograph PRG-41, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, October 1984.
J.M. Spivey. Understanding Z: A Specification Language and its Formal Semantics, volume 3 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, UK, January 1988.
J.M. Spivey. An introduction to Z and formal specifications. Software Engineering Journal, 4(1), January 1989.
J.M. Spivey. The Z Notation: A Reference Manual. International Series in Computer Science. Prentice Hall, Hemel Hempstead, Hertfordshire, UK, 1989.
B.A. Sufrin. Formal system specification: Notation and examples. In D. Neel, editor, Tools and Notations for Program Construction. Cambridge University Press, UK, 1982.
J.C.P. Woodcock. Teaching how to use mathematics for large-scale software development. Bull. BCS-FACS, July 1988.
J.C.P. Woodcock. Structuring specifications in Z. Software Engineering Journal, 4 (1): 51–66, January 1989.
J.C.P. Woodcock and S.M. Brien. W: A logic for Z. In J.E. Nicholls, editor, Z User Workshop, Workshops in Computing, pages 77–96. Springer-Verlag, 1991.
J.C.P. Woodcock and M. Loomes. Software Engineering Mathematics: Formal Methods Demystified. Pitman Publishing Ltd., London, UK, 1988.
J.B. Wordsworth. Software Development with Z. Addison-Wesley, Wokingham, UK, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 British Computer Society
About this paper
Cite this paper
Brien, S. (1994). The Development of Z. In: Andrews, D.J., Groote, J.F., Middelburg, C.A. (eds) Semantics of Specification Languages (SoSL). Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3229-5_1
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3229-5_1
Publisher Name: Springer, London
Print ISBN: 978-3-540-19854-3
Online ISBN: 978-1-4471-3229-5
eBook Packages: Springer Book Archive