Freshly Printed - allow 3 days lead
Modelling Systems
Practical Tools and Techniques in Software Development
Updated introduction to software modelling using VDM. Includes advanced online tool support and up-to-date reports on real commercial applications.
John Fitzgerald (Author), Peter Gorm Larsen (Author)
9780521899116, Cambridge University Press
Hardback, published 11 June 2009
304 pages, 14 b/w illus. 20 tables 55 exercises
25.3 x 17.7 x 2 cm, 0.69 kg
"This is an excellent first course in modeling, and is so well organized that even individual study is practical. The book was enjoyable to read, and well written. Points of complexity were explained well, and the wealth of examples provides a roadmap to understanding for both the student and practitioner."
How can we make sure that the software we build does what it is supposed to? This book provides an insight into established techniques which help developers to overcome the complexity of software development by constructing models of software systems in early design stages. It uses one of the leading formal methods, VDM (Vienna Development Method), and combines training in the formalism with industry-strength tool support and examples derived from real industrial applications. The principles taught here also apply to many of the current generation of formal methods. This second edition has been updated to include advanced online tool support for formal modelling as well as up-to-date reports on real commercial applications in areas as diverse as business information systems and firmware design.
Foreword to the first edition
Preface
1. Introduction
2. Constructing a model
3. VDMTools Lite
4. Describing system properties using logical expressions
5. The elements of a formal model
6. Sets
7. Sequences
8. Mappings
9. Recursive structures
10. Validating models
11. State-based modelling
12. Large-scale modelling
13. Using VDM in practice
A. Language guide
B. Solutions to exercises
Bibliography
Subject index
Definitions index.
Subject Areas: Software Engineering [UMZ], Computer programming / software development [UM]