Skip to Main Content
For the past decade, deadlock-free resource allocation has been an active area of research in flexible manufacturing. For the most part, researchers have assumed that allocated resources do not fail, with little research addressing how partially functional manufacturing systems should be controlled. In our previous work, we developed supervisory controllers to ensure robust deadlock-free operation for systems with both single and multiple unreliable resources. These controllers guarantee that parts requiring failed resources do not block the production of parts not requiring failed resources. This previous work assumed that parts requiring failed resources could be advanced into failure dependent buffer space (buffer space dedicated exclusively to parts requiring unreliable resources). Supervisors admitted only those states for which such a sequence of advancements was feasible. The research presented in this paper relaxes this assumption, since in some systems providing failure dependent buffer space might be too expensive. Here, we concentrate on distributing parts requiring failed resources throughout the buffer space of shared resources, again so that they do not block the production of part types not requiring failed resources. To achieve this, we develop three resource regions: the region of continuous operation, the region of failure dependency, and the region of distribution. We then develop supervisors for each of these regions, take their conjunction, and prove that the conjunctive supervisor satisfies the properties required for robust control. The supervisors are variants of the resource order policy, a correct and scalable deadlock avoidance policy developed in earlier work. The approach presented here requires no state enumeration and is polynomial in stable measures of system size.