  A supervisory controller controls and coordinates the behavior of different
components of a complex machine by observing their discrete behaviour.
Supervisory control theory studies automated synthesis of controller models,
known as supervisors, based on formal models of the machine components and a
formalization of the requirements. Subsequently, code generation can be used to
implement this supervisor in software, on a PLC, or embedded microprocessor. In
this article, we take a closer look at the control loop that couples the
supervisory controller and the machine. We model both event-based and
state-based observations using process algebra and bisimulation-based
semantics. The main application area of supervisory control that we consider is
coordination, referred to as supervisory coordination, and we give an academic
and an industrial example, discussing the process-theoretic concepts employed.
