Skip to Main Content
This work presents a deadlock prevention policy in polynomial complexity for a class of generalized Petri nets, namely G-systems, which allows multiple resource acquisitions and flexible routings with assembly and disassembly operations. The proposed method aims to properly adjust resource allocation requirements of the various requesting processes in terms of different resource partial orders. Consequently, the supervised system has no deadlock state by imposing on the operation places a set of linear inequality controllability constraints that are implemented by monitors. Moreover, a structurally simple liveness-enforcing net supervisor can be obtained after the redundant constraints are removed. The proposed method can usually lead to a suboptimal supervisor with high computational efficiency than the existing methods. Finally, an application of this method to a G-system is presented.