To control a discrete event system, a supervisor is introduced which enables and disables events in order to prevent undesirable behavior, that is, the events that violate safety and other constraints. It is proposed that, in some applications, a supervisor can take chances by not preventing undesirable behavior that has very small probability of occurring. This can lead to better performance. A concise and "logical" model is also proposed, which allows us to combine controlled systems using conjunction, disjunction, shuffle and sequential compositions. Forceful controllers are then introduced, which force an event if a given condition is true. Finally, decentralized and hierarchical control are formalized. Conditions for decentralization will be investigated. If this research is successful, it will enhance the applicability of the theory of supervisory control to complex discrete event systems such as manufacturing systems, computer and communication systems.