
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. It is one component of software, which also includes software documentation, documentation and other intangibl ...
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 (, ''Grenoble Alps University'', abbr. UGA) is a Grands établissements, ''grand établissement'' in Grenoble, France. Founded in 1339, it is the third largest university in France with about 60,000 students and over 3,000 researchers.
Es ...
until the end of the 1980s. While at EDF (
Électricité de France), working with
Bertrand Meyer
Bertrand Meyer (; ; born 21 November 1950) is a French academic, author, and consultant in the field of computer languages. He created the Eiffel programming language and the concept of design by contract.
Education and academic career
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
Bertrand Meyer (; ; born 21 November 1950) is a French academic, author, and consultant in the field of computer languages. He created the Eiffel programming language and the concept of design by contract.
Education and academic career
Meyer ...
. It was developed further at the
Programming Research Group at
Oxford University
The University of Oxford is a collegiate research university in Oxford, England. There is evidence of teaching as early as 1096, making it the oldest university in the English-speaking world and the second-oldest continuously operating u ...
, 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 set theory, Zermelo–Fraenkel set theory, named after mathematicians Ernst Zermelo and Abraham Fraenkel, is an axiomatic system that was proposed in the early twentieth century in order to formulate a theory of sets free of paradoxes suc ...
.
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 Set (mathematics), 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 mathema ...
,
lambda calculus
In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
, 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 uses many non-
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
symbols, the specification includes suggestions for rendering the Z notation symbols in
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
and in
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
. There are also
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
encodings for all standard Z symbols.
Standards
ISO
The International Organization for Standardization (ISO ; ; ) is an independent, non-governmental, international standard development organization composed of representatives from the national standards organizations of member countries.
Me ...
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 and
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
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."
Further reading
*
*
*
*
*
See also
*
Z User Group (ZUG)
*
Community Z Tools (CZT) project
* Other
formal methods
In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
(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 in most cases at least one is a metal, metallic element, although it is also sometimes used for mixtures of elements; herein only metallic alloys are described. Metallic alloys often have prop ...
, a specification language inspired by Z notation and implementing the principles of
Object Constraint Language (OCL)
*
Fastest, 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
*
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.
UML provides a standard notation for many types of diagrams which can be roughly ...
, a software system design modeling tool by
Object Management Group
The Object Management Group (OMG®) is a computer industry Standards Development Organization (SDO), or Voluntary Consensus Standards Body (VCSB). OMG develops enterprise integration and modeling standards for a range of technologies.
Busin ...
References
{{DEFAULTSORT:Z Notation
Computer-related introductions in 1977
Specification languages
Formal specification languages
Oxford University Computing Laboratory