Formal Methods Wiki
Register
Advertisement
VL2

Virtual Library
Computing
Software engineering
Formal methods
Z notation
Object-Z
B-Methodspam has entered be warned!

Wikipedia-word1 7

Z notation


The Z notation is a formal specification notation based on set theory and predicate calculus.

Zug-logo-small

Z User Group (ZUG)

! Next ABZ conference: ABZ 2012, Pisa, Italy, 2012.

Last ABZ conference: ABZ 2010, Orford, Quebec, Canada, 23–25 February 2010.

Last ZB conference: ZB2005, Guildford, Surrey, UK, 13–15 April 2005.

Community Z Tools Project (CZT) at SourceForge


The formal specification notation Z (pronounced "zed"), useful for describing computer-based systems, is based on Zermelo-Fraenkel set theory and first order predicate logic. It has been developed by the Programming Research Group (PRG) at the Oxford University Computing Laboratory (OUCL) and elsewhere since the late 1970s, inspired by Jean-Raymond Abrial's seminal work. Z is now defined by an ISO standard and is public domain. "!" indicates new entries. See information on:

Please contact Jonathan Bowen if you know of relevant online information not included here. Use the comp.specification.z newsgroup (submissions also possible via email on [mailto: zforum@comlab.ox.ac.uk zforum@comlab.ox.ac.uk]) for general Z-related queries.


Frequently Asked Questions (Z FAQ)

If you wish to discover more about Z, a Frequently Asked Questions document (with answers) is available in plain text, which is periodically updated, in a hypertext version (see also here), and a nicely formatted (but rather outdated — 1998) PDF version for the Z User Meeting proceedings. Also available (but out of date) in Japanese and mirrored in Germany and in France. See also another Z entry.

Z is a formal (i.e., mathematical) specification notation used by industry (especially in high-integrity systems) as part of the software (and hardware) development process in both Europe and the US. It has undergone international standardization under ISO/IEC JTC1/2 WG19 on formal specification languages. The use of Z resulted in a UK Queen's Award for Technological Achievement in 1992 for its use in the IBM CICS project and contributed towards one in 1990 for its use to specify the IEEE Standard for Binary Floating-Point Arithmetic (see Technical Monograph PRG-58).


The Z archive

An electronic archive of Z-related files is still available via anonymous FTP with associated index and README files. The archive was transferred to the ZUG website in November 2002. However, some files may still be useful. A Z bibliography is available. Older versions are available in BibTeX database and compressed PostScript format.

In addition there are many OUCL Technical Monographs and Technical Reports on Z.

Mailing lists and newsgroups

To subscribe to Z FORUM, an electronic mailing list on the Z notation, send e-mail to zforum-request@comlab.ox.ac.uk with "subscribe" in the body (not the subject line) of the message or use the online Z FORUM request form. Send a message of "unsubscribe" to leave the list. To submit articles for Z FORUM, you can send e-mail to zforum@comlab.ox.ac.uk. Articles are sent out as they arrive to ensure timeliness. This mailing list is gatewayed to the comp.specification.z USENETnewsgroup. You are advised to read articles via the newsgroup if you have access to it. The mailing list is maintained as a service to those without easy access to news. Older messages are archived under anonymous FTP under the files zforum*. See also FAQ (Frequently Asked Questions) message (alternatively available from Newsville) derived from the plain text FAQ message sent out monthly on the newsgroup and mailing list.

You can access comp.specification.z articles via the Web from Google Groups. See also comp.specification.z Frequently Mentioned Resources and other comp.specification.* newsgroup resources from People Helping One Another Know Stuff (PHOAKS), which gives a count of and link to URLs mentioned in newsgroup articles.

A postal mailing list is also maintained, mainly for information about meetings. If you wish to join, please email Amanda Kingscote on ark@praxis-cs.co.uk.

A specialist electronic mailing for discussion of the SAZ method, a combination of the structured method SSADM and Z existed for a while but is now closed.

Other related newsgroups of interest are comp.specification.misc, comp.software-eng and the moderated comp.risks Z User Meetings are announced in the newsgroup news.announce.conferences as well.

Publications

An online list of Z books (see also (Computer program language) here and (Programming Language) here) is also available from Amazon.com Books. See also Amazon.co.uk UK site.

A searchable Z bibliography is available. The Z archive contains an older [Z BibTeX bibliography] of Z-related publications in BibTeX format, which is available as a Technical Report entitled Select Z Bibliography. The bibliography is also available in a standardized format.

If you would like information about publications produced at the PRG such as Technical Monographs (in particular, see PRG-46, PRG-47, PRG-48, PRG-49, PRG-50, PRG-58, PRG-60, PRG-61, PRG-62, PRG-63, PRG-68, PRG-74, PRG-81, PRG-101, PRG-103, PRG-107 which relate to Z) and Technical Reports (including many relating to Z), please contact the OUCL librarian.

A survey on the Assessment of the Use of Formal Methods includes real examples of Z in industrial use.

A 2-page Z Glossary (in PDF format) is available online.

The following online WWW pages associated with Z books are available:

A Z Special Issue of the Information and Software Technology journal. (vol. 37, no. 5–6, May/June 1995) is available.

See also links to formal methods publications in general.

Z standardization

An international Z standardization effort was completed in 2002. The ISO/IEC Z Standard is available as Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics, ISO/IEC 13568:2002, from ISO. A printed copy of Version 1.0 of the Z Base Standard (an early version) is available as PRG Technical Monograph PRG-107. Further developments are still under consideration. For further information, see:

See information on ANSI NCITS/J21 (formerly X3J21) technical committee. See also J21 Technical Committee information from the Accredited Standards Committee NCTIS/J21, National Committee for Information Technology Standards (NCITS), USA, including Z standard scope.

Note that UNICODE character encoding now includes Z symbols. See especially Miscellaneous Mathematical Symbols-A, Miscellaneous Mathematical Symbols-B and Supplemental Mathematical Operators. The Z Standards Panel would like to thank the STIX Project for getting these added to the Unicode Standard.

Meetings

The Z User Group (ZUG) organizes the Z User Meeting series, later known as the International Conference of Z Users.

The last ZUG meeting was held as part of FM'99: World Congress on Formal Methods, Toulouse, France, 20–24 September 1999.

The first combined "ZB" conference, ZB2000, was held in conjunction with the B-Method community at York, UK, 29 August – 2 September 2000.

ZB2002 was held at Grenoble, France, 23–25 January 2002.

ZB2003 was held at Turku, Finland, 4–6 June 2003.

The last main conference was ZB2005, Guildford, UK, 13–15 April 2005. The 11th International Conference of Z Users (ZUM'98) was be held in Berlin, Germany, 24–26 September 1998.

The 10th International Conference of Z Users (ZUM'97) took place at The University of Reading on the outskirts of Reading, 3-4 April 1997.

The 9th International Conference of Z Users (ZUM'95), was held at the University of Limerick, Limerick, Ireland, 7–8 September 1995, at the invitation of the Department of Computer Science and Information Systems (CSIS). There was a Limericks Competition associated with the meeting for aspiring poets!

ZUM'94 was held on 29–30 June 1994 at St John's College, Cambridge. See college information.

An announcement of the availability of this and other formal methods WWW pages was made at the meeting. It was noted that the availability of coffee can be checked at Cambridge. At the time, this received around 1,000 accesses a day. The formal methods pages at Oxford only receive around 400 accesses per day!

Previous Z User Meeting proceedings (e.g., ZUM'92) have been published by Springer-Verlag in their Workshops in Computing series since the 1989 meeting. Early proceedings were published informally by the Oxford University Computing Laboratory and the main parts of the 1987 and 1988 meetings are available online.

See also information on other formal methods meetings.

Courses

There are various courses at OUCL, which include the teaching of Z. See especially the Software Engineering Programme at Oxford.

The MSc programme at the University of York includes Formal Specification (FMS) using Z.

A Z course is taught at Altran Praxis.

Tool support

Community Z Tools

The Community Z Tools (CZT) project is an open source project providing an integrated toolset to support Z, with some support for Z extensions such as Object-Z, Circus, and TCOZ. These tools are all built using the CZT Java framework for Z tools.

Fastest

Fastest is a model-based testing tool. The tool receives a Z specification and generates in an almost automatic way, test cases derived from the specification. Currently, it only provides limited functionality for test case refinement into C and Java.

Fuzz

fuzz is Mike Spivey's typechecker for the original Z language. It includes style files for LaTeX (see also the MiKTeX system for Windows users). Fuzz is also available as part of the Z Word Tools.

ProofPower

ProofPower is a suite of tools supporting specification and proof in Higher Order Logic (HOL) and in the Z notation. ProofPower has been under ongoing development since 1989. It was originally designed and implemented by International Computers Ltd. to support proofs of specification-to-model correspondence for high-assurance secure systems. It has since played an important role in approaches to specifying and verifying safety-critical systems in work by the Defence and Evaluation Research Agency, now QinetiQ, and others. Since 1997, on-going developments to the product have been undertaken by Lemma 1 Ltd.

ProZ

ProZ is an extension to the B-Method tool ProB that offers some support for model checking and animating Z specifications.

Z Word Tools

The Z Word Tools allow Z specifications to be written in Microsoft Word. They include a Unicode font for Z symbols and capabilities for editing, typechecking (using fuzz or CZT), indexing and cross-referencing and creation of diagrams showing specification structure. They support large specifications in multiple Word documents. The tools are available from the Z Word Tools Project on SourceForge.

Z animators

A Z animator is planned as part of the CZT project. There are some earlier experimental animators:

Z fonts

TrueType Z fonts are available with the Z Word Tools and CZT projects. In addition there is a Zed font for Windows and Macintosh by Richard Jones, Computing Laboratory, University of Kent at Canterbury, UK. Microsoft Word 2007 or later includes the Cambria Math font, which includes all Z symbols.

Other Z tools

  • Moby/OZ, a graphical editor to build Z and Object-Z specifications.
  • Z/EVES is a proof tool based on ZF set theory. Originally available from ORA Canada, its status is now uncertain.
  • HOL-Z is an interactive theorem prover for Z based on Isabelle/HOL.

Z and VDM

VDM (Vienna Development Method) is a method which uses a specification notation that is similar to Z. See Understanding the differences between VDM and Z.

See Integration of Z and VDM project, SVRC, Queensland, Australia. A syntax called ViZ (VDM-SL Integrated with Z) was designed, with a denotational semantics.

See also a comparison of Z, VDM and the B-Method.

Other information

Information on object-oriented extensions of Z, such as Object-Z, Z++ and ZEST (Z Extended with STructuring) is available elsewhere. See the book Object Orientation in Z, including further hyperlinks and a bibliography.

See also:


For some entirely different and unrelated "Z" links, if you are tired of the "real" thing, see:


Z

Comments, corrections and new information are gratefully received.

Last updated by Jonathan Bowen, 30 March 2012.

External links

Advertisement