Freshly Printed - allow 8 days lead
Couldn't load pickup availability
The Way of Z
Practical Programming with Formal Methods
A self-contained tutorial on Z for working programmers discussing practical ways to apply formal methods in real projects, first published in 1997.
Jonathan Jacky (Author)
9780521559768, Cambridge University Press
Paperback, published 28 November 1996
372 pages
23.4 x 17.8 x 2.3 cm, 0.789 kg
'… especially good for more advanced students … this book will be inspirational and provide practical guidance to real software engineers.' Computer Journal
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.
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.
Subject Areas: Mathematical theory of computation [UYA], Software Engineering [UMZ], Programming & scripting languages: general [UMX]
