A new Technique for proving Self-Stabilization under the Distributed Scheduler ⋆ Sven Köhler and Volker Turau Institute of Telematics Hamburg University of Technology Hamburg, Germany {sven.koehler, turau}@tu-harburg.de Abstract. Proving stabilization of a complex algorithm under the dis- tributed scheduler is a non-trivial task. This paper introduces a new method which allows to extend proofs for the central scheduler to the distributed scheduler. The practicability of the method is shown by ap- plying it to two existing algorithms, for which stabilization under the distributed scheduler was an open problem. 1 Introduction The notion of self-stabilization was coined by E. W. Dijkstra [2]. Self-stabilizing distributed systems are guaranteed to converge to a desired state or behaviour in finite time, regardless of the initial state. Convergence is also guaranteed after the system is affected by transient faults, no matter their scale or nature. This makes self-stabilization an elegant and formal approach for non-masking fault- tolerance. Self-stabilizing algorithms can be designed with different schedulers in mind. Possible schedulers include the central scheduler (only one node can make a move in each step), the distributed scheduler (any number of nodes make a move in each step), and the synchronous scheduler (all nodes make a move in each step). In an early manuscript [3] (written 1973), Dijkstra discusses his choice of the scheduler. Unsure, whether non-trivial algorithms for the distributed scheduler exist, he decides to design his self-stabilizing algorithms for a “rather powerful daemon, that may be awkward to implement”: the central scheduler. He points out that his choice avoids difficulties like oscillation which may easily occur when using the distributed scheduler. The model of the central scheduler provides rather strong assumptions. They make it easy to develop and prove correctness of self-stabilizing algorithms. On the other hand, the distributed scheduler is the more realistic model. Even though some algorithms that are designed for the central scheduler also stabilize under the distributed scheduler, the majority of algorithms does not have this property. In these cases new algorithms have to be devised or existing algorithms ⋆ This research was funded by the German Research Foundation (DFG), contract number TU 221/3-1.