Skip to main content

The Development of Z

  • Conference paper

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.-R. Abrial. The specification language Z: Basic library. Lecture notes, Programming Research Group, 11 Keble Road, Oxford, UK, 1980.

    Google Scholar 

  2. J.-R. Abrial. The specification language Z: Syntax and “Semantics”. Lecture notes, Programming Research Group, 11 Keble Road, Oxford, UK, 1980.

    Google Scholar 

  3. J.-R. Abrial. A course on system specification. Lecture notes, Programming Research Group, 11 Keble Road, Oxford, UK, 1981.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. B.A. Sufrin. Z handbook, draft 1.1. Technical report, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, March 1986.

    Google Scholar 

  7. G. Barrett. Formal methods applied to a floating-point number system. IEEE Transactions on Software Engineering, 15 (5): 611–621, May 1989.

    Article  Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. J.P. Bowen. Formal specification of the Pro CoS/safemos instruction set. Microprocessors and Microsystems, 14 (10): 631–643, December 1990.

    Article  Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. A. Diller. Z: An Introduction to Formal Methods. Wiley, Chichester, UK, June 1990.

    MATH  Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. I.J. Hayes. Specification Case Studies. Technical Monograph PRG-46, Oxford University Computing Laboratory, 11 Keble Road, Oxford, UK, July 1985.

    Google Scholar 

  18. I.J. Hayes, editor. Specification Case Studies. International Series in Computer Science. Prentice Hall, Hemel Hempstead, Hertfordshire, UK, 1987.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. C. Jones. Software Development, a Rigorous Approach. Prentice-Hall International, London, 1980.

    MATH  Google Scholar 

  26. D. Bjorner and C. Jones. Formal Specification and Software Development. Prentice-Hall International, London, 1982.

    MATH  Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. C.C. Morgan. Using mathematics in user manuals. Distributed computing project working paper, Programming Research Group, 11 Keble Road, Oxford, UK, 1983.

    Google Scholar 

  31. C.C. Morgan. Schemas in Z: A preliminary reference manual. Distributed computing project working paper, Programming Research Group, 11 Keble Road, Oxford, UK, 1984.

    Google Scholar 

  32. C.C. Morgan and B.A. Sufrin. Specification of the unix file system. IEEE Trans. Soft. Eng., March 1984.

    Google Scholar 

  33. 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.

    Google Scholar 

  34. 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.

    Google Scholar 

  35. Chr.T. Sennett. Formal specification and implementation. In Chr.T. Sennett, editor, High-Integrity Software. Pitman, 1989.

    Google Scholar 

  36. D.E. Shepherd. Verified microcode design. Microprocessors and Microsystems, 14 (10): 623–630, December 1990.

    Article  Google Scholar 

  37. D.E. Shepherd and G. Wilson. Making chips that work. New Scientist, 1664: 61–64, May 1989.

    Google Scholar 

  38. 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.

    Google Scholar 

  39. 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.

    Google Scholar 

  40. 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.

    Google Scholar 

  41. J.M. Spivey. An introduction to Z and formal specifications. Software Engineering Journal, 4(1), January 1989.

    Article  Google Scholar 

  42. J.M. Spivey. The Z Notation: A Reference Manual. International Series in Computer Science. Prentice Hall, Hemel Hempstead, Hertfordshire, UK, 1989.

    Google Scholar 

  43. B.A. Sufrin. Formal system specification: Notation and examples. In D. Neel, editor, Tools and Notations for Program Construction. Cambridge University Press, UK, 1982.

    Google Scholar 

  44. J.C.P. Woodcock. Teaching how to use mathematics for large-scale software development. Bull. BCS-FACS, July 1988.

    Google Scholar 

  45. J.C.P. Woodcock. Structuring specifications in Z. Software Engineering Journal, 4 (1): 51–66, January 1989.

    Article  MathSciNet  Google Scholar 

  46. 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.

    Google Scholar 

  47. J.C.P. Woodcock and M. Loomes. Software Engineering Mathematics: Formal Methods Demystified. Pitman Publishing Ltd., London, UK, 1988.

    Book  Google Scholar 

  48. J.B. Wordsworth. Software Development with Z. Addison-Wesley, Wokingham, UK, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics