1 Introduction
A flexible manufacturing system (FMS) is an integrated computer-controlled complex of automated material handling devices and numerically controlled machine tools that can simultaneously process medium-sized volumes of a variety of part types. To effectively operate an FMS and meet its production objectively, the use of limited resources in various competing jobs to be carefully controlled or coordinated. Since the various competing jobs executed concurrently in an FMS, there exists competition for the limited resources, which may lead to deadlock situations that are undesirable phenomena in a highly automated FMS. Three approaches based on resource allocation have been developed to cope with the problem of deadlocks in FMS. The first approach is deadlock detection and recovery {2–3], which permits the occurrence of deadlocks. The second approach is deadlock avoidance [3]–[6], where at each system state, an on-line control policy is used to determine system evolutions. The third approach, called deadlock prevention, is achieved either by effective system design or by using an off-line mechanism to control requests for resources to ensure that deadlock never occurs [7]–[8] [12]. A deadlock prevention method establishes the control policy in a static way, so that, once established, we are sure that the system cannot reach undesirable deadlock state.