Advanced Model Checking
Graduate course - Winter Term 10
Lehrstuhl für Informatik 2
Schedule
Type
|
Time
|
Place
|
Start
|
Lecturer
|
V4
|
Mo 15:00 - 16:30
|
5052
|
25.10.2010
|
|
Tue 8:15 - 9:45
|
AH IV
|
|
||
?2
|
Wed 17:30 - 19:00
|
6019
|
03.11.2010
|
|
News
- 10.12.2010: Due to a flaw in condition (A4) in the slides, the
slides of lecture 10 have been updated. - There will be no lecture on Monday November 1.
- There will be no lecture on Tuesday, 30th November.
Exam
Information regarding the exam:
- All students who want to participate in the exam should
register via the CAMPUS system.
Motivation and background
This course is concerned with model checking, an automated technique to verify properties of hardware and software systems. Whereas the focus of the course Model Checking is on the elementary techniques of model checking, this course is focused on two main topics: advancing current model-checking technology, and, on the other hand, model-checking techniques for quantitative system aspects.
More concretely, the course will -–after a summary of the main model-checking techniques for LTL and CTL-– treat state space reduction techniques. This ranges from algorithms to minimise state-space representations using equivalences and pre-orders (bisimulations and simulation relations), techniques to avoid representing all possible interleaving of concurrent components (partial-order reduction) and data structures for the succinct representation of state spaces (e.g., binary decision diagrams).
In the second part of the course, models and algorithms are treated for the verification of timed properties, such as ``is it possible that the system will crash within 30 seconds'', and properties that involve random phenomena (e.g., ``the probability to reach a bad state within 44 minutes is below 0.0001''). Models such as timed automata, their infinite-state semantics, and finite abstractions thereof will be treated. This is complemented by a treatment of algorithms for checking timed CTL. This results in an effective framework that is used for checking real-time properties of embedded systems, communication protocols, and so on.
Probabilistic models are the key to model random phenomena as they occur in distributed algorithms that use randomisation to break the symmetry between processes, or to reason about quality of service parameters such as dependability, performance, and survivability. This course will deal with the basic algorithms and logics for verifying properties of fully probabilistic models such as Markov chains, and (if time permits) models that also exhibit nondeterminism (Markov decision processes).
More concretely, the course will -–after a summary of the main model-checking techniques for LTL and CTL-– treat state space reduction techniques. This ranges from algorithms to minimise state-space representations using equivalences and pre-orders (bisimulations and simulation relations), techniques to avoid representing all possible interleaving of concurrent components (partial-order reduction) and data structures for the succinct representation of state spaces (e.g., binary decision diagrams).
In the second part of the course, models and algorithms are treated for the verification of timed properties, such as ``is it possible that the system will crash within 30 seconds'', and properties that involve random phenomena (e.g., ``the probability to reach a bad state within 44 minutes is below 0.0001''). Models such as timed automata, their infinite-state semantics, and finite abstractions thereof will be treated. This is complemented by a treatment of algorithms for checking timed CTL. This results in an effective framework that is used for checking real-time properties of embedded systems, communication protocols, and so on.
Probabilistic models are the key to model random phenomena as they occur in distributed algorithms that use randomisation to break the symmetry between processes, or to reason about quality of service parameters such as dependability, performance, and survivability. This course will deal with the basic algorithms and logics for verifying properties of fully probabilistic models such as Markov chains, and (if time permits) models that also exhibit nondeterminism (Markov decision processes).
The lecture will be given in English.
All course material (i.e., lecture notes and slides) will be in English.
All course material (i.e., lecture notes and slides) will be in English.
Contents
- Summary of LTL and CTL model checking
- Equivalences and abstraction
- Partial-order reduction techniques
- Binary decision diagrams
- Timed automata
- Model checking timed CTL
- Probabilistic systems
- Model checking probabilistic CTL
Prerequisites
Basic knowledge of automata theory, complexity theory, and data structures and algorithms. The course is a follow-up course of Model Checking. It is highly recommended to have basic knowledge of model checking, although this is not mandatory.
ECTS Credits
The student will be awarded 6 ECTS credits for the lecture after passing the final exam.
Exercises
- Exercises can be worked on in groups of at most two students.
- To achieve a certificate to this course or to be admitted to the final exam, at least half of the exercises has to be reasonably dealt.
- The exercise sheets will be issued weekly.
Lecture Slides
All slides and exercise sheets will be made available here.
Date
|
Lecture
|
Subject
|
Slides
|
Exercise Sheet
|
Solution
|
---|---|---|---|---|---|
25 Oct
|
1
|
Introduction
|
|
||
26 Oct
|
2
|
Bisimulation and CTL* Equivalence
|
|
|
|
2 Nov
|
3
|
Bisimulation Quotienting
|
|
|
|
8 Nov
|
4
|
Equivalences and Abstraction
|
|
||
9 Nov
|
5
|
Equivalences and Abstraction
|
|
|
|
15 Nov
|
6
|
Stutter Bisimulation Quotienting
|
|
||
16 Nov
|
7
|
Simulation Relations
|
|
|
|
22 Nov
|
8
|
Simulation Quotienting
|
|
||
23 Nov
|
9
|
Partial Order Reduction
|
|
|
|
29 Nov
|
10
|
Partial Order Reduction
|
|
|
|
6 Dec
|
11
|
Partial Order Reduction
|
|
||
7 Dec
|
12
|
Reduced Ordered Binary Decision Diagrams
|
|
|
|
13 Dec
|
13
|
Reduced Ordered Binary Decision Diagrams
|
|
|
|
10 Jan
|
14
|
Symbolic Model Checking
|
|
||
11 Jan
|
15
|
Timed Automata
|
|
|
|
17 Jan
|
16
|
Time Convergence, Timelock and Zenoness
|
|
||
18 Jan
|
17
|
Timed CTL
|
|
|
|
24 Jan
|
18
|
Timed CTL Model Checking
|
|
||
25 Jan
|
19
|
Zone-Based Reachability Analysis
|
|
|
|
31 Jan
|
20
|
Difference Bound Matrices
|
|
The solutions will be accessible with the credentials given in the first exercise class.
Literature
The course is based on the recently published book:
Principles of Model Checking
by Christel Baier and Joost-Pieter Katoen.
by Christel Baier and Joost-Pieter Katoen.
An errata document to the book may be found here. The errata document will change during the semester.
It is possible to buy a book (about 40 euros), but there is no need to do so as there are various copies of the book available at the CS library.
Additional literature can be found in:
- J. Rutten, M. Kwiatkowska, G. Norman and D. Parker: Mathematical Techniques for Analyzing Concurrent and Probabilistic Systems, Volume 23 of CRM Monograph Series. American Mathematical Society, P. Panangaden and F. van Breugel (eds.), March 2004.
- M. Huth and M.D. Ryan: Logic in Computer Science -- Modelling and Reasoning about Systems, Cambridge University Press, 2nd edition, 2004
- K. Schneider: Verification of Reactive Systems, Springer-Verlag, Texts in Theoretical Computer Science. An EATCS Series, 2004
- J.-P. Katoen: Concepts, Algorithms and Tools for Model Checking, Erlangen: Institut für Mathematische Maschinen und Datenverarbeitung, 1999
- E.M. Clarke, O. Grumberg, D.A. Peled: Model Checking, MIT Press, 1999
- K.L. McMillan: Symbolic Model Checking, Kluwer Academic, 1993
Links
- PRISM model checker WebPage
- MRMC model checker WebPage
- Uppaal model checker WebPage
- Infostudium.de
- meinprof.de