  In practice, we can not only disable some events, but also enforce the
occurrence of some events prior to the occurrence of other events by external
control. In this paper, we combine these two control mechanisms to synthesize a
more powerful supervisor. Here our control goal is to design an isolation
supervisor which ensures in the closed-loop system, faults are isolatable in
the sense that after a fault occurs, we can determine which type the fault
belongs to by observing the output of the closed-loop system. The isolation
supervisor starts to work when the occurrence of faults is detected. We then
solve the isolation supervisor synthesis problem as follows. For a given
discrete event system, we firstly construct a bipartite transition system which
includes all feasible isolation supervisors. An isolation supervisor is
feasible if it enforces only events that are physically possible. We then
develop an algorithm to check whether the synthesis problem is solvable or not.
The algorithm can also be used to find a valid isolation supervisor if the
synthesis problem is solvable. The method of combining two control mechanisms
can be used to synthesize more powerful supervisors for other supervisory
control problems of discrete event systems as well.
