Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Known "Z notation" applications?

I was just remembering back my university classes and was wondering to know if anyone out here even used the "Z notation" in a professional environment. I honestly must say that it was the single most boring class that I have ever attended in my life. Maybe because of the teacher, but at the time we really all thought it was a big waste of time. I might have been wrong, which is why I'd like to hear you about it.

If you are using it or some derived language (Z++), I'd just like to know how is it useful for you. Just curious to know some commonly-known applications of Z or your application.

For those who are not familiar : http://staff.washington.edu/jon/z/z-examples.html

like image 443
Amadeus45 Avatar asked Jul 14 '09 07:07

Amadeus45


People also ask

What is Z notation used for?

The Z notation /ˈzɛd/ is a formal specification language used for describing and modelling computing systems. It is targeted at the clear specification of computer programs and computer-based systems in general.

What is Z notation in math?

R = real numbers, Z = integers, N=natural numbers, Q = rational numbers, P = irrational numbers.

What is Z schema in formal methods?

Z is a formal (i.e., mathematical) specification notation used by industry (especially in high-integrity systems) as part of the software (and hardware) development process in both Europe and the US. It has undergone international standardization under ISO/IEC JTC1/2 WG19 on formal specification languages.

What is schema in Z language?

The schema language is used to structure and compose mathematical descriptions: collating pieces of information, encapsulating them, and naming them for re-use. It is the second component of the Z notation, the first being. the mathematical language of logic and set theory.


1 Answers

It's worth looking at the B Method (http://en.wikipedia.org/wiki/B-Method). It's a slightly more pragmatic descendent of Z. The idea is that you can actually discharge a bunch of proof obligations through refinements steps (with the help of a theorem prover that is hiding behind the scenes) and then eventually generate code directly from your specification. I believe it has been used in a number of "real world" projects.

like image 102
Gian Avatar answered Sep 19 '22 14:09

Gian