This presentation is the property of its rightful owner.
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.

Z - Notation

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

## 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

### 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