Distributed Computing Group Distributed Computing Group
ETH Zurich Distributed Computing Group
ETH ZurichITETTIKDistributed Computing Group LecturesDes

HOME
MEMBERS  
PUBLICATIONS  
COURSES  
THESES  
WIKI  
CONTACT  
     
SOFTWARE & APPS  
benG  
BitThief  
Conference Search  
DiscoMark  
jukefox  
Kännsch  
Smart Cloud Storage  
Newspaper 2.0  
Sinalgo  
sound mate  
TinyOS IDE  
     
SPIN-OFFs  
BitSplitters  
     
FORMER  
Spamato  
StreamForge  
Wuala  

Discrete Event Systems (HS 2016)

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 13.15-15.00 @ ETZ E6, starting 22.09.2016.

Exercises by Thomas Ulrich, Darya Melnyk, Romain Jacob, Ahmed El-Hassany and Maria Apostolaki, Thursday 15.15-16.45 @ ETZ E6


Exam

Regarding the second part of the course (given by Prof. Wattenhofer), the following parts of the lecture notes are relevant for the exam: Chapter 5 and Sections 6.1-6.6 from Chapter 6. An exception is Section 6.5, where we only assume knowledge of the parts covered in the lecture, i.e., Definition 6.19 and Lemma 6.20, and related remarks. While the exam questions can be answered without specific knowledge of Sections 6.7-6.12 and the remainder of Section 6.5, we recommend those parts as training material.


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.


Last sessions schedules

The last two lectures by Prof. Thiele will be on the 8th and 15th of December. Exercises will follow the lecture, as usual. For the last week of the semester (Dec.22) there will be no lecture but the last exercise session, in the lecture slot (1pm)!

In the last slot (3-5pm), there will be a revision session with the teaching assistants of the three parts of the lecture, so that you can ask questions on any point covered during the course. You will also go through last year exam.


Old Exams

If you would like some more exercises, you can also have a look at older exams (some with solutions): 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.


Lecture material


Title Lecturer Slides Additional Material References

Chapter 0
Introduction to Automata and Languages
22/09/2016
Prof. Vanbever PDF 1:1
PDF 4:1
[cassandras]
[sipser]
[exorciser]

Chapter 1
Automata and Languages
29/09/2016
Prof. Vanbever PDF 1:1
PDF 4:1
[sipser]
[exorciser]

Chapter 2
Non-regular Languages and Context Free Grammars
06/10/2016
Prof. Vanbever PDF 1:1
PDF 4:1
[sipser]

Chapter 3
Non-regular Languages and Context Free Grammars II
13/10/2016
Prof. Vanbever PDF 1:1
PDF 4:1
[sipser]

Chapter 4
Turing Machines and More
20/10/2016
Prof. Vanbever PDF 1:1
PDF 4:1
[sipser]

Chapter 5
Queueing
27/10/2016
03/11/2016
Prof. Wattenhofer PDF 1:1
PDF 4:1
[bertsekas]
[schickinger]

Chapter 6
Online
10/11/2016
17/11/2016
Prof. Wattenhofer PDF 1:1
PDF 4:1
[borodin]
[fiat]
[hochbaum]

Chapter 8
Verification of Finite Automata
24/11/2015
01/12/2015
Prof. Thiele PDF 1:1
PDF 4:1
[burch]

Chapter 9
Petri Nets
8/12/2016
15/12/2015
Prof. Thiele PDF 1:1
PDF 4:1
[murata]


Exercise material


Title Exercise Sample Solution

Exercise 1
Assigned: 28/09/2016
Due: 29/09/2016
Download Download

Exercise 2
Assigned: 05/10/2016
Due: 06/10/2016
Download Download

Exercise 3
Assigned: 12/10/2016
Due: 13/10/2016
Download Download

Exercise 4
Assigned: 19/10/2016
Due: 20/10/2016
Download Download

Exercise 5
Assigned: 26/10/2016
Due: 27/10/2016
Download Download

Exercise 6
Assigned: 02/11/2016
Due: 03/11/2016
Download Download

Exercise 7
Assigned: 09/11/2016
Due: 10/11/2016
Download Download

Exercise 8
Assigned: 16/11/2016
Due: 17/11/2016
Download Download

Exercise 9
Assigned: 23/11/2016
Due: 24/11/2016
Download Download Slides

Exercise 10
Assigned: 07/12/2016
Due: 08/12/2016
Download Download Slides

Exercise 11
Assigned: 14/12/2016
Due: 15/12/2016
Download Download Slides

Exercise 12
Assigned: 21/12/2015
Due: 22/12/2016
Download Download Resources


References

[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
Download
[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
Download
[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.
[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
[murata] Petri Nets: Properties, Analysis and Applications
Tadao Murata.
Proceedings of the IEEE, vol. 99, issue 4, April 1989. pp. 541--580
Download