Z notation
The Z notation  is a formal specification language used for describing and modelling computing systems. 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), Abrial wrote internal notes on Z. 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. 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!" although the name "Zermelo" is also associated with the Z notation through its use of Zermelo–Fraenkel set theory.

Usage and notation
Z is based on the standard mathematical notation used in axiomatic set theory, lambda calculus, and first-order predicate logic. 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.

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.

Standards
ISO completed a Z standardization effort in 2002. This standard and a technical corrigendum are available from ISO free:
 the standard is publicly available from the ISO ITTF site free of charge and, separately, available for purchase from the ISO site;
 the technical corrigendum is available from the ISO site free of charge.

Award
In 1992, “Her Majesty the Queen [was] graciously pleased to approve the Prime Minister’s recommendation that The Queen’s Award for Technological Achievement should be conferred this year upon Oxford University Computing Laboratory. Oxford University Computing Laboratory [gained] the Award jointly with IBM United Kingdom Laboratories Limited for the development of a programming method based on elementary set theory and logic known as the Z notation, and its application in the IBM Customer Information Control System (CICS) product.”

See also
 Z User Group (ZUG)
 Community Z Tools (CZT) project
 Other formal methods (and languages using formal specifications):
 FDM (Formal Development Methodology), revolving around the Ina Jo and Ina Flo specification sub-languages, quite popular in the 1980s and 1990s
 VDM-SL, the main alternative to Z
 B-Method, developed by Jean-Raymond Abrial (creator of Z notation)
 Z++ and  Object-Z : object extensions for the Z notation
Alloy, a specification language inspired by Z notation and implementing the principles of Object Constraint Language (OCL).
 Verus, a proprietary tool built by Compion, Champaign, Illinois (later purchased by Motorola), for use in the multi-level secure UNIX project pioneered by its Addamax division.
 Fastest is a model-based testing tool for the Z notation.

References

Further reading

 
Computer-related introductions in 1977
Specification languages
Formal specification languages
Oxford University Computing Laboratory