This invaluable textbook/reference provides an easy-to-read guide to the fundamentals of formal methods, highlighting the rich applications of formal methods across a diverse range of areas of computing. Topics and features:
Introduces the key concepts in software engineering, software reliability and dependability, formal methods, and discrete mathematics
Presents a short history of logic, from Aristotle’s syllogistic logic and the logic of the Stoics, through Boole’s symbolic logic, to Frege’s work on predicate logic
Covers propositional and predicate logic, as well as more advanced topics such as fuzzy logic, temporal logic, intuitionistic logic, undefined values, and the applications of logic to AI
Examines the Z specification language, the Vienna Development Method (VDM) and Irish School of VDM, and the unified modelling language (UML)
Discusses Dijkstra’s calculus of weakest preconditions, Hoare’s axiomatic semantics of programming languages, and the classical approach of Parnas and his tabular expressions
Provides coverage of automata theory, probability and statistics, model checking, and the nature of proof and theorem proving
Reviews a selection of tools available to support the formal methodist, and considers the transfer of formal methods to industry
Includes review questions and highlights key topics in every chapter, and supplies a helpful glossary at the end of the book
This stimulating guide provides a broad and accessible overview of formal methods for students of computer science and mathematics curious as to how formal methods are applied to the field of computing.
Dr. Gerard O'Regan is a CMMI software process improvement consultant with research interests including software quality and software process improvement, mathematical approaches to software quality, and the history of computing. He is the author of such Springer titles as Concise Guide to Software Engineering, Guide to Discrete Mathematics, Introduction to the History of Computing, Pillars of Computing, Introduction to Software Quality, Giants of Computing, and Mathematics in Computing.