# 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.

## Software:

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

- 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.
- Download MatlabTCT (with graphviz).
- 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 http://www.control.utoronto.ca/cgi-bin/dlxptct.cgi

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

Manual of TCT is for download here

## Prerequisites:

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

## Course Outline:

` Topics`

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