Liveness enforcing supervision for resource allocation systems with process synchronizations and unreliable resources

Song Foh Chew, Purdue University


A resource allocation system is characterized by a set of system resources, each available at a finite level, a set of part types that may be processed simultaneously through the system according to sequences of processing stages, with each stage requiring a predetermined set of the system resources, and a set of material handling devices. The underlying workflow logic, the resource request structure, and the reliability of the system resources constitute various aspects of research for the system. Synchronizations commonly occur in workflows. A process may comprise several sub-processes independently until some synchronization stage is attained; at which point, sub-processes re-combine through merging and/or splitting and then continue as a new set. We consider resource allocation systems with process synchronizations. Resource allocation in this class of systems is complicated by the fact that quasi-liveness is NP-complete, implying that general algorithms for identifying resource allocation sequences to complete a single process will be super-polynomial. Thus, developing computationally tractable methods that coordinate resource allocation across sets of processes is a challenging research problem. In this work, we use a subclass of Petri nets called Generalized Augmented Marked Graphs to define the class of systems we are considering here. We then present a reachability algorithm that enumerates all possible sequences of resource allocations that are capable to complete a single process each and illustrate how to use a standard deadlock avoidance policy to coordinate resource allocation across processes when these enumerated sequences are available. Because sequence enumeration is exponential for the general class of systems, we next focus on developing polynomial methods that identify resource allocation sequences for a special resource allocation sub-class; namely, single-unit resource allocation systems with merging but no splitting. We next look into deadlock and blocking problems in resource allocation systems with several unreliable system resources. Almost all work to date assumes that allocated resources do not fail in a system. In this work, however, we develop supervisory control policies to allocate resources such that the failures or repairs of any unreliable resources do not cause blocking to propagate through a system to effectively stall some portions of the system. Specifically, when an unreliable resource fails, all part types not requiring the failed resource must continue to produce at any time. As a failed resource is repaired, a smooth transition to upgraded operation must be ensured. To that end, the supervisory controller must ensure safety for the system while avoiding states that will not result in feasible initial states for a perturbed system when an unreliable resource fails. In the meantime, the controller must also avoid states that will not result in feasible initial states for an upgraded system when a failed unreliable resource is repaired. We examine properties that a supervisory controller must possess to deal effectively with these problems.




Lawley, Purdue University.

Subject Area

Industrial engineering|Mechanical engineering

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server