Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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. 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 – Notation Formulas 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 Notation Example Name Some variables are declared. As well as state transitions. Relationship between the values of the variables [NAME; DATE]: Init Birthday Book Birthday Book Known = Notation Example II Birthday book known: NAME birthday: NAME DATE Known : dom birthday 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 } How the system might look Add Birthday Birthday Book name?: NAME date?: DATE 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/z rm.pdf http://staff.washington.edu/jon/zlectures/z-lectures.html Software Engineering Theory and Practice, 3rd Edition