Distributed Computing
ETH Zurich

Discrete Event Systems (HS 2020)

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 and German

Lecture by Prof. Lothar Thiele, Prof. Laurent Vanbever, and Prof. Roger Wattenhofer, Thursday 14.15-16.00 online, starting 17.09.2020.

Exercises by Béni Egressy, Xiaoxi He, Maria Apostolaki, Thomas Holterbach and Roland Schmid, Thursday 16.15-17.45 online

Attention: The Lecture and Exercises will both be held via Zoom. The links to join the Zoom meetings have been distributed via email before the first lecture. In case you have not received any emails from the course organizers so far (e.g. in case of a late registration), please contact Béni Egressy.


News

16.10.2020Finalized contents for the first part of the course (given by Prof. Vanbever), thank you all for participating! Special thanks to Angéline Pouget for providing an extensive sample solution for the bonus tasks in exercise session 5!

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 two 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
17.09.2020
Laurent Vanbever PDF 1:1
PDF 4:1
--- --- ---
Chapter 1 Regular Languages (Part 1)
Deterministic Finite Automata
17.09.2020
Laurent Vanbever PDF 1:1
PDF 4:1
Exercises
Slides
Solutions
Thomas Holterbach
Roland Schmid
Lecture Recording
Exercise Recording
Chapter 1 Regular Languages (Part 2)
Non-deterministic Finite Automata
24.09.2020
Laurent Vanbever PDF 1:1
PDF 4:1
Exercises
Slides
Solutions
Thomas Holterbach
Roland Schmid
Lecture Recording
Exercise Recording
Chapter 1 Regular Languages (Part 3)
Closure, Equivalence & Pumping Lemma
01.10.2020
Roland Schmid PDF 1:1
PDF 4:1
Exercises
Slides
Solutions
Maria Apostolaki
Roland Schmid
Lecture Recording
Exercise Recording
Chapter 2 Context-Free Languages
08.10.2020
Laurent Vanbever PDF 1:1
PDF 4:1
Exercises
Slides
Solutions
Maria Apostolaki
Roland Schmid
Lecture Recording
Exercise Recording
Chapter 3 Turing Machines
15.10.2020
Laurent Vanbever PDF 1:1
PDF 4:1
Exercises
Slides
Solutions
Bonus Tasks
Maria Apostolaki
Roland Schmid
Lecture Recording
Addendum: Tandem-PL
P vs. NP – 10 Minute Video
Exercise Recording
Chapter 4 Markov Chains
22.10.2020
Roger Wattenhofer PDF 1:1 --- Robin Fritsch
Béni Egressy
---
Chapter 5 Queuing
29.10.2020 - 05.11.2020
Roger Wattenhofer PDF 1:1 --- Béni Egressy ---
Chapter 6 Online
05.11.2020 - 12.11.2020
Roger Wattenhofer PDF 1:1 --- Béni Egressy ---

Exam

Regarding the first part of the course (given by Prof. Vanbever), the part on Turing machines (including "P vs NP") is not relevant for the exam.

Old Exams

If you would like some more exercises, you can also have a look at older exams (some with solutions): HS 2018, HS 2017, HS 2016, HS 2015, HS 2014, HS 2012, HS 2011, HS 2010, HS 2009, HS 2008 or HS 2007.

Please keep in mind that the content of the lecture has been updated a few times in recent years! Thus, some of the material from the old exams might no longer be covered in the current lecture and additional material has been added.