🤖 AI Summary
This paper addresses the synthesis of deadlock-avoidance controllers for distributed systems with locking primitives—a problem known to be undecidable in general, even for systems with only three processes each requesting at most two locks. To restore decidability, we propose two novel, practically motivated constraints: (1) the *two-lock restriction*, under which we establish Σ₂^P-completeness of the synthesis problem and identify sufficient conditions for PTIME solvability; and (2) the *nested-locking model*, for which we develop a controller synthesis framework that is NEXPTIME-complete yet constructively realizable. Leveraging formal methods, distributed control theory, and computational complexity analysis, our approach successfully synthesizes provably deadlock-free distributed controllers for canonical benchmarks—including the dining and drinking philosophers problems—demonstrating both theoretical decidability and practical applicability of the proposed constraints.
📝 Abstract
We consider the distributed control synthesis problem for systems with locks. The goal is to find local controllers so that the global system does not deadlock. With no restriction this problem is undecidable even for three processes each using a fixed number of locks. We propose two restrictions that make distributed control decidable. The first one is to allow each process to use at most two locks. The problem then becomes Sigma2P-complete, and even in PTIME under some additional assumptions. The dining philosophers problem satisfies these assumptions. The second restriction is a nested usage of locks. In this case the synthesis problem is NEXPTIME-complete. The drinking philosophers problem falls in this case.