Formal Methods in Computer Science gives students a comprehensive introduction to formal methods and their application in software and hardware specification and verification.
The first part introduces some fundamentals in formal methods, including set theory, functions, finite state machines, and regular expressions. The second part focuses on logic, a powerful formal language in specifying systems properties. It covers propositional logic, predicate logic, temporal logic, and model checking. The third part presents Petri nets, the most popular formal language in system behavior modeling. In additional to regular Petri nets, this part also examines timed Petri nets and high-level Petri nets.
The textbook is ideal for undergraduate or graduate courses in computer engineering, software engineering, computer science, and information technology programs. Parts of the book are useful reading material in undergraduate computer course and as a reference guide for students researching the area of formal system specification and validation.
* Introduces a comprehensive, yet manageable set of formal techniques for computer science students
* Stresses real-world application value of each formal technique
* Offers a good set of exercises which help students better understand the presented techniques
* Also offers a prepared source code for downloading and non-commercial use