The Way of Z
Practical Programming with Formal Methods

Contents

Why Z?
1. Formal methods; 2. Why use formal methods? 3. Formal methods and project management; Further reading;

Introducing Z:
4. What is Z? 5. A first example in Z; 6. From prose to Z: control console; 7. Introducing schemas: text editor; Further reading;

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; Further reading;

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. Object-oriented programming; 25. Concurrency and real time; Further reading;

Programming with Z:
26. Refinement; 27. Program derivation and formal verification; 28. From Z to code; Futher reading;

Appendices:
A. Glossary of Z notation; B. Omitted features; C. Operator precedence; D. The Z mathematical tool-kit; E. Selected laws; F. Solutions to Selected exercises; G. Other formal notations;

Bibliography; Index. 367 pages.


Back to The Way of Z, main page