This extensively revised and updated new edition of Specification of Software Systems builds upon the original focus on software specification with added emphasis on the practice of formal methods for specification and verification activities for different types of software systems and at different stages of developing software systems. Topics and features: provides a wide coverage of formal specification techniques and a clear writing style, supported by end-of-chapter bibliographic notes for further reading; presents a logical structure, with sections devoted to specification fundamentals, basics of formalism, logic, set theory and relations, property-oriented specification methods, and model-based specification techniques; contains end-of-chapter exercises and numerous case studies, with potential course outlines suggested in the Preface; covers Object-Z, B-Method, and Calculus of Communicating Systems; offers material that can be taught with tool-supported laboratory projects.
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)