The Z notation (formally pronounced /zɛd/), named after Zermelo-Fränkel set theory, is a formal specification language used for describing and modeling computing systems. It is targeted at the clear specification of computer programs and the formulation of proofs about the intended program behavior.
Z was originally proposed by Jean-Raymond Abrial in 1977 with the help of Steve Schuman and Bertrand Meyer [1]. It was developed further at the Programming Research Group at Oxford University, where Abrial worked in the early eighties.
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 catalog (called the mathematical toolkit) of commonly used mathematical functions and predicates.
Although Z notation uses many non-ASCII symbols, the specification includes suggestions for rendering the Z notation symbols in ASCII and in LaTeX. A Z ttf font is also available for free download.
Standards
The ISO completed a Z standardization effort in 2002. This standard can be obtained directly from ISO.[2]
See also
References
- ^ Jean-Raymond Abrial, Stephen A. Schuman and Bertrand Meyer: A Specification Language, in On the Construction of Programs, Cambridge University Press, eds. A. M. Macnaghten and R. M. McKeag, 1980 (describes early version of the language). ISBN 0-521-23090-X
- ^ (2002-07-01) Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics (1 MB PDF), ISO/IEC 13568:2002, 196 pages.
Further reading
External links
|