Z - Notation

1 / 11

# Z - Notation - PowerPoint PPT Presentation

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Z - Notation

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.
• It is targeted to clarify and streamline the specification and requirement process
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.
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
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
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

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]:

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 }

Birthday Book

name?: NAME

date?: DATE

How the system might look

name? known

birthday’ = birthday U { name? date}

Notation Example III

Find Birthday

Birthday book

name?: NAME

Date! : DATE

name? Known

date != birthday(name?)

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