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

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

• 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

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

• 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

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

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}

Find Birthday

Birthday book

name?: NAME

Date! : DATE

name? Known

date != birthday(name?)

• 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