The Wayback Machine - https://web.archive.org/web/20120223054543/https://en.wikipedia.org/wiki/Z_notation

Z notation

From Wikipedia, the free encyclopedia
Jump to: navigation, search
An example of a formal specification using the Z notation.

The Z notation (play /ˈzɛd/), named after Zermelo–Fraenkel set theory, 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.

Contents

[edit] History

In 1974, Jean-Raymond Abrial published "Data Semantics".[1] 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.[citation needed] The Z notation is used in the 1980 book Méthodes de programmation.[2]

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 answers the question "Why Z?" with "Because it is the ultimate language!"[citation needed][clarification needed]

[edit] 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 catalog (called the mathematical toolkit) of commonly used mathematical functions and predicates.

Although 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.

[edit] Standards

The ISO completed a Z standardization effort in 2002. This standard can be obtained directly from ISO.[4] The standard and a technical corrigendum are available from the ISO site.

[edit] Tools

[edit] See also

[edit] References

  1. ^ Jean-Raymond Abrial, "Data Semantics". In Klimbie and Koffeman (eds), Data Base Management, North-Holland, pp. 1–59.
  2. ^ Bertrand Meyer and Claude Baudoin, Méthodes de programmation. Eyrolles, 1980.
  3. ^ 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
  4. ^ (1 MB PDF) Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics (ISO/IEC 13568:2002 ed.). 2002-07-01. pp. 196 pages. http://standards.iso.org/ittf/PubliclyAvailableStandards/c021573_ISO_IEC_13568_2002(E).zip. 

[edit] Further reading

[edit] External links

General
Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages
Morty Proxy This is a proxified and sanitized view of the page, visit original site.