Synopses & Reviews
Formal specification is a method for precisely modelling computer-based systems that combines concepts from software engineering and mathematical logic. In this book the authors describe algebraic and state-based specification techniques from the unified view of the Common Object-oriented Language for Design, COLD, a wide-spectrum language in the tradition of VDM and Z. The kernel language is explained in detail, with many examples, including: set representation, a display device, an INGRES-like database system, and a line editor. Fundamental techniques such as initial algebra semantics, loose semantics, partial functions, hiding, sharing, predicate and dynamic logic, abstraction functions, representation of invariants and black-box correctness are also presented. More advanced ideas, for example Horn logic, and large systems are given in the final part. Appendices contain full details of the language's syntax and a specification library. Techniques for software development and design are emphasised throughout, so the book will be an excellent choice for courses in these areas.
Review
"...those with the proper background will find much of interest and the book is a good addition to the theoretical background of programming." Charles Ashbacher, IEEE Software"...well-written...a good introduction to formal specification concepts. It is very readable and elegant. It may be used in an almost notation-independent way, not just by those who are interested in the COLD-K notation." H.I. Kilov, Computing Reviews
Synopsis
The authors describe specification techniques from the unified view of the Common Object-oriented Language for Design.
Synopsis
Formal specification is a method for precisely modelling computer-based systems that combines concepts from software engineering and mathematical logic. In this book the authors describe algebraic and state-based specification techniques from the unified view of the Common Object-oriented Language for Design. Software development and design are emphasised throughout, so the book will be an excellent choice for courses in these areas.
Table of Contents
Part I. Algebraic Specification: 1. Introducing the basic concepts; 2. Setting up algebraic specifications; 3. Structuring algebraic specifications; 4. Implementing algebraic specifications; Part II. State-Based Specification: 5. From algebras to states; 6. Setting up state-based specification; 7. Structuring state-based specification; 8. Implementing state-based specification; Part III. Advanced Techniques: 9. Theoretical topics; 10. Additional language constructs; 11. Towards large systems; Bibliography; Appendices; Index.