From the reviews of the second edition:
It covers a lot of material, and various subsets of the book may be used - as proposed by the authors - for different course offerings, from undergraduate to advanced graduate levels, as well as a reference for practitioners ... . Bibliographical notes (usually very good) and exercises are included at the end of each chapter. ... Summing up, this is a good and useful book on a very important topic ... . (Haim Kilov, Zentralblatt MATH, Vol. 1243, 2012)
This software engineering book introduces software specifications. It presents basic mathematics typically used in formal methods and describes various existing formal specification languages and methods. It also demonstrates how to write specifications using examples taken from real-life software systems. ... Each chapter has exercises, bibliographic notes, and a list of references. ... Courses that cover software specifications can use either specific chapters or the complete text. The book can also serve as a reference on software specifications. (Maulik A. Dave, ACM Computing Reviews, February, 2012)
Dr. V.S. Alagar is Professor Emeritus at the Department of Computer Science and Software Engineering of Concordia University, Montreal, Canada.
Dr. K. Periyasamy is a full Professor at the Department of Computer Science of the University of Wisconsin-La Crosse, USA.
Part I: Specification Fundamentals
The Role of Specification
Specification Activities
Specification Qualities
Abstraction
Part II: Formalism Fundamentals
Formal Systems
Automata
Extended Finite State Machine
Classification of Formal Specification Methods
Part III: Logic
Propositional Logic
Predicate Logic
Temporal Logic
Part IV: Mathematical Abstractions for Model-based Specifications
Set Theory and Relations
Part V: Property-oriented Specifications
Algebraic Specification
Larch
Calculus of Communicating Systems
Part VI: Model-based Specifications
Vienna Development Method
The Z Notation
The Object-Z Specification Language
The B-Method