This book introduces several key software specification methods. Each method is presented using the same example, an invoicing system, allowing the reader to compare and contrast. Every chapter follows a rigorous pattern whereby techniques and notations are gradually introduced through questions which are asked to an imaginary user. Most specification courses tend to focus on one or two key techniques and have a theoretical bias; however, this title provides a clear overview of the main methods, and has a practical focus that allows the reader to apply their knowledge to real-life situations. The following are just some of the techniques covered: UML, Z, TLA+, SAZ, B, OMT, VHDL, Estelle, SDL and LOTOS.
Essential reading for all industrial and commercial practitioners, this book will help to expand their knowledge of software specification methods.
Part 1. State-Based Approaches
1. Z, J. Bowen.
2. SAZ, F. Polack.
3. B, H. Diab and M. Frappier.
4. From UML Diagrams to B Specifications, R. Laleau and A. Mammar.
5. UML+Z: Augmenting UML with Z, N. Amalio, F. Polack and S. Stepney.
6. ASM, E. Börger, A. Gargantini and E. Riccobene.
7. TLA+, L. Lamport.
Part 2. Event-Based Approaches
8. Action Systems, J. Sinclair.
9. Event B, D.Cansell and D. Méry.
10. VHDL, L. Pierre.
11. Estelle, E. Lallet and J.-L. Raffy.
12. SDL, P. Poizat.
13. (E)-Lotos, K. Turner and M. Sighireanu.
14. EB3, F. Gervais and M. Frappier.
Part 3. Other Formal Approaches
15. Casl, H. Baumeister and D. Bert.
16. Coq, J.-F. Monin.
17. Petri Nets, A. Choquet-Geniet and P. Richard.
18. Petri Nets with Objects, C. Sibertin-Blanc.
Part 4. Comparison and Glossary
19. A Comparison of the Specification Methods,
M. Frappier, H. Habrias and P. Poizat.
20. Glossary, H. Habrias, P. Poizat and M. Frappier.
Henri Habrias is a Professor in the Department of Computer Science at the IUT Nantes, University of Nantes, France, and teaches software specification at graduate and undergraduate levels. He is a member of the LINA Laboratory (Laboratoire d'Informatique de Nantes Atlantique) and he has published six books in software engineering.
Marc Frappier is a Professor of Software Engineering in the Department of Computer Science at the University of Sherbrooke, Canada. His research interests focus on specification, synthesis and construction of software, project management and functional size measurement. Before joining the University of Sherbrooke, he held several positions, both at management and technical levels, in banking, manufacturing, telecommunications, aerospace and pharmaceutical roles.