Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Z notation

From Wikipedia, the free encyclopedia
Formal specification language used for describing and modelling computing systems

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

TheZ notation/ˈzɛd/ is aformalspecification language used for describing and modelling computing systems.[1] It is targeted at the clear specification ofcomputer 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 theUniversity of Grenoble until the end of the 1980s. While at EDF (Électricité de France), working withBertrand Meyer, Abrial also worked on developing Z.[3] The Z notation is used in the 1980 bookMéthodes de programmation.[4]

Z was originally proposed by Abrial in 1977 with the help of Steve Schuman andBertrand Meyer.[5] It was developed further at theProgramming Research Group atOxford 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 ofZermelo–Fraenkel set theory.

In 1992, theZ 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 inaxiomatic set theory,lambda calculus, andfirst-order predicate logic.[8] All expressions in Z notation aretyped, thereby avoiding some of theparadoxes of naive set theory. Z contains a standardized catalogue (called themathematical toolkit) of commonly used mathematical functions and predicates, defined using Z itself. It is augmented withZ 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 theAPL language, long before it) uses many non-ASCII symbols, the specification includes suggestions for rendering the Z notation symbols inASCII and inLaTeX. There are alsoUnicode 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:

  • 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

[edit]

In 1992,Oxford University Computing Laboratory andIBM 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."[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.
  2. ^Abrial, Jean-Raymond (1974), "Data Semantics", in Klimbie, J. W.; Koffeman, K. L. (eds.),Proceedings of theIFIP Working Conference on Data Base Management,North-Holland, pp. 1–59
  3. ^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)
  4. ^Meyer, Bertrand; Baudoin, Claude (1980),Méthodes de programmation (in French), Eyrolles
  5. ^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).
  6. ^Hoogeboom, Hendrik Jan."Formal Methods in Software Engineering"(PDF). The Netherland:University of Leiden. Retrieved14 April 2017.
  7. ^Bowen, Jonathan (July 2022)."The Z User Group: Thirty Years After"(PDF).FACS FACTS. No. 2022–2.BCS-FACS. pp. 50–56. Retrieved3 August 2022.
  8. ^Spivey, J. Michael (1992).The Z Notation: A Reference Manual. International Series in Computer Science (2nd ed.). Hemel Hempstead:Prentice Hall.ISBN 978-0139785290.
  9. ^Korpela, Jukka K."Unicode Explained: Internationalize Documents, Programs, and Web Sites".unicode-search.net. Retrieved24 March 2020.
  10. ^abc"ISO/IEC 13568:2002".Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics(ZippedPDF). ISO. 1 July 2002. 196 pp.
  11. ^ab"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.
  12. ^"The Queen's Award for Technological Achievement 1992".Oxford University Computing Laboratory. Archived fromthe original on 2 December 2008. Retrieved17 October 2021.

Further reading

[edit]


1–9999
10000–19999
20000–29999
30000+
IEC
ISO/IEC
Related
Authority control databases: NationalEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Z_notation&oldid=1232419052"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp