Modern engineering systems involve multiple subsystems that have to work together seamlessly in order to complete the tasks for which they are designed. For example, automated manufacturing involves multiple pieces of equipment that work autonomously and concurrently. Software also may incorporate multiple processes and threads that run concurrently. Unless the operation of the concurrent components of a system is somehow coordinated, undesirable situations may occur, such as robot collisions, deadlocks, processes overwriting memory data used by other processes, and so on. The coordination problem is often challenging, and without careful consideration, it is likely to obtain a suboptimal solution, or an incorrect solution that does not work right at all times. The Supervisory Control theory provides a mathematical framework allowing coordination problems to be analyzed precisely and solved correctly.
At LeTourneau University, EEGR5973 Supervisory Control was offered during the summer of 2013. The class has focused primarily on supervisory control methods for software applications, and emphasized the ACTS tools for supervisory control.
Textbook: Much of the material covered in this class was related or coming from Supervisory Control of Concurrent Systems: A Petri Net Structural Approach, by M.V. Iordache and P.J. Antsaklis, Birkhauser Boston, 2006.
Homework: Weekly homework sets were assigned. The assignments have relied on the ACTS software and the supervisory control toolbox SPNBOX.