Z notation
   HOME

TheInfoList



OR:

The Z notation is a formal specification language used for describing and modelling computing systems. It is targeted at the clear specification of
computer program A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. Computer programs are one component of software, which also includes software documentation, documentation and oth ...
s 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 The Université Grenoble Alpes (UGA, French: meaning "''Grenoble Alps University''") is a public research university in Grenoble, France. Founded in 1339, it is the third largest university in France with about 60,000 students and over 3,000 re ...
until the end of the 1980s. While at EDF ( Électricité de France), working with Bertrand Meyer, Abrial also worked on developing 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 Oxford () is a city in England. It is the county town and only city of Oxfordshire. In 2020, its population was estimated at 151,584. It is north-west of London, south-east of Birmingham and north-east of Bristol. The city is home to the ...
, 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. In 1992, the Z User Group (ZUG) was established to oversee activities concerning the Z notation, especially meetings and conferences.


Usage and notation

Z is based on the standard mathematical notation used in
axiomatic set theory Set theory is the branch of mathematical logic that studies sets, which can be informally described as collections of objects. Although objects of any kind can be collected into a set, set theory, as a branch of mathematics, is mostly concern ...
,
lambda calculus Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation th ...
, 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. 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 ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
symbols, the specification includes suggestions for rendering the Z notation symbols in
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
and in
LaTeX Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well. In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosperms ...
. There are also
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
encodings for all standard Z symbols.


Standards

ISO completed a Z standardization effort in 2002. This standard 196 pp. and a technical corrigendum 12 pp. 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, Oxford University Computing Laboratory was awarded the Queen's Award for Technological Achievement for their joint development with IBM of Z notation.


See also

* Z User Group (ZUG) * Community Z Tools (CZT) project * Other formal methods (and languages using formal specifications): ** 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 An alloy is a mixture of chemical elements of which at least one is a metal. Unlike chemical compounds with metallic bases, an alloy will retain all the properties of a metal in the resulting material, such as electrical conductivity, ductili ...
, 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 Model-based testing is an application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a system under test (SUT), or ...
tool for the Z notation.


References


Further reading

* * * * {{DEFAULTSORT:Z Notation Computer-related introductions in 1977 Specification languages Formal specification languages Oxford University Computing Laboratory