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.
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/IECJTC1/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 IBMCICS 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.
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.zUSENETnewsgroup. 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.
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.
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:
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!
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:
Mathias Mathematics in Animation Suite, including advice on using it to animate Z and references to papers on Suzan (the Surrey Z Animation project).
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.
RoZ — Production of formal Z specifications from annotated UML diagrams
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.
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.