Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  



























Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Usage and notation  





3 Standards  





4 Award  





5 See also  





6 References  





7 Further reading  














Z notation






العربية
Deutsch
Español
فارسی
Français
Italiano
Lietuvių
Bahasa Melayu

Português
Русский
Slovenščina
Türkçe
Українська
Yorùbá

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 


















From Wikipedia, the free encyclopedia
 


An example of a formal specification (in Spanish) using the Z notation, with named schema boxes, including declarations and predicates

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[edit]

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

Z was originally proposed by Abrial in 1977 with the help of Steve Schuman and Bertrand Meyer.[5] It was developed further at the Programming Research GroupatOxford University, 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!"[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[edit]

Z is based on the standard mathematical notation used in axiomatic set theory, lambda calculus, and first-order predicate logic.[8] 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 (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[edit]

ISO completed a Z standardization effort in 2002. This standard[10] and a technical corrigendum[11] are available from ISO free:

Award[edit]

In 1992, Oxford University Computing Laboratory was awarded The Queen's Award for Technological Achievement for their joint development with IBM of Z notation.[12]

See also[edit]

References[edit]

  1. ^ Bowen, Jonathan P. (2016). "The Z Notation: Whence the Cause and Whither the Course?" (PDF). Engineering Trustworthy Software Systems. Lecture Notes in Computer Science. Vol. 9506. Springer. pp. 103–151. doi:10.1007/978-3-319-29628-9_3. ISBN 978-3-319-29627-2.
  • ^ Abrial, Jean-Raymond (1974), "Data Semantics", in Klimbie, J. W.; Koffeman, K. L. (eds.), Proceedings of the IFIP Working Conference on Data Base Management, North-Holland, pp. 1–59
  • ^ Hoare, Tony (2010). Greetings to Bertrand on the Occasion of his Sixtieth Birthday (PDF). Springer. p. 183. ISBN 978-3-642-15187-3. {{cite book}}: |work= ignored (help)
  • ^ Meyer, Bertrand; Baudoin, Claude (1980), Méthodes de programmation (in French), Eyrolles
  • ^ Abrial, Jean-Raymond; Schuman, Stephen A; Meyer, Bertrand (1980), "A Specification Language", in Macnaghten, A. M.; McKeag, R. M. (eds.), On the Construction of Programs, Cambridge University Press, ISBN 0-521-23090-X (describes early version of the language).
  • ^ Hoogeboom, Hendrik Jan. "Formal Methods in Software Engineering" (PDF). The Netherland: University of Leiden. Retrieved 14 April 2017.
  • ^ Bowen, Jonathan (July 2022). "The Z User Group: Thirty Years After" (PDF). FACS FACTS. No. 2022–2. BCS-FACS. pp. 50–56. Retrieved 3 August 2022.
  • ^ Spivey, J. Michael (1992). The Z Notation: A Reference Manual. International Series in Computer Science (2nd ed.). Hemel Hempstead: Prentice Hall. ISBN 978-0139785290.
  • ^ Korpela, Jukka K. "Unicode Explained: Internationalize Documents, Programs, and Web Sites". unicode-search.net. Retrieved 24 March 2020.
  • ^ a b c "ISO/IEC 13568:2002". Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics (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.
  • ^ "The Queen's Award for Technological Achievement 1992". Oxford University Computing Laboratory. Archived from the original on 2 December 2008. Retrieved 17 October 2021.
  • Further reading[edit]



    Retrieved from "https://en.wikipedia.org/w/index.php?title=Z_notation&oldid=1213109756"

    Categories: 
    Z notation
    Computer-related introductions in 1977
    Specification languages
    Formal specification languages
    Oxford University Computing Laboratory
    Hidden categories: 
    CS1 errors: periodical ignored
    CS1 French-language sources (fr)
    Articles with short description
    Short description matches Wikidata
    Use dmy dates from July 2019
    Articles with GND identifiers
    Articles with J9U identifiers
    Articles with LCCN identifiers
     



    This page was last edited on 11 March 2024, at 04:48 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki