Freshly Printed - allow 8 days lead
Modeling in Event-B
System and Software Engineering
A practical introduction to this model-based formal method, containing a broad range of illustrative examples.
Jean-Raymond Abrial (Author)
9780521895569, Cambridge University Press
Hardback, published 13 May 2010
612 pages, 170 b/w illus. 30 exercises
25.3 x 19.5 x 3.5 cm, 1.32 kg
'… a rich and accessible book, demonstrating both the strengths and weaknesses of the use of Event-B, and containing varied and valuable case studies as its core. It is written in a pleasant colloquial style, with changes in the vocal tempo and tone leaping off the pages. … should be seriously considered for introductory courses on formal modelling with associated proof.' Journal of Functional Programming
A practical text suitable for an introductory or advanced course in formal methods, this book presents a mathematical approach to modelling and designing systems using an extension of the B formal method: Event-B. Based on the idea of refinement, the author's systematic approach allows the user to construct models gradually and to facilitate a systematic reasoning method by means of proofs. Readers will learn how to build models of programs and, more generally, discrete systems, but this is all done with practice in mind. The numerous examples provided arise from various sources of computer system developments, including sequential programs, concurrent programs and electronic circuits. The book also contains a large number of exercises and projects ranging in difficulty. Each of the examples included in the book has been proved using the Rodin Platform tool set, which is available free for download at www.event-b.org.
Prologue: faultless systems – yes we can!
Acknowledgements
1. Introduction
2. Controlling cars on a bridge
3. A mechanical press controller
4. A simple file transfer protocol
5. The Event-B modeling notation and proof obligations rules
6. Bounded re-transmission protocol
7. Development of a concurrent program
8. Development of electronic circuits
9. Mathematical language
10. Leader election on a ring-shaped network
11. Synchronizing a tree-shaped network
12. Routing algorithm for a mobile agent
13. Leader election on a connected graph network
14. Mathematical models for proof obligations
15. Development of sequential programs
16. A location access controller
17. Train system
18. Problems
Index.
Subject Areas: Systems analysis & design [UYD], Mathematical theory of computation [UYA], Computer programming / software development [UM]