This 1997 book is a self-contained tutorial on Z, a formal notation for modelling, specifying and designing computer systems and software, for experienced professionals and serious students in programming and software engineering. It presents realistic case studies emphasising safety-critical systems, with examples drawn from embedded controls, real-time and concurrent programming, computer graphics, games, text processing, databases, artificial intelligence,...