# Control of Discrete-Event Systems

## IMPORTANT MESSAGES:

- Due to COVID-19, all lectures will be given remotely
- Each week, slides and videos will be uploaded
- Grading will be based on 5 homework assignments (please see "Homework" section below for submission deadlines)

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

## Instructor:

- Prof. Kai Cai (Engineering Building F-610)
- Email: kai.cai@eng.osaka-cu.ac.jp
~~Office hour: after each lecture or by email appointment~~(Questions will be answered through WebClass discussion, so post your questions there)

## Lecture Schedule:

- Period: Apr. 2020 -- Aug. 2020
- Day and Time: Fridays 15:15-16:55
~~Location: Engineering Building B-115~~(Remote lectures)

## 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. (copies to be lent on request)

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

## Grading:

~~Homework 50% (+25% bonus)~~- ~~Final project 50% ~~

(5 homework assignments, each 20 points)

## Homework:

Homework must be submitted through WebClass by the deadlines; 0 point for late submission unless exceptional reason exists

- Homework1 (assigned 2020.05.22, due 2020.06.05)
- Homework2 (assigned 2020.06.05, due 2020.06.19)
- Homework3 (assigned 2020.06.19, due 2020.07.03)
- Homework4 (assigned 2020.07.03, due 2020.07.17)
- Homework5 (assigned 2020.07.17, due 2020.08.07)

## Course Outline:

` Dates Topics`

- 2020.05.15 Introduction to discrete-event systems; symbols, alphabets, strings (Introduction) (Lecture1)
- 2020.05.22 Languages, finite-state automata (Lecture2)
- 2020.05.29 Operations on automata (Lecture3)
- 2020.06.05 Supervisory control basics (Lecture4)
- 2020.06.12 Controllability, main result of supervisory control (Lecture5)
- 2020.06.19 Optimal supervisory control (Lecture6)
- 2020.06.27 Supervisory control examples, TCT design software (Lecture7)
- 2020.07.03 Decentralized supervisory control (Lecture8)
- 2020.07.10 Distributed control architecture (Lecture9)
- 2020.07.17 Distributed control by supervisor localization (Lecture10)
- 2020.07.31 Distributed control examples (Lecture11)
- 2020.08.07 Test week
- 2020.08.14 Partial observation, natural projection (Lecture12)
- 2020.08.21 Observability, partially-observed supervisory control (Lecture13)