Abstract
Siphons are a kind of special structural objects in a Petri net, and plays a key role in synthesizing a live Petri net controller for flexible manufacturing systems. In order to obtain a small size Petri net controller, this paper introduces the concept of a controllable siphon basis. It then proves that a live Petri net controller can be established by adding a control place and related arcs to each strict minimal siphon (SMS) in a controllable siphon basis. The initial markings of control places are determined by an integer linear program. The number of control places in the obtained controllers is the same as the number of SMSs in the controllable siphon basis, while the latter is no more than that of the activity places in a Petri net model. An algorithm for constructing a controllable siphon basis is proposed, and a new deadlock prevention policy based on it is established. A few examples are provided to demonstrate the proposed concepts and policy and used to compare them with the state-of-the-art methods.