The Way of Z
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, and object-oriented programming. It motivates the use of formal methods and discusses practical issues concerning how to apply them in real projects. It also teaches how to apply formal program derivation and verification to implement Z specifications in real programming languages with examples in C. The book includes exercises with solutions, reference materials, and a guide to further reading.
- Discusses when and how to apply formal methods in real projects
- Broad selection of case studies including safety-critical systems, object-oriented programming, computer graphics, text processing, and databases
- Teaches how to use Z specifications in real programming languages
Reviews & endorsements
'… this reviewer cannot imagine a book better suited to inspiring the sceptical hacker into believing that there is some genuine value in formal methods.' R. H. Banach, Axis
'… most books about Z emphasise the mathematics, … The Way of Z breaks out of this mould to make Z relevant and accessible to all programmers. It is an ideal first or second-year book for students of computing science who want to design and write reliable programs.' Harold Thimbleby, New Scientist
'… especially good for more advanced students … this book will be inspirational and provide practical guidance to real software engineers.' Computer Journal
Product details
March 1997Paperback
9780521559768
372 pages
234 × 178 × 23 mm
0.789kg
Available
Table of Contents
- Part I. Why Z?:
- 1. Formal methods
- 2. Why use formal methods?
- 3. Formal methods and project management
- Part II. Introducing Z:
- 4. What is Z?
- 5. A first example in Z
- 6. From prose to Z: control console
- 7. Introducing schemas: text editor
- Part III. Elements of Z:
- 8. Elements
- 9. Structure
- 10. Logic
- 11. Synthesis
- 12. Schemas and schema calculus
- 13. Schema types and bindings
- 14. Generic definitions and free types
- 15. Formal reasoning
- Part IV. Studies in Z:
- 16. Document control system
- 17. Text processing
- 18. Eight queens
- 19. Computer graphics and computational geometry
- 20. Rule-based programming
- 21. Graphical user interface
- 22. Safety-critical protection system
- 23. Modelling large systems
- 24. Concurrency and real time
- 25. Object-oriented programming
- Part V. From Z to Code:
- 26. Program derivation and formal verification
- 27. From Z to code.