Control of Discrete-Event Systems

Learning objectives:

  • Study how to model discrete-event systems
  • Study how to design feedback controllers for discrete-event systems
  • Learn about how to build different control architectures: centralized, decentralized, distributed, hierarchical

Textbook / Reference:

There is no textbook for this course. An essential reference is the following:

"Supervisory Control of Discrete-Event Systems" by W.M. Wonham and Kai Cai, Springer, 2019.


This courses uses Matlab + TCT. You need Windows 64bit. To use the software, follow the steps below:

  1. Install Matlab (download the Windows 64bit version here, with university campus license). After you install the software, you also need to make a change according this document.
  2. Download MatlabTCT (with graphviz).
  3. Uncompress the downloaded file and use the folder "MatlabTCT" as the working directory for Matlab.

Test scripts (change file extension .txt to .m before running them in Matlab):

  • create, displaydes, and trim (Test1.txt)
  • complement (Test2.txt)
  • selfloop, meet, sync, and nonconflict (Test3.txt)
  • supervisory control design (Test4.txt)
  • Test script for Supervisor Localization of Transfer Line (Test5.txt)
  • Test script for observable (Test6.txt)
  • Test script for Partial-Observation Supervisory Control Design of Mutual Exclusion (Test7.txt)

Additional information:

Software TCT is available for free online

To plot state-transition graph, you need to download software

Manual of TCT is for download here


There is no prerequisite for this course. An undergraduate control and automata course would be a plus, but not required.

Course Outline:

  1. Introduction to discrete-event systems; symbols, alphabets, strings (Introduction) (Lecture1)
  2. Languages, finite-state automata (Lecture2)
  3. Operations on automata (Lecture3)
  4. Supervisory control basics (Lecture4)
  5. Controllability, main result of supervisory control (Lecture5)
  6. Optimal supervisory control (Lecture6)
  7. Supervisory control examples, TCT design software (Lecture7)
  8. Decentralized supervisory control (Lecture8)
  9. Distributed control architecture (Lecture9)
  10. Distributed control by supervisor localization (Lecture10)
  11. Distributed control examples (Lecture11)
  12. Partial observation, natural projection (Lecture12)
  13. Observability, partially-observed supervisory control (Lecture13)

Video lectures

Lecture 1

Lecture 2

Lecture 3

Lecture 4

Lecture 5

Lecture 6

Lecture 7

Lecture 8

Lecture 9

Lecture 10

Lecture 11

Lecture 12

Lecture 13