The Role of Specifications --;Specification Activities --;Specification Qualities --;Abstraction --;Formal Systems --;Logic --;Set Theory and Relations --;Algebraic Specifications --;Vienna Development Method --;The Z Notation --;Larch.
This graduate-level text provides a one semester introduction to program specification. Readers are assumed to have a working knowledge of software engineering and basic discrete mathematics, but otherwise this may be their first encounter with formal specification. It is based on graduate courses and courses offered to professionals working in the software industry. The authors emphasize the need for formal abstraction in specification and the advantages it confers upon the software process. In addition, the book covers all three major specification languages: Larch, VDM, and Z. Consequently, readers will be able to select a formal method that best suits their needs and application. The first part of the book discusses specification in general and the abstraction process. Next come chapters on the mathematical tools required. Thirdly, the authors devote a chapter each to the main formal methods with a significant example of the use of each discussed.