A siphon is an important structure object for deadlock control. Insufficiently marked siphons lead to deadlocks. Deadlock occurs due to inappropriate resource sharing. Hence most of the research focuses on the minimal siphon extraction problem covering a set of places representing resources, which, for general Petri Nets is known to be an NP‐Complete problem. Control places and arcs are often added to the original net to prevent a siphon from becoming insufficiently marked. The number of siphons grows rapidly with the size of the net leading to very complicated control nets. Efficient enumeration of problematic siphons is an urgent research topic. Earlier, we proposed fast algorithms to find all such siphons for both S3PR and S2CPR (System of Synchronized Choice Processes with Resources). However, it was assumed that siphons occur between adjacent processes. This paper removes this assumption and develops an algorithm for S3PMR which is more powerful than S3PR by allowing a state to use more than one resource and than S2CPR by allowing more than one state to use the same resources. Comparisons with previously published work have been made.
Journal of the Chinese Institute of Engineers,33(7),995-1004