1 / 11

Z - Notation

Z - Notation. Presented By: Adam Attinello CMSC 445. Z – Notation? HUH?!?. First off – its pronounced Zed After the Zermelo-Fränkel set theory It is a set of conventions for presenting mathematical text, chosen to make it convenient to use simple mathematics to describe computing systems.

adam-rivera
Download Presentation

Z - Notation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Z - Notation Presented By:Adam Attinello CMSC 445

  2. Z – Notation? HUH?!? • First off – its pronounced Zed • After the Zermelo-Fränkel set theory • It is a set of conventions for presenting mathematical text, chosen to make it convenient to use simple mathematics to describe computing systems. • It is targeted to clarify and streamline the specification and requirement process

  3. Boring Facts About Z – Notation • Based on the standard mathematical notation • The mathematical notation of Z consists of a small core • Supplemented by a larger collection of useful objects and operators called the Z mathematical tool-kit. • Some Problems with Z notation • Z notation uses many non-ASCII symbols • The specification includes suggestions for rendering the Z notation symbols in ASCII as well as LaTeX.

  4. How To Model A System • Z decomposes specifications into manageably sized module’s, called schemas: • Schemas are divided into 3 parts: • A State • A collection of state variables and their values • There are also some operations that can change its state • Z is also a natural fit to object-oriented programming. • You can also use Z in a functional style, among others • There are some object oriented languages that extend Z

  5. Z operators are defined by formulas. These are done through symbols These symbols hold most of the same meanings as they do in an of our math classes Z – Notation Formulas

  6. The Birthday Book Example • This is the “Hello World of Z Notation” • This is a shorter version of the true example • My example will allow you too do 3 things: • Add a person’s name and birthday • Store that information • Then find it again

  7. Name Some variables are declared. As well as state transitions. Relationship between the values of the variables Init Birthday Book Birthday Book Known =  Notation Example [NAME; DATE]:

  8. Birthday book known: NAME birthday: NAME DATE Known : dom birthday Notation Example II • One possible state of the system has three people in the set known, with their birthdays recorded by the function birthday: known = { John; Mike; Susan } birthday = { John 25-Mar, Mike 20-Dec, Susan 20-Dec }

  9. Add Birthday Birthday Book name?: NAME date?: DATE How the system might look name? known birthday’ = birthday U { name? date}

  10. Notation Example III Find Birthday Birthday book name?: NAME Date! : DATE name? Known date != birthday(name?)

  11. REFERENCES • http://spivey.oriel.ox.ac.uk/mike/zrm/zrm.pdf • http://staff.washington.edu/jon/z-lectures/z-lectures.html • Software Engineering Theory and Practice, 3rd Edition

More Related