Z notation explained

The Z notation is a formal specification language used for describing and modelling computing systems.[1] It is targeted at the clear specification of computer programs and computer-based systems in general.

History

In 1974, Jean-Raymond Abrial published "Data Semantics". He used a notation that would later be taught in the University of Grenoble until the end of the 1980s. While at EDF (Électricité de France), working with Bertrand Meyer, Abrial also worked on developing Z.[2] The Z notation is used in the 1980 book Méthodes de programmation.

Z was originally proposed by Abrial in 1977 with the help of Steve Schuman and Bertrand Meyer.[3] It was developed further at the Programming Research Group at Oxford University, where Abrial worked in the early 1980s, having arrived at Oxford in September 1979.

Abrial has said that Z is so named "Because it is the ultimate language!"[4] although the name "Zermelo" is also associated with the Z notation through its use of Zermelo–Fraenkel set theory.

In 1992, the Z User Group (ZUG) was established to oversee activities concerning the Z notation, especially meetings and conferences.[5]

Usage and notation

Z is based on the standard mathematical notation used in axiomatic set theory, lambda calculus, and first-order predicate logic.[6] All expressions in Z notation are typed, thereby avoiding some of the paradoxes of naive set theory. Z contains a standardized catalogue (called the mathematical toolkit) of commonly used mathematical functions and predicates, defined using Z itself. It is augmented with Z schema boxes, which can be combined using their own operators, based on standard logical operators, and also by including schemas within other schemas. This allows Z specifications to be built up into large specifications in a convenient manner.

Because Z notation (just like the APL language, long before it) uses many non-ASCII symbols, the specification includes suggestions for rendering the Z notation symbols in ASCII and in LaTeX. There are also Unicode encodings for all standard Z symbols.[7]

Standards

ISO completed a Z standardization effort in 2002. This standard[8] and a technical corrigendum[9] are available from ISO free:

Award

In 1992, Oxford University Computing Laboratory and IBM were jointly awarded The Queen's Award for Technological Achievement "for the development of ... the Z notation, and its application in the IBM Customer Information Control System (CICS) product."[10]

See also

Further reading

Notes and References

  1. Book: Bowen, Jonathan P. . Jonathan Bowen

    . The Z Notation: Whence the Cause and Whither the Course? . Jonathan Bowen . Engineering Trustworthy Software Systems . 103–151 . . . 9506 . 2016 . 10.1007/978-3-319-29628-9_3. 978-3-319-29627-2 . http://researchopen.lsbu.ac.uk/395/1/setss2014.pdf .

  2. Book: Hoare, Tony . Tony Hoare

    . Greetings to Bertrand on the Occasion of his Sixtieth Birthday . Tony Hoare . 2010 . The Future of Software Engineering . 183 . 978-3-642-15187-3 . .

  3. (describes early version of the language).
  4. Web site: Formal Methods in Software Engineering . Hendrik Jan . Hoogeboom . . The Netherland . 14 April 2017 .
  5. News: Jonathan . Bowen . Jonathan Bowen . The Z User Group: Thirty Years After . . . 2022–2 . 50–56 . July 2022 . 3 August 2022 .
  6. Book: Spivey, J. Michael . Michael Spivey

    . Michael Spivey . The Z Notation: A Reference Manual . 2nd . Hemel Hempstead . . International Series in Computer Science . 1992 . 978-0139785290 .

  7. Web site: Unicode Explained: Internationalize Documents, Programs, and Web Sites . Jukka K. . Korpela . unicode-search.net . 24 March 2020 .
  8. Book: Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics . http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=21573 . ISO/IEC 13568:2002 . 2002-07-01 . ISO . Zipped PDF. 196 pp.
  9. Book: Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics — Technical corrigendum 1 . ISO/IEC 13568:2002/Cor.1:2007 . ISO . 2007-07-15 . PDF. 12 pp.
  10. Web site: The Queen's Award for Technological Achievement 1992 . https://web.archive.org/web/20081202044350/http://web2.comlab.ox.ac.uk/oucl/about/qata92.html . 2 December 2008 . . 17 October 2021.