Automated Reasoning: Symbolic Model Checking
- CTL model checking
- After a general introduction to the MOOC, this module starts by a general description of model checking.Then Computation Tree Logic (CTL) is introduced: a language in which properties on transition systems can be described. The algorithm to check whether such a property holds is given in an abstract setting, leaving implicit how sets of states are represented.
- BDDs part 1
- In this module BDDs (binary decision diagrams) are introduced as decision trees with sharing. They represent boolean functions.
Extra requirements on both decision trees and BDDs are presented from which uniqueness of the representation can be concluded.
- BDDs part 2
- After some examples of BDD, the algorithm is presented and discussed to compute the ROBDD of any propositional formula.
- BDD based symbolic model checking
- In this last module the topics of CTL model checking and BDDs are combined: it is shown how BDDs can be used to represent sets of states in a way that the abstract algorithm for CTL mode checking can be used, and much larger state spaces can be dealt with than by using explicit state based model checking. Sever examples are presented.