Generating minimal siphons and traps for Petri nets

Petri nets have been used for modeling concurrent activities such as flexible manufacturing systems. Minimal siphons and traps are useful for checking reachability (whether the system can reach to a given state) and liveness (freedom of deadlocks) of some subclasses of Petri nets. In this paper, we show that mast of the classical theorems for siphons and traps for liveness and reachability are in fact only related to minimal siphons and traps. This paper also presents a new algorithm for generating minimal siphons and traps of Petri nets based on depth-first search of different combinations of places. The concept of siphon (trap) nets have been used in the algorithm to check whether a selected place should be included in a minimal siphon (trap). It reduces the search time significantly since the number of minimal siphons (traps) is often much smaller than the number of all siphons (traps).