Self-Stabilization is a property of distributed algorithms that is very important for the fault-tolerance of systems. A distributed algorithm is self –stabilizing if its specification is satisfied after a stabilization time regardless of the arbitrary initial configuration.