Schedule

Type

Time

Place

Start

Lecturer

V4

14:00-15:30

AH I

April 3

08:15-09:45

AH VI

April 4

Ü2

11:45-13:15

AH III

April 13


News

  • There will be no written exam on Friday, July 13.

    Instead we offer an oral exam.

    For a corresponding appointment, please contact our secretariat (ohlenforst@cs.rwth-aachen.de).

  • The last lecture will take place on July 3rd.
  • On July 10th, we will offer a discussion and present one of last year's written exams.


Motivation


The aim of this course is to present the basic principles of model checking, an automated verification technique for hard- and software systems. The starting point of model checking is a precise description of the possible system behaviors (typically given as a transition system), and the desired behaviour (typically a property expressed as logical formula). Model checking explores all possible system states in a brute force manner. In this way, it can be shown that all states in a given system model satisfy a certain property. In case of a property refutation, counterexamples are provided that act as diagnostic feedback and may be used to detect the cause of the violaton. Subtle errors that remain undiscovered using techniques such as simulation or peer reviewing can potentially be revealed using model checking. Model checking is thus an effective technique to expose potential design errors.


Contents of the lecture

We start by introducing labeled transition systems and show that these are suitable for modeling sequential and concurrent programs. This is followed by a detailed study on various classes of system properties such as safety, liveness, and fairness. It will be shown how finite automata as well as variants thereof that accept infinite words are suitable for verifying regular properties. The linear-time and branching time temporal logics LTL and CTL are then introduced and compared. Model checking algorithms for these logics together with detailed complexity considerations  are covered. Finally, abstraction techniques based on bisimulation and simulation relations are covered.


modelling concurrent and communicating systems

  • transition systems
  • parallelism and communication
  • the state-space explosion problem

linear time properties

  • deadlocks
  • reachability
  • liveness
  • fairness

regular properties

  • automata on finite words
  • automata on infinite words
  • regular sequence properties

model checking

  • linear time temporal logic (LTL)
  • computation tree logic (CTL)

combating the state-space explosion

  • equivalences
  • abstraction


Slides and Exercise Sheets

Date

Lecture

Subject

Slides

Exercise Sheet

Solution

April 3

1

Introduction

 

April 4

2

Transition systems

due on April 13

April 10

3

Concurrency

April 11

4

Channel Systems

 due on April 20

April 17

5

Linear-Time Properties

April 18

6

Safety and Liveness Properties

due on April 27

April 24

7

Fairness

April 25

8

Model Checking

Regular Safety Properties

due on May 4

May 2

9

Büchi Automata I

due on May 11

May 8

10

Büchi Automata II

May 9

11

Verifying Omega-Regular Properties

due on May 18

May 15

12

Linear Temporal Logic I

May 16

13

Linear Temporal Logic II

due on May 25

May 22

14

Fairness in LTL

May 23

15

LTL Model Checking

due on June 8

June 5

16

Complexity and Correctness of

LTL Model Checking

June 6

17

Computation Tree Logic

due on June 15

June 12

18

CTL, LTL and CTL*

June 13

19

CTL Model Checking

due on June 22

June 19

20

CTL Counterexamples and

CTL* Model Checking

June 20

21

Fairness in CTL

due on June 29

June 26

22

Bisimulation

June 27

23

Bisimulation and CTL*

due on July 6

July 3

24

Simulation Preorder


Previous knowledge

Sophisticated knowledge of the undergraduate courses of the first two years (Vordiplom):

  • Automata Theory
  • Mathematical Logic
  • Discrete Mathematics
  • Complexity Theory

Apart from these, no mandatory courses are required.


Further courses

This lecture provides an introduction to a sequel of advanced courses:

  1. Advanced Model Checking lecture
  2. Model Checking lab


Language

The lecture and all material will be in English.


Links


Additional literature

E.M. Clarke, O. Grumberg, D.A. Peled: Model Checking, MIT Press, 1999
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
C. Baier and J.-P. Katoen: Principles of Model Checking (forthcoming)