This volume provides a comprehensive introduction to the field of formal methods for students and practitioners. It strikes a careful balance between rigorous exposition of the underlying mathematics and concrete examples of implementations using real-life tools, thus making it easy to grasp the underlying concepts and theories. It does not aim to provide guidelines for using a particular method, or comparisons of different approaches, but rather a conceptual framework that the reader can use to master any given method. It therefore makes an invaluable practical companion to introductory texts on logic and to books dedicated to a particular formal method. Understanding Formal Methods will be of interest to advanced students and engineers who need to learn the basics of this topic, and also professionals who need to broaden their knowledge or bring themselves up-to-date with the latest techniques.