Weighted Petri nets are common tools for modeling and validating discrete event systems involving resource allocation, such as flexible manufacturing systems (FMSs). A subclass of weighted Petri nets called a system of sequential systems with shared resources (S 4 R) has the power for modeling complex FMSs where the execution of an operation may require multiple resource types and multiple units of some resource types. Deadlock resolution is a crucial issue for the operation of an FMS. A direct and efficient policy is developed in this paper for detecting deadlock markings by extracting a weighted resource flow graph (WRFG) from an S 4 R and recovering them by synthesizing a recovery-transition-based controller. This study contributes to the field with five folds: (1) with S 4 R, an efficient integrated policy is put forward for robust supervisor synthesis; (2) it enhances an algorithm for extracting the WRFG from an S 4 R to reveal the shared resource competitions by different processes; (3) to detect partial deadlock markings, a technique for finding weighted circular wait graphs (WCWGs) in WRFG is presented; (4) with WCWGs, an algorithm is designed for the design of recovery-transition-based controller such that the resulting controlled system becomes deadlock-free; and (5) it presents a comprehensive analysis to demonstrate the proposed method by using the Integrated Net Analyzer (INA). With the proposed policy, it is not necessary to generate a reachability graph, making the method efficient. Finally, the performance of the proposed policy is illustrated by some commonly used examples.INDEX TERMS Multi-unit resource system, flexible manufacturing system, deadlock detection and recovery, liveness, weighted Petri nets, graph theory
I. INTRODUCTIONMulti-unit resource systems (MURS) are made up of multiple processes and resources. Flexible manufacturing systems (FMSs) [1]-[5], automated manufacturing systems (AMSs) [6]-[12], various resource allocation systems (RASs) [14], [15], and multi-processor system-on-chips (MPSoCs) [16] are examples of such systems, which fall into the category of discrete event systems (DESs) [13]. The resources in an FMS include robots, machines, fixtures, and buffers. As a kind of MURSs, an FMS is capable of processing multiple types of parts in accordance with a predefined sequence of operations by sharing resources. Circular wait [17] caused by shared-resource competition is the indication of deadlock occurrence that lowers the throughput rates and resource utilization [18]-[20], and even leads to catastrophic outcomes. Thus, it is crucial to resolve dead-lock problem in FMSs.Deadlock resolution issues for MURSs have been extensively investigated by researchers and practitioners [21]- [24], which is also important for production scheduling [91]. Depending on the number of instances (or units) of each resource type, an FMS is categorized as a single-or multi-unit resource system. If there is one instance only for every resource type in an FMS, it is a single-unit resource system, oth...