Z notation
The Z notation /ˈzɛd/ is a formal specification language used for describing and modelling computing systems.[1] It is targeted at the clear specification of computer programs and computer-based systems in general.
History
In 1974,
Z was originally proposed by Abrial in 1977 with the help of Steve Schuman and
Abrial has said that Z is so named "Because it is the ultimate language!"[6] 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.[7]
Usage and notation
Z is based on the standard mathematical notation used in
Because 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. There are also Unicode encodings for all standard Z symbols.[9]
Standards
ISO completed a Z standardization effort in 2002. This standard[10] and a technical corrigendum[11] are available from ISO free:
- the standard is publicly available[10] from the ISO ITTF site free of charge and, separately, available for purchase[10] from the ISO site;
- the technical corrigendum is available[11] from the ISO site free of charge.
Award
In 1992,
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, 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, a model-based testing tool for the Z notation.
- Unified Modeling Language, a software system design modeling tool by Object Management Group
References
- ISBN 978-3-319-29627-2.
- North-Holland, pp. 1–59
- )
- ^ Meyer, Bertrand; Baudoin, Claude (1980), Méthodes de programmation (in French), Eyrolles
- ISBN 0-521-23090-X(describes early version of the language).
- University of Leiden. Retrieved 14 April 2017.
- FACS FACTS. No. 2022–2. BCS-FACS. pp. 50–56. Retrieved 3 August 2022.
- ISBN 978-0139785290.
- ^ Korpela, Jukka K. "Unicode Explained: Internationalize Documents, Programs, and Web Sites". unicode-search.net. Retrieved 24 March 2020.
- ^ Zipped PDF). ISO. 1 July 2002. 196 pp.
- ^ a b "ISO/IEC 13568:2002/Cor.1:2007". Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics — Technical corrigendum 1 (PDF). ISO. 15 July 2007. 12 pp.
- Oxford University Computing Laboratory. Archived from the originalon 2 December 2008. Retrieved 17 October 2021.
Further reading
- Spivey, John Michael (1992). The Z Notation: A reference manual. International Series in Computer Science (2nd ed.). Prentice Hall.
- ISBN 0-13-948472-8.
- ISBN 1-85032-230-9.
- Jacky, Jonathan (1997). The Way of Z: Practical Programming with Formal Methods. ISBN 0-521-55976-6.
- Ince, D C (1993). An Introduction to Discrete Mathematics, Formal System Specification, and Z. ISBN 9780198538370.