Lably
Skip to content

Z notation

Formal specification language used for describing and modelling computing systems

  • 3 min read
  • 5 chapters

Related on Lably

Through Computer program, Set theory and Lambda calculus

History

In 1974, Jean-Raymond Abrial published "Data Semantics". 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), working with Bertrand Meyer, Abrial also worked on developing Z. Z was originally proposed by Abrial in 1977 with the help of Steve Schuman and Bertrand Meyer. The Z notation is used in the 1980 book Méthodes de programmation.

Z was developed further at the Programming Research Group at Oxford University, where Abrial worked in the early 1980s with researchers including Bernard Sufrin and Ib Holm Sørensen (1949–2012), having arrived at Oxford in September 1979. Sørensen received a DPhil degree from Oxford University in 1981 on early Z-based research. He taught early courses in Z notation at Oxford and established the Z User Meeting series, initially in Oxford.

Ib Holm Sørensen led the Transaction Processing Project at Oxford University from its inception in 1982 (later renamed the "CICS Project",), in collaboration with IBM Hursley. The project formally specified parts of IBM's CICS transaction processing software using Z notation. This won a Queen's Award for Technological Achievement in 1992. As part of the CICS project, Sørensen extended Edsger Dijkstra's Guarded Command Language by allowing the use of Z-schema notation as abstract commands. These ideas were later formalized by Carroll Morgan in his refinement calculus.

Z schema boxes were added by Carroll Morgan for the structuring of larger specifications. Ian Hayes edited the 1987 book Specification Case Study on the use of Z (2nd edition published in 1993), with contributions from Morgan, Sørensen, Sufrin, and others. A de facto standard for Z was produced as a book by Mike Spivey in 1989 (2nd edition, 1992).

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.

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Computing and communication