13 research outputs found

    Algebraic Deadlock Avoidance Policies for Sequential Resource Allocation Systems

    No full text
    As many contemporary technological applications move to operational modes of more extensive and flexible automation, there is a rising need to design and control the underlying resource allocation not only for efficiency, but also for logical correctness and internal consistency. The material presented in this chapter offers a unifying and comprehensive treatment of a class of policies that have been proposed as an effective and efficient solution to this emerging class of logical control problems

    Liveness-enforcing supervision for resource allocation systems with uncontrollable behavior and forbidden states

    No full text

    Deadlock avoidance policies for automated manufacturing cells

    No full text

    Plan Repair in Conflict-Free Routing

    No full text
    Abstract. In conflict-free routing a set of agents have to traverse a common infrastructure without interfering with each other. Maza and Castagna [1] showed how route plans can be repaired by maintaining the priority of agents on infrastructure resources. They also developed an algorithm that allows agents to change priorities to avoid long waits. We extend the work of Maza and Castagna by (i) specifying an algorithm that allows more priority changes, and by (ii) defining a graph structure that can predict exactly which priority changes will lead to a deadlock, and which will not. Our experiments show that our algorithm performs around twice as many priority changes as Maza and Castagna’s algorithm. Also, the average delay produced by our algorithm is lower in our experiments, although there is no clear relation between the number of priority changes and the delay: priority changes seem the most effective when the system is not fully congested, and when there are few incidents that cause delay.

    Thread Allocation Protocols for Distributed Real-time and Embedded Systems

    No full text
    Abstract. We study the problem of thread allocation in asynchronous distributed real-time and embedded systems. Each distributed node handles a limited set of resources, in particular a limited thread pool. Different methods can be invoked concurrently in each node, either by external agents or as a remote call during the execution of a method. In this paper we study thread allocation under a WaitOnConnection strategy, in which each nested upcall made while a thread is waiting must be made in a different thread. We study protocols that control the allocation of threads to guarantee the absence of deadlocks. First, we introduce a computational model in which we formally describe the different protocols and their desired properties. Then, we study two scenarios: a single agent performing sequential calls, and multiple agents with unrestricted concurrency. For each scenario we present (1) algorithms to compute the minimum amount of resources to avoid deadlocks, and (2) run-time protocols that control the allocation of these resources.
    corecore