''Principles of Model Checking'' is a textbook on
model checking
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software syst ...
, an area of
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
that automates the problem of determining if a machine meets specification requirements. It was written by
Christel Baier and
Joost-Pieter Katoen, and published in 2008 by
MIT Press
The MIT Press is the university press of the Massachusetts Institute of Technology (MIT), a private research university in Cambridge, Massachusetts. The MIT Press publishes a number of academic journals and has been a pioneer in the Open Ac ...
.
Synopsis

The introduction and first chapter outline the field of
model checking
In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software syst ...
: a model of a machine or process can be analysed to see if desirable properties hold. For instance, a
vending machine
A vending machine is an automated machine that dispenses items such as snacks, beverages, cigarettes, and lottery tickets to consumers after cash, a credit card, or other forms of payment are inserted into the machine or payment is otherwise m ...
might satisfy the property "the balance can never fall below €0,00". A video game might enforce the rule "if the player has 0 lives then the game ends in a loss". Both the vending machine and video game can be modelled as
transition system
In theoretical computer science, a transition system is a concept used in the study of computation. It is used to describe the potential behavior of discrete systems. It consists of states and transitions between states, which may be labeled wi ...
s. Model checking is the process of describing such requirements in mathematical language, and automating proofs that the model satisfies the requirements, or discovery of
counterexample
A counterexample is any exception to a generalization. In logic a counterexample disproves the generalization, and does so rigorously in the fields of mathematics and philosophy. For example, the fact that "student John Smith is not lazy" is a c ...
s if the model is faulty.
The second chapter focuses on creating an appropriate model for
concurrent systems, where multiple parts of an
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
(set of instructions) can be carried out simultaneously by different machines or parts of a machine.
Chapters 3 explores types of rules that a transition system may satisfy:
linear time properties. A
safety property, such as "no
deadlock
Deadlock commonly refers to:
* Deadlock (computer science), a situation where two processes are each waiting for the other to finish
* Deadlock (locksmithing) or deadbolt, a physical door locking mechanism
* Political deadlock or gridlock, a si ...
states are possible", is of the form "an undesirable outcome can never occur". A
liveness Properties of an execution of a computer program—particularly for concurrent and distributed systems—have long been formulated by giving safety properties ("bad things don't happen") and liveness properties ("good things do happen").
A progra ...
property, such as "a shared resource will always eventually be made available to a component that requests it", is of the form "a desirable outcome will eventually happen". Fairness properties such as "a traffic light never stops changing colour" can be used as
precondition
In computer programming, a precondition is a condition or predicate that must always be true just prior to the execution of some section of code or before an operation in a formal specification.
If a precondition is violated, the effect of the ...
s i.e. assumptions from which other properties can be deduced.
The fourth chapter is about
regular and
ω-regular language properties, and theoretical machines such as
Büchi automata Buchi can mean:
__NOTOC__
Items
* Bachi, special Japanese drumsticks
*Butsi, the Hispanised term for jin deui (pastry made from glutinous rice) in the Philippines
*Büchi automaton, finite state automata extended to infinite inputs
* Büchi arithm ...
that model the languages. It gives model-checking algorithms to verify properties or find counterexamples.
The fifth and sixth chapters explore
linear temporal logic
In logic, linear temporal logic or linear-time temporal logic (LTL) is a modal logic, modal temporal logic with modalities referring to time. In LTL, one can encode formula (logic), formulae about the future of path (graph theory), paths, e.g., a c ...
(LTL) and
computation tree logic (CTL), two classes of formula that express properties. LTL encodes requirements about paths through a system, such as "every
Monopoly
A monopoly (from Greek language, Greek and ) is a market in which one person or company is the only supplier of a particular good or service. A monopoly is characterized by a lack of economic Competition (economics), competition to produce ...
player passes 'Go' infinitely often"; CTL encodes requirements about states in a system, such as "from any position, all players can eventually land on 'Go'".
CTL* formulae, which combine the two grammars, are also defined. Algorithms for model-checking formulae in these logics are given.
The seventh chapter explores formal ways to compare transition systems, such as
bisimulation
In theoretical computer science a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in that one system simulates the other and vice versa.
Intuitively two systems are bisimilar if ...
; the eighth is about
partial order reductions that aim to reduce the computation required to verify properties of a model. The ninth and tenth chapters are about extensions to the logics and automata previously considered, including through addition of a clock speed (
timed automata) or probabilities (
probabilistic automata, based on
Markov chain
In probability theory and statistics, a Markov chain or Markov process is a stochastic process describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. Informally ...
s).
Reception
François Laroussinie, writing in ''
The Computer Journal
''The Computer Journal'' is a peer-reviewed scientific journal covering computer science and information systems. Established in 1958, it is one of the oldest computer science research journals. It is published by Oxford University Press on behal ...
'', recommended the book to researchers, lecturers, students and engineers, calling the book "impressive". Laroussinie found the textbook comprehensive and accessibly written, with a good number of examples, exercises and motivating ideas for key concepts. With a "unified framework", the first seven chapters cover classical theory and the last three chapters cover extensions of model checking.
In ''
ACM Computing Reviews'', Gabriel Ciobanu believed the textbook could be used in advanced undergraduate or graduate courses, and would be useful to researchers. Ciobanu praised the "clear and intuitive" presentation and said it "should be appreciated for its pedagogical approach to covering basic concepts, deep theoretical results, and advanced topics in model checking research".
In 2014, the book was one of the five most-cited academic texts monitored by the
Book Citation Index (BKCI).
References
Further reading
*{{citation, last=Lange, first=Martin, title=none, journal=
MathSciNet
MathSciNet is a searchable online bibliographic database created by the American Mathematical Society in 1996. It contains all of the contents of the journal ''Mathematical Reviews'' (MR) since 1940 along with an extensive author database, links ...
, year=2010, mr=2493187
External links
Official website
2008 non-fiction books
Computer science textbooks