Z was originally proposed by Abrial in 1977 with the help of Steve Schuman andBertrand Meyer.[5] It was developed further at theProgramming Research Group atOxford 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!"[6] although the name "Zermelo" is also associated with the Z notation through its use ofZermelo–Fraenkel set theory.
In 1992, theZ User Group (ZUG) was established to oversee activities concerning the Z notation, especially meetings and conferences.[7]
Z is based on the standard mathematical notation used inaxiomatic set theory,lambda calculus, andfirst-order predicate logic.[8] All expressions in Z notation aretyped, thereby avoiding some of theparadoxes of naive set theory. Z contains a standardized catalogue (called themathematical toolkit) of commonly used mathematical functions and predicates, defined using Z itself. It is augmented withZ 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 theAPL language, long before it) uses many non-ASCII symbols, the specification includes suggestions for rendering the Z notation symbols inASCII and inLaTeX. There are alsoUnicode encodings for all standard Z symbols.[9]
In 1992,Oxford University Computing Laboratory andIBM 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."[12]
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.
^Abrial, Jean-Raymond (1974), "Data Semantics", in Klimbie, J. W.; Koffeman, K. L. (eds.),Proceedings of theIFIP Working Conference on Data Base Management,North-Holland, pp. 1–59
^Meyer, Bertrand; Baudoin, Claude (1980),Méthodes de programmation (in French), Eyrolles
^Abrial, Jean-Raymond; Schuman, Stephen A; Meyer, Bertrand (1980), "A Specification Language", in Macnaghten, A. M.; McKeag, R. M. (eds.),On the Construction of Programs,Cambridge University Press,ISBN0-521-23090-X (describes early version of the language).