Distributed Computing
ETH Zurich

Discrete Event Systems (HS 2023)

Over the past few decades the rapid evolution of computing, communication, and information technologies has brought about the proliferation of new dynamic systems. A significant part of activity in these systems is governed by operational rules designed by humans. The dynamics of these systems are characterized by asynchronous occurrences of discrete events, some controlled (e.g. hitting a keyboard key, sending a message), some not (e.g. spontaneous failure, packet loss).

The mathematical arsenal centered around differential equations that has been employed in systems engineering to model and study processes governed by the laws of nature is often inadequate or inappropriate for discrete event systems. The challenge is to develop new modeling frameworks, analysis techniques, design tools, testing methods, and optimization processes for this new generation of systems.

In this lecture we give an introduction to discrete event systems. We start out the course by exploring the limits of what is computable and what is not. In doing so, we will consider three distinct models of computation which are often used to model discrete event systems: finite automata, push-down automata and Turing machines (ranked in terms of expressiveness power). In the second part of the course we analyze discrete event systems. We first examine discrete event systems from an average-case perspective: we model discrete events as stochastic processes, and then apply continuous time markov chains and queueing theory for an understanding of the typical behavior of a system. Then we analyze discrete event systems from a worst-case perspective using the theory of online algorithms and adversarial queueing. In the last part of the course we introduce methods that allow to formally verify certain properties of Finite Automata and Petri Nets. These are some typical analysis questions we will look at: Do two given systems behave the same? Does a given system behave as intended? Does the system eventually enter a dangerous state?

Course language: English

Lecture by Prof. Lana Josipović, Prof. Laurent Vanbever, and Prof. Roger Wattenhofer, Thursday 14.15-16.00 @ HG D 7.2, starting 21.09.2023.

Exercises by Borna Šimic, Joël Mathys, Roland Schmid, and Jiahui Xu, Thursday 16.15-17.45 @ HG D 7.2.


01.09.2023Welcome to the new semester!
20.10.2023Finalized contents for the first part of the course (given by Prof. Vanbever) and updated the exam information, thank you all for participating!
27.10.2023Updated the lecture script for Chapter 4 Queueing
23.11.2023Updated the lecture script for Chapter 4 Queueing (fixed references) and Chapter 5 Online (updated Figure 5.25)
24.11.2023Finalized contents for the second part of the course (given by Prof. Wattenhofer), thank you all for participating!
21.12.2023Finalized contents for the third part of the course (given by Prof. Josipović), thank you all for participating!

Exercise Proceedings

At the beginning of every lecture week, we will publish a new exercise sheet here. This exercise sheet is intended to be solved during the exercise session on Thursday where tutors will be available to assist you and to answer potential questions. The exercises often require information from the lecture notes, so please make sure that you have them available in some way.

You can hand in your solutions for correction after the exercise session on a voluntary basis. But this is not mandatory or required to be admitted to the exam.

Lecture Material

Chapter Title Lecturer Lecture Notes Exercises Responsible Assistant Additional Material
Chapter 0 Introduction
Laurent Vanbever PDF 1:1
PDF 4:1
--- --- ---
Chapter 1 Regular Languages
21.09.2023 – 28.09.2023
Laurent Vanbever PDF 1:1
PDF 4:1
Exercise 1
Slides 1
Solution 1

Exercise 2
Slides 2
Solution 2
Roland Schmid Lecture 1 Recording (HS20)

Lecture 2 Recording (HS20)
Lecture 2 Introduction & Recap Slides
Chapter 2 Non-Regular Languages
05.10.2023 – 19.10.2023
Laurent Vanbever

Roland Schmid
PDF 1:1
PDF 4:1
Exercise 3
Slides 3
Solution 3

Exercise 4
Slides 4
Solution 4

Exercise 5
Slides 5
Solution 5
Roland Schmid Lecture 3 Recording (HS20)
Lecture 3 Introduction & Recap Slides

Lecture 4 Recording (HS20)
Lecture 4 Introduction & Recap Slides

Lecture 5 Recording (HS20)
relevant up to 1:11h
Lecture 5 Introduction & Recap Slides
Example: Tandem-Pumping Lemma
Chapter 3 Markov Chains
Roger Wattenhofer PDF 1:1 Exercise 6
Solution 6
Borna Šimic Lecture Recording (HS20)
Exercise Recording (HS20)
Chapter 4 Queueing
2.11.2023 - 9.11.2023
Roger Wattenhofer PDF 1:1 Exercise 7
Solution 7
Exercise 8
Solution 8
Borna Šimic Lecture Recording (HS20)
Exercise Recording (HS20)
Lecture Recording 2 (HS20)
Exercise Recording 2 (HS20)
Chapter 5 Online
16.11.2023 - 23.11.2023
Roger Wattenhofer
Joël Mathys
Andreas Plesner
PDF 1:1 Exercise 9
Solution 9
Exercise 10
Solution 10
Joël Mathys Lecture Recording
Lecture Notes 16.11
Exercise Recording
Lecture Recording 2
Exercise Recording 2
Chapter 6 Verification
of Finite Automata
Lana Josipović Part 1

Part 2
Exercise 11
(updated on 30.11.2023)

Solution 11
Slides 11

Exercise 12
Solution 12
Slides 12
Jiahui Xu Lecture 1 Recording (HS22)
Reachability Example (HS21)
Exercise 1 Recording (HS21)

Lecture 2 Recording (HS22)
Exercise 2 Recording (HS21)
Chapter 7 Petri Nets
14.12.2023 - 21.12.2023 🎄🎁
Lana Josipović Part 1

Part 2a
Part 2b
Exercise 13
Solution 13
Slides 13

Exercise 14
Solution 14
PN Simulator
Slides 14
Tina tutorial
Jiahui Xu Lecture 3 Recording (HS22)
Exercise 3 Recording (HS21)

Lecture 4a Recording (HS22)
Lecture 4b Recording (HS22)
Exercise Recoding 4 (HS21)


Regarding the first part of the course (given by Prof. Vanbever), all material covered in the lecture and the exercises can be prospects for the examination as usual. Note that transducers and turing machines (covered in the recordings from HS20) are not relevant for this year's exam.

Old Exams

If you already think about the exam, or would like some more exercises, you can also have a look at older exams (some with solutions): HS 2022, HS 2021, HS 2020, HS 2019, HS 2018, HS 2017, HS 2016, HS 2015.

Please keep in mind that the content of the lecture has been updated a few times in recent years, especially the third part which is taught by a new lecturer! Thus, some of the material from the old exams might no longer be covered in the current lecture and additional material has been added.


[bertsekas] Data Networks
Dimitri Bertsekas, Robert Gallager.
Prentice Hall, 1991, ISBN: 0132009161
[borodin] Online Computation and Competitive Analysis
Allan Borodin, Ran El-Yaniv.
Cambridge University Press, 1998
[burch] Symbolic Model Checking
Burch, J. R. and Clarke, E. M. and McMillan, K. L. and Dill, D. L. and Hwang, L. J.
Inf. Comput. 98, 2 (June 1992), pp. 142-170
[cassandras] Introduction to Discrete Event Systems
Christos Cassandras, Stephane Lafortune.
Kluwer Academic Publishers, 1999, ISBN 0-7923-8609-4
[exorciser] Exorciser - Interaktive Lernsoftware für theoretische Informatik
[fiat] Online Algorithms: The State of the Art
A. Fiat and G. Woeginger.
[hochbaum] Approximation Algorithms for NP-hard Problems (Chapter 13 by S. Irani, A. Karlin)
D. Hochbaum.
[murata] Petri Nets: Properties, Analysis and Applications
Tadao Murata.
Proceedings of the IEEE, vol. 99, issue 4, April 1989. pp. 541--580
[schickinger] Diskrete Strukturen (Band 2: Wahrscheinlichkeitstheorie und Statistik)
T. Schickinger, A. Steger.
Springer, Berlin, 2001
[sipser] Introduction to the Theory of Computation
Michael Sipser.
PWS Publishing Company, 1996, ISBN 053494728X