Formal Methods Wiki
Register
No edit summary
(Undo revision 5239 by 88.89.32.193 (talk))
Line 1: Line 1:
  +
{{VLz|
  +
----
  +
[[Object-Z]]
  +
----
  +
[[B-Method]]
  +
}}
  +
{{See Wikipedia}}
   
  +
The '''Z notation''' is a [[formal specification]] notation based on {{wp|set theory}} and {{wp|predicate calculus}}.
   
  +
[[Image:zug-logo-small.gif|thumb|left|90px|[[Z User Group]] (ZUG)]]
By Falis Hubsey
 
   
  +
<center>
   
  +
'''[[Image:new.gif|!]] Next [[ABZ]] conference: [[ABZ 2012]], {{wp|Pisa}}, {{wp|Italy}}, 2012.'''
Robbery and attempted murder in Addis Ababa in Ethiopia
 
   
  +
'''Last [[ABZ]] conference: [[ABZ 2010]], {{wp|Orford, Quebec}}, {{wp|Canada}}, 23–25&nbsp;February&nbsp;2010.'''
  +
<!--
  +
'''Last [[ABZ]] conference: [http://www.abz2008.org.uk/ ABZ 2008], London, UK, 16–18&nbsp;September&nbsp;2008.'''
  +
-->
   
  +
'''Last [[ZB]] conference: [http://www.zb2005.org/ '''ZB2005'''], Guildford, Surrey, UK, 13–15&nbsp;April&nbsp;2005.'''
This is a story about trip in Addis Ababa in Ethiopia for 2 weeks ago which ended robbery and attempt murder.
 
   
  +
'''[http://czt.sourceforge.net/ Community Z Tools Project] (CZT) at [http://sourceforge.net/ SourceForge]'''
I went to Addis Ababa 01.11.2011 for a holiday. My litle sister and i went to a park near by where we lived and took a camera to take pictures in the park. The park is located in Saris. To enter the park you have to buy tickets, which we did. It was a lady who sold tickets, by her side sat four young men. There was also a guard. After a few minutes we were attacked by four men, the four men who sat next to the lady who sold the tickets. They brought with them huge knives and stones. They overtook it all we had with us and relax us physically without major damage. We came back after this guard, he said there is nothing I can do for you, and went while we were there and were trembling and shocked. The 4 menn, the lady and the guard were team and working together. We run away to save our lives.
 
   
  +
</center>
   
  +
----
From my experience I would recommend people who travel to Addis Ababa to watch out and be careful. People are interested in making money from tourists. Most people will rob or steal what you have if given the chance. People are full of lies, most young boys go with big knives and other dirty, sharp objects.
 
Avoid young boys or men in herds. Avoid to walk alone in parks or in the dark.
 
You watch out when when taking buses or taxis, everyone is looking for your wallet, mobile and other valuable items you have with you. Avoid talking on the mobile when you're out, they will take it from you in seconds. If an accident does happen, do not try to deny. they can kill you.
 
   
  +
The formal specification notation Z (pronounced "[[zed.au|zed]]"), useful for describing computer-based systems, is based on [http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Zermelo.html Zermelo]-[http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Fraenkel.html Fraenkel] set theory and first order predicate logic. It has been developed by the [http://web.comlab.ox.ac.uk/oucl/prg.html Programming Research Group] (PRG) at the [http://web.comlab.ox.ac.uk/ Oxford University Computing Laboratory] (OUCL) and elsewhere since the late 1970s, inspired by {{wp|Jean-Raymond Abrial}}'s seminal work. Z is now defined by an [[Z ISO standard| ISO standard]] and is public domain. "[[Image:new.gif|!]]" indicates new entries. See information on:
Addis Ababa is the dirty city, with poor people, full of robbers and liars.
 
As a tourist you have to pay 5-6 times as much. So remember to bargain prices.
 
   
  +
* An [[announcement]] concerning Z and [http://www.w3.org/ WWW]
  +
* The [[Z archive]]
  +
* [[#Frequently Asked Questions (Z FAQ)|Frequently Asked Questions]]
  +
* [[#Mailing lists and newsgroups|Mailing lists and newsgroups]]
  +
* [[#Publications|Publications]]
  +
* [[#Meetings|Meetings]] including [[ZUM]]
  +
* [[#Courses|Courses]]
  +
* [[#Tool support|Tool support]] (organized alphabetically)
  +
* The related method [[VDM]]
  +
* The [[Z User Group]]
  +
* [[Z in French]]
  +
* [[Z Bibliography]]
  +
* [[Extensions in HTML for Z]]
  +
* [[#Z standardization|Z standardization]]
  +
* [http://www.itee.uq.edu.au/~smith/objectz.html Object-Z]
  +
* [http://www.comp.nus.edu.sg/~dongjs/tcoz.html TCOZ] (Timed Communicating Object Z)
  +
* The [[B-Method]]
  +
* [[#Other information|Other information]]
  +
<!--
  +
Interactive forms (if supported by your WWW client):
   
  +
* [[request.html| Request]] concerning ZFORUM mailing list
I hope the story will help others to avoid what happened to us.
 
  +
-->
  +
* [[Talk:Z notation|Comments]]
   
  +
Please contact [[Jonathan Bowen]] if you know of relevant online information not included here. Use the [http://groups.google.com/group/comp.specification.z ''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.
With best regards
 
  +
Falis Hubsey
 
  +
----
  +
  +
==Frequently Asked Questions (Z FAQ)==
  +
  +
If you wish to discover more about Z, a ''Frequently Asked Questions'' document (with answers) is available in [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/faq.txt plain text], which is periodically updated, in a [http://www.faqs.org/faqs/z-faq/ hypertext version] (see also [http://www.cs.uu.nl/wais/html/na-dir/z-faq.html here]), and a nicely formatted (but rather outdated — 1998) [http://www.jpbowen.com/pub/faq98.pdf PDF version] for the [[Z User Meeting]] proceedings. Also available (but out of date) [http://saeki-www.cs.titech.ac.jp/~ugai/Z/z-faq.html in Japanese] and mirrored [http://www.uni-giessen.de/faq/archiv/z-faq/msg00000.html in Germany] and [http://www.pasteur.fr/other/computer/FAQ/z-faq in France]. See also another [http://ricis.cl.uh.edu/virt-lib/zed.html 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 [http://www.iso.ch/VL/Standards.html standardization] under [http://www.iso.ch/ ISO]/[http://www.iec.ch/ IEC] [http://www.jtc1.org/ JTC1]/2 [http://anubis.dkuug.dk/JTC1/SC22/WG19/ 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 [http://www.hursley.ibm.com/ IBM] [http://www.hursley.ibm.com/cics/ CICS] project and contributed towards one in 1990 for its use to specify the IEEE Standard for Binary Floating-Point Arithmetic (see Technical Monograph [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-58.html PRG-58]).
  +
  +
----
  +
  +
==The Z archive==
  +
  +
An electronic archive of Z-related files is still available via [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/ anonymous FTP] with associated [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/00index index] and [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/pub/README <tt>README</tt>] 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 [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/pub/z.bib BibTeX database] and [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/pub/z.ps compressed PostScript] format.
  +
  +
In addition there are many OUCL [http://web.comlab.ox.ac.uk/oucl/publications/monos.html Technical Monographs] and [http://web.comlab.ox.ac.uk/oucl/publications/tr.html Technical Reports] on Z.
  +
  +
==Mailing lists and newsgroups==
  +
  +
To subscribe to [http://www.faqs.org/faqs/z-faq/ Z FORUM], an electronic [http://wombat.doc.ic.ac.uk/?mailing+list mailing list] on the Z notation, send e-mail to [mailto:zforum-request@comlab.ox.ac.uk ''zforum-request@comlab.ox.ac.uk''] with "<tt>subscribe</tt>" in the body (''not'' the subject line) of the message or use the online [[request.html| Z FORUM request form]]. Send a message of "<tt><u>un</u>subscribe</tt>" to leave the list. To submit articles for Z FORUM, you can send e-mail to [mailto:zforum@comlab.ox.ac.uk ''zforum@comlab.ox.ac.uk'']. Articles are sent out as they arrive to ensure timeliness. This mailing list is gatewayed to the [http://groups.google.com/group/comp.specification.z ''comp.specification.z''] [http://wombat.doc.ic.ac.uk/?Usenet USENET][http://groups.google.com/ newsgroup]. 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 [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/pub/ anonymous FTP] under the files <tt>zforum*</tt>. See also [http://www.faqs.org/faqs/z-faq/ FAQ (Frequently Asked Questions) message] (alternatively available from [http://www.newsville.com/cgi-bin/getfaq?file=comp.specification.z/comp.specification.z_Frequently_Asked_Questions_(FAQ) Newsville]) derived from the [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/pub/faq.txt plain text FAQ message] sent out monthly on the newsgroup and mailing list.
  +
  +
You can access [http://groups.google.com/group/comp.specification.z ''comp.specification.z'' articles] via the Web from [http://group.google.com/ Google Groups]. See also [http://www.phoaks.com/cgi-bin/get-page?NEWSGROUP=comp.specification.z;QUERY_TYPE=urls-frequency;DISPLAY_RANGE=1-10;DISPLAY_TYPE=html_lofi; ''comp.specification.z'' Frequently Mentioned Resources] and other [http://www.phoaks.com/phoaks2/newsgroups/comp/specification/nfr_index.html ''comp.specification.*'' newsgroup resources] from [http://www.phoaks.com/ 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 [mailto:ark@praxis-cs.co.uk ''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 [http://groups.google.com/ newsgroups] of interest are [http://groups.google.com/group/comp.specification.misc ''comp.specification.misc''], [http://groups.google.com/group/comp.software-eng ''comp.software-eng''] and the moderated [http://groups.google.com/group/comp.risks ''comp.risks''] [[Z User Meetings]] are announced in the newsgroup [http://groups.google.com/group/news.announce.conferences ''news.announce.conferences''] as well.
  +
  +
==Publications==
  +
  +
An online [http://www.amazon.com/exec/obidos/external-search/?keyword=Z+computer+program+language&tag=bookseaiam list of Z books] (see also [http://www.amazon.com/exec/obidos/Subject=Z (Computer program language) here] and [http://www.amazon.com/exec/obidos/Subject=Z (Programming Language) here]) is also available from [http://www.amazon.com/exec/obidos/redirect-home/bookseaiam Amazon.com Books]. See also [http://www.amazon.co.uk/exec/obidos/redirect-home/booksearch06 Amazon.co.uk UK site].
  +
  +
A searchable [[Z bibliography]] is available. The [[Z archive]] contains an older [http://formalmethods.wikia.com/index.php?title=Z_notation&action=edit&section=4[Z BibTeX bibliography]] of Z-related publications in {{wp|BibTeX}} format, which is available as a Technical Report entitled [http://web.comlab.ox.ac.uk/oucl/publications/tr/TR-8-94.html ''Select Z Bibliography'']. The bibliography is also available in a [http://liinwww.ira.uka.de/bibliography/SE/Z.html standardized format].
  +
  +
If you would like information about [http://web.comlab.ox.ac.uk/oucl/publications.html publications] produced at the [http://web.comlab.ox.ac.uk/oucl/about/prg/ PRG] such as [http://web.comlab.ox.ac.uk/oucl/publications/monos.html Technical Monographs] (in particular, see [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-46.html PRG-46], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-47.html PRG-47], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-48.html PRG-48], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-49.html PRG-49], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-50.html PRG-50], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-58.html PRG-58], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-60.html PRG-60], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-61.html PRG-61], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-62.html PRG-62], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-63.html PRG-63], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-68.html PRG-68], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-74.html PRG-74], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-81.html PRG-81], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-101.html PRG-101], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-103.html PRG-103], [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-107.html PRG-107] which relate to Z) and [http://web.comlab.ox.ac.uk/oucl/publications/tr.html Technical Reports] (including many relating to Z), please contact the [http://web.comlab.ox.ac.uk/oucl/people/librarian.html OUCL librarian].
  +
  +
A survey on the [http://hissa.ncsl.nist.gov/sw_develop/form_meth.html Assessment of the Use of Formal Methods] includes real examples of Z in industrial use.
  +
  +
A 2-page ''[[Z Glossary]]'' (in {{wp|PDF}} format) is available online.
  +
  +
The following online WWW pages associated with Z books are available:
  +
  +
* <!-- http://www.zuser.org/zbook/ --> ''[[Formal Specification and Documentation using Z: A Case Study Approach]]'', [[Jonathan Bowen]]. International Thomson Computer Press, [http://www.thomson.com/ International Thomson Publishing], 1996.
  +
* [http://www.usingz.com/ ''Using Z: Specification, Refinement and Proof''], [http://web.comlab.ox.ac.uk/oucl/people/jim.davies.html Jim Davies] and {{wp|Jim Woodcock}}. [http://www.prenhall.com/ Prentice Hall] [[International Series in Computer Science]], 1996. See [http://www.prenhall.com/013/948471/ptr/94847-1.html information from the publisher].
  +
* [http://www.radonc.washington.edu/prostaff/jon/z-book/ ''The Way of Z: Practical Programming with Formal Methods''], [http://www.radonc.washington.edu/prostaff/jon/ Jonathan Jacky]. [http://www.cup.cam.ac.uk/ Cambridge University Press], 1997.
  +
* [http://spivey.oriel.ox.ac.uk/~mike/zrm/ ''The Z Notation: A Reference Manual''], 2nd edition, [http://web.comlab.ox.ac.uk/oucl/people/mike.spivey.html Mike Spivey]. [http://www.prenhall.com/ Prentice Hall] [[International Series in Computer Science]], 1992. (De facto standard reference book for Z.)
  +
  +
A [http://dx.doi.org/10.1016/0950-5849(95)90000-4 ''Z Special Issue''] of the [http://www.sciencedirect.com/science/journal/09505849 ''Information and Software Technology''] journal. (vol. 37, no. 5–6, May/June 1995) is available.
  +
  +
See also links to [[Publications|formal methods publications]] in general.
  +
<!--
  +
Finally, for those interested in the history of Z, see some [[history/cm.pdf| early historical information]] from [http://www.cse.unsw.edu.au/school/people/info/carrollm.html Carroll Morgan].
  +
-->
  +
  +
==Z standardization==
  +
  +
An international Z standardization effort was completed in 2002. The ISO/IEC Z Standard is available as [http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=21573 ''Information Technology — Z Formal Specification Notation — Syntax, Type System and Semantics''], ISO/IEC 13568:2002, from [http://www.iso.ch/ ISO].
  +
A printed copy of Version 1.0 of the ''Z Base Standard'' (an early version) is available as PRG Technical Monograph [http://web.comlab.ox.ac.uk/oucl/publications/monos/PRG-107.html PRG-107]. Further developments are still under consideration. For further information, see:
  +
  +
* [http://www.lemma-one.com/zstan_docs/ Z standards documents] from [http://www.lemma-one.com/ Rob Arthan]
  +
  +
See information on [http://www.ansi.org/ ANSI] NCITS/J21 (formerly [http://www.ncits.org/press/1997/pr97001.htm X3]J21) technical committee. See also [http://www.ncits.org/tc_home/j21.htm J21] [http://www.ncits.org/tc_home/tcs.html Technical Committee] information from the Accredited Standards Committee NCTIS/J21, [http://www.ncits.org/ National Committee for Information Technology Standards] (NCITS), USA, including [http://www.ncits.org/tc_home/tc_sd4/scope/1015.htm Z standard] scope.
  +
  +
Note that [http://www.unicode.org/charts/ UNICODE] character encoding now includes Z symbols. See especially [http://www.unicode.org/charts/PDF/U27C0.pdf Miscellaneous Mathematical Symbols-A], [http://www.unicode.org/charts/PDF/U2980.pdf Miscellaneous Mathematical Symbols-B] and [http://www.unicode.org/charts/PDF/U2A00.pdf Supplemental Mathematical Operators]. The Z Standards Panel would like to thank the [http://www.ams.org/STIX/ STIX Project] for getting these added to the Unicode Standard.
  +
{| border="0" cellpadding="0" cellspacing="0" width="159"
  +
|- height="20"
  +
| class="xl65" height="20" style="height:15.0pt;width:119pt" width="159"|
  +
|}
  +
  +
==Meetings==
  +
  +
The [[Z User Group]] (ZUG) organizes the [[Z User Meeting]] series, later known as the International Conference of Z Users.
  +
  +
The last [http://replay.waybackmachine.org/20080723173035/http://vl.fmnet.info/fm99/usergroups/zug.html ZUG meeting] was held as part of [[FM'99|FM'99: World Congress on Formal Methods]], Toulouse, France, 20–24 September 1999.
  +
  +
The first combined "ZB" conference, [http://www.cs.york.ac.uk/zb2000/ ZB2000], was held in conjunction with the [[B-Method]] community at {{wp|University of York|York}}, UK, 29 August – 2 September 2000.
  +
  +
[http://www-lsr.imag.fr/zb2002/ ZB2002] was held at Grenoble, France, 23–25 January 2002.
  +
  +
[http://www.tucs.fi/zb2003/ ZB2003] was held at Turku, Finland, 4–6 June 2003.
  +
  +
The last main conference was [http://www.zb2005.org/ ZB2005], Guildford, UK, 13–15 April 2005. The [http://replay.waybackmachine.org/20080723173035/http://www.zuser.org/zum98/ 11th International Conference of Z Users (ZUM'98)] was be held in Berlin, Germany, 24–26 September 1998.
  +
  +
The [http://replay.waybackmachine.org/20080723173035/http://www.zuser.org/zum97/ 10th International Conference of Z Users (ZUM'97)] took place at [http://www.reading.ac.uk/ The University of Reading] on the outskirts of [http://archive.museophile.org/reading/ Reading], 3-4 April 1997.
  +
  +
The [http://replay.waybackmachine.org/20080723173035/http://www.zuser.org/zum95/ 9th International Conference of Z Users (ZUM'95)], was held at the [http://www.ul.ie/ University of Limerick], {{wp|Limerick, Ireland}}, 7–8 September 1995, at the invitation of the [http://itdsrv1.ul.ie/CSIS/csis-home-page.html Department of Computer Science and Information Systems] (CSIS). There was a Limericks Competition associated with the meeting for aspiring poets! <!-- See information on the [http://www.cl.cam.ac.uk/users/mgh1001/zum95lncs.html proceedings]. -->
  +
  +
[http://replay.waybackmachine.org/20080723173035/http://www.zuser.org/zum94/ ZUM'94] was held on 29–30 June 1994 at <!-- http://www.zuser.org/zum94/stjohns.html --> {{wp|St John's College, Cambridge|St John's College}}, [http://www.cam.ac.uk/ Cambridge]. See [http://replay.waybackmachine.org/20080723173035/http://www.zuser.org/zum94/stjohns.html 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 [http://www.cl.cam.ac.uk/coffee/coffee.html coffee] can be checked at {{wp|University of Cambridge|Cambridge}}. At the time, this received around 1,000 accesses a day. The formal methods pages at {{wp|Universty of Oxford|Oxford}} only receive around 400 accesses per day!
  +
  +
Previous [[Z User Meeting]] proceedings (e.g., [[ZUM'92]]) have been published by [http://www.imi.gla.ac.uk/springer/ Springer-Verlag] in their [http://www.imi.gla.ac.uk/springer/eWiC/Introduction.html ''Workshops in Computing''] series since the 1989 meeting. Early proceedings were published informally by the [http://web.comlab.ox.ac.uk/oucl.html Oxford University Computing Laboratory] and the main parts of the [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/pub/proc87.ps 1987] and [ftp://ftp.comlab.ox.ac.uk/pub/Zforum/pub/proc88.ps 1988] meetings are available online.
  +
  +
See also information on other [[Meetings|formal methods meetings]].
  +
  +
==Courses==
  +
There are various [http://web.comlab.ox.ac.uk/oucl/courses/ courses] at [http://web.comlab.ox.ac.uk/ OUCL], which include the teaching of Z.
  +
See especially the [http://www.softeng.ox.ac.uk/ Software Engineering Programme] at Oxford.
  +
  +
The MSc programme at the {{wp|University of York}} includes [http://www.cs.york.ac.uk/MSc/Modules/fms.html Formal Specification (FMS)] using Z.
  +
  +
A Z course is taught at {{wp|Altran Praxis}}.
  +
<!--
  +
[http://www.logica.com/ Logica] offer a 5-day course on [http://public.logica.com/~formaliser/services/zcourse.htm Formal Software Specification using Z].
  +
-->
  +
  +
==Tool support==
  +
  +
===Community Z Tools===
  +
The [http://czt.sourceforge.net Community Z Tools] (CZT) project is an open source project providing an integrated toolset to support [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=21573Standard Z], with some support for Z extensions such as [http://www.itee.uq.edu.au/~smith/objectz.html Object-Z], [http://www.cs.york.ac.uk/circus/ Circus], and [http://www.comp.nus.edu.sg/~dongjs/tcoz.html TCOZ]. These tools are all built using the CZT Java framework for Z tools.
  +
  +
===Fastest===
  +
[http://www.flowgate.net/?lang=en&seccion=herramientas# 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 generates abstract test cases, i.e. test cases written in Z; on demand we can provide also a module to translate these test cases into C.
  +
  +
===Fuzz===
  +
[http://spivey.oriel.ox.ac.uk/mike/fuzz/ ''f''uzz] is Mike Spivey's typechecker for the [http://spivey.oriel.ox.ac.uk/mike/zrm/ original Z language]. It includes style files for [http://www.latex-project.org/ LaTeX] (see also the [http://www.miktex.de/ MiKTeX] system for Windows users). Fuzz is also available as part of the [[#Z Word Tools|Z Word Tools]].
  +
  +
===ProofPower===
  +
[http://www.lemma-one.com/ProofPower/index/ 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 [http://www.lemma-one.com/ Lemma 1 Ltd].
  +
  +
===ProZ===
  +
[http://asap0.cs.uni-duesseldorf.de/trac/prob/wiki/Using%20Z%20with%20ProB ProZ] is an extension to the [[B-Method]] tool [http://www.stups.uni-duesseldorf.de/ProB/overview.php ProB] that offers some support for model checking and animating Z specifications.
  +
  +
===Z Word Tools===
  +
The [http://zwordtools.sourceforge.net/ Z Word Tools] allow [[Z notation|Z]] specifications to be written in {{wp|Microsoft Word}}. They include a {{wp|Unicode}} font for Z symbols and capabilities for editing, typechecking (using [[#Fuzz|''f''uzz]] or [[#Community_Z_Tools|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 [http://sourceforge.net/projects/zwordtools/ Z Word Tools Project] on {{wp|SourceForge}}.
  +
  +
===Z animators===
  +
A Z animator is planned as part of the [[#Community Z Tools|CZT]] project. There are some earlier experimental animators:
  +
  +
* [http://www.cs.waikato.ac.nz/~marku/jaza/ Jaza animator] by [http://www.cs.waikato.ac.nz/~marku/ Mark Utting]. {{wp|Haskell (programming language)|Haskell}} source and {{wp|Linux}} binary available.
  +
  +
* [http://www.ee.surrey.ac.uk/Personal/R.Knott/software.html Mathias] Mathematics in Animation Suite, including advice on using it to animate Z and [http://www.ee.surrey.ac.uk/Personal/R.Knott/suzanrefs.html references to papers on Suzan] (the Surrey Z Animation project).
  +
  +
===Z fonts===
  +
{{wp|TrueType}} Z fonts are available with the [[#Z Word Tools|Z Word Tools]] and [[#Community Z Tools|CZT]] projects. In addition there is a [http://www.cs.ukc.ac.uk/people/staff/rej/Zedfont/latest/ Zed font] for Windows and Macintosh by [http://www.cs.ukc.ac.uk/people/staff/rej/ 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===
  +
* [http://csd.informatik.uni-oldenburg.de/~moby/ Moby/OZ], a graphical editor to build Z and Object-Z specifications.
  +
  +
* [http://www-lsr.imag.fr/Les.Groupes/pfl/RoZ/ RoZ] — Production of formal Z specifications from annotated [http://www.omg.org/uml/ UML] diagrams
  +
* [http://www.itee.uq.edu.au/~smith/svrc/wizard_export.tar.gz Wizard], a type-checker for [[Object-Z]] specifications in {{LaTeX}}.
  +
  +
* [http://staff.washington.edu/jon/z/z2html/z2html.html Z2HTML translator] from [http://www.latex-project.org/ LaTeX] to HTML (also [http://staff.washington.edu/jon/z/z2html/z2html.html here]). See [http://staff.washington.edu/jon/z/z-examples.html Z notation examples].
  +
  +
* [[Z/EVES]] is a proof tool based on ZF set theory. Originally available from ORA Canada, its status is now uncertain.
  +
* [http://www.brucker.ch/projects/hol-z/ 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 [http://www.cs.man.ac.uk/csonly/cstechrep/Abstracts/UMCS-93-8-1.html ''Understanding the differences between VDM and Z''].
  +
  +
See [http://www.itee.uq.edu.au/~sse/SVRC-TRS/tr95-11.ps.gz Integration of Z and VDM] project, [http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?Software+Verification+Research+Centre SVRC], Queensland, Australia. A syntax called ViZ (VDM-SL Integrated with Z) was designed, with a denotational semantics.
  +
  +
See also a [http://www.b-core.com/ZVdmB.html comparison of Z, VDM and the B-Method].
  +
  +
==Other information==
  +
Information on object-oriented extensions of Z, such as [http://www.itee.uq.edu.au/~smith/objectz.html Object-Z], [http://wombat.doc.ic.ac.uk/?Z++ Z++] and [http://public.logica.com/~formaliser/formlsr/formlsr.htm#ZESTSpec ZEST] (Z Extended with STructuring) is available elsewhere. See the book [http://www-users.cs.york.ac.uk/~susan/bib/ss/ooz/index.htm ''Object Orientation in Z''], including further hyperlinks and a [http://public.logica.com/~stepneys/bib/ss/ooz/bib.htm bibliography].
  +
  +
See also:
  +
  +
* {{wp|Z specification language}} entry in the [http://en.wikipedia.org/ Wikipedia] free online encyclopedia.
  +
* [http://www-users.cs.york.ac.uk/~susan/abs/z.htm Formal methods and Z] information by [http://www-users.cs.york.ac.uk/~susan/ Susan Stepney].
  +
* [[B-Method]] for formal software development.
  +
* [http://shemesh.larc.nasa.gov/Gifs/humor-choosing.gif Choosing] between Z and [[PVS]] and other [http://shemesh.larc.nasa.gov/fm-humor.html formal methods humour].
  +
* [[Image:star11t.gif|*]] [http://directory.google.com/Top/Computers/Programming/Languages/Z/ Z language], [http://directory.google.com/Top/Computers/Programming/Languages/Z/Books/ Z books] and [http://directory.google.com/Top/Science/Math/Logic_and_Foundations/Set_Theory/ Set Theory] links from the [http://directory.google.com/ Google Directory].
  +
* [http://academic.uofs.edu/faculty/beidler/zed/ Zed Soup] — (A)nna to (Z)ed Recipes for Formal Specifications, by [http://www.cs.uofs.edu/~beidler/ Jack Beidler].
  +
  +
----
  +
  +
For some entirely different and unrelated "Z" links, if you are tired of the "real" thing, see:
  +
  +
* [http://z.com/ Z.com].
  +
* [http://www.warpig.com/paintball/technical/paintguns/z.faq.shtml Mega-][http://www.splatball.com/equipment/markers/avenger/ak-1/faq.shtml Z FAQ].
  +
* [http://www.z-editor.com/ Z-editor] for modifying web pages.
  +
* [http://www.zee-art.com/ ZEE-ART], combining art and mathematics.
  +
* [http://www.zed.com/ zed] mobile phone services!
  +
* [http://www.zedbooks.demon.co.uk/ Zed Books], publishers of academic books.
  +
* [http://zed.c3po.it/ Zed] simple fast Unix editor for "vi" haters!
  +
* [http://www.hobbico.com/tools/hcar2000.html Z-Bend Pliers] — perfect Z bends every time! See also [http://www.greatplanes.com/accys/gpmr8025.html Precision Z-Bend Pliers] — ''the'' tool for making better Z-bends!
  +
* [http://www.zhome.com/ Z Car Home Page] — see also [http://www.museum.tv/archives/etv/Z/htmlZ/zcars/zcars.htm Z Cars] 1960s British TV series.
  +
  +
----
  +
  +
[[Image:z.gif|right|64px]]
  +
[[Talk:Z notation|Comments]], corrections and new information are gratefully received.
  +
  +
Last updated by [[Jonathan Bowen]], 30 March 2012.
  +
  +
== External links ==
  +
* [[Wikipedia:Z notation]]
  +
[[Category:Virtual Library]]
  +
[[Category:Z notation| ]]
  +
[[Category:Z book]]
 
[[Category:Virtual Library]]
 
[[Category:Virtual Library]]
 
[[Category:Z notation| ]]
 
[[Category:Z notation| ]]

Revision as of 16:45, 21 November 2011

VL2

Virtual Library
Computing
Software engineering
Formal methods
Z notation
Object-Z
B-Method

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 generates abstract test cases, i.e. test cases written in Z; on demand we can provide also a module to translate these test cases into C.

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