EECS 566: Discrete Event Systems

Instructor: Professor Stéphane Lafortune

Coverage
This course is intended for engineering and computer science graduate students who want to learn about dynamic systems with discrete state spaces and event-driven transitions. Discrete Event Systems, as they are called, arise in the modeling of technological systems such as automated manufacturing systems, communication networks, software systems, process control systems, and transportation systems. In embedded and networked systems, discrete event dynamics are coupled with continuous dynamics, giving rise to what are called Hybrid Systems or Cyber-Physical Systems. This course will introduce students to the modeling, analysis, and control of Discrete Event Systems. The primary emphasis will be on the logical, or untimed, behavior and associated verification and supervisory control problems. Timed Automata and Hybrid Automata will also be introduced. Examples from the above areas will be used throughout the course to illustrate the main concepts.

EECS 566 is also open to undergraduate seniors, but they should consult the instructor first. There are no specific course prerequisites. 566 is offered in the fall semesters of even years.

Textbook(s)
“Introduction to Discrete Event Systems – Third Edition” by C. Cassandras and S. Lafortune, Springer, 2021

Syllabus
Most of Chapters 2, 3, 4, and 5 of textbook.

  • Finite-state automata models: notions of deadlock and livelock; product and parallel composition; observer and diagnoser automata; analysis of safety and liveness properties.
  • Petri net models: reachability analysis with coverability tree; structural analysis using incidence matrix.
  • Supervisory control of systems modeled by automata: notions of controllability and observability; control under full and partial observation; nonblocking control.
  • Supervisory control of Petri nets by monitor places.
  • Timed automata models: parallel composition; reachability analysis by untiming.
  • Hybrid automata models of hybrid systems: basic notions
  • Brief introduction to temporal logic

Various software tools will be used in the course.