88
J. Beauquier et al.
3.4 Basic procedure and ϕ-refinement
breaks, i.e. the number of neighbouring states q, qꢀ of the
string which differ by at least one unit. In contrast, our method
proves the convergence, with the help of measure Br only: we
will focus on Br-preserving infinite derivations, i.e. infinite
derivations which preserve the number of breaks. Since Br
is non-increasing and bounded, any infinite derivation has an
infinite Br-preserving suffix, so there is no loss of generality.
To obtain the system Sꢀ, we modify the rules above into Br-
preserving rules as follows:
Theorem5suggeststoproveself-stabilizationbythefollowing
basic procedure:
• Generate all top chains t1 → · · · → tn via S, until tn = ti
for some i < n.
• If the only infinite chains generated are of the form t1 →
· · · → ti → · · · tn = ti with all instances of tn in L, then
S is self-stabilizing. Otherwise, S is not self-stabilizing.
In order to prove self-stabilization, it is then (necessary
and) sufficient to generate only 1st-order sequences t1
· · · → ti → · · · tn that extend top rules, instead of blindly
generating all the possible ground derivations, starting from
arbitrary ground words. The generation procedure is restric-
tive because the procedure is first-order and manipulates one-
variable words of the form #uWv#, instead of all the (infi-
nite) sets of their ground instances. It is also restricted by the
fact that sequences always start with the left-hand side of a top
rule.
M1: #X(q + 1)qqY # → #X(q + 1)(q + 1)qY #
M2: #Xqq(q + 1)Y # → #Xq(q + 1)(q + 1)Y #
→
It is easy to show that Sꢀ is a Br-preserving version of S
(w →S wꢀ iff w →S wꢀ ∧ Br(w) = Br(wꢀ)) and that
ꢀ
Sꢀ − Top is terminating.
ꢀ
S
Remark. It is sometimes convenient to use a measure ϕ that is
“never decreasing”, instead of never increasing. The enhanced
theorem still holds, because again, in any infinite derivation
via S, all the steps, after a finite number of them, must be
ϕ-preserving (provided that ϕ is bounded upward, e.g., by the
numberN ofmachinestheringismadeof). Suchareasoningis
used by Burns and Pachl(see [7], p. 339), who focus on infinite
derivations preserving the number of “dynamic segments” of
configurations. We also use a non-decreasing mesure ϕ in the
example of Sect.5.3.
Theorem 5, and the associated procedure, can be refined
by exploiting a measure, say ϕ, over words, which “never
increases” when applying a rule i.e. such that: w → wꢀ ⇒
ϕ(w) ≥ ϕ(wꢀ). This is a relaxed assumption, with respect to
norms that, as required in traditional self-stabilization proof
methods, must “always decrease” (i.e., roughly speaking,
norms ψ such that w → wꢀ ⇒ ψ(w) > ψ(wꢀ)). In addition
with such a non-increasing mesure ϕ, we assume given a ϕ-
ꢀ
Henceforth, when given a measure ϕ and an associated
system Sꢀ, we implicitly focus on the generation of top chains
via Sꢀ instead of S. This allows us to restrict even more the
number of generated chains. However, in practice, in spite of
this refinement, the generation procedure does not terminate,
but yields infinitely many chains. To solve this problem, we
introduce in Sect.4 a notion of chains over regular sets of
words (instead of simply words) combined with a notion of
“generalization”.
preserving version Sꢀ of S, that is a system Sꢀ = Middle
∪
S
Bottom ∪ Top such that: w →S wꢀ iff w →S wꢀ ∧
ꢀ
ꢀ
ꢀ
S
ϕ(w) =Sϕ(wꢀ). Now in any infinite derivation via S, all the
rewrite steps, after a finite number of them, are necessarily
ϕ-preserving (because of the non-increasing property), and
may be viewed as rewrite steps via Sꢀ. In order to prove self-
stabilization of S, it becomes necessary and sufficient to show
the absence of quasi-cyclic top chains, except those ending
with an instance of L, via Sꢀ (instead of S) as far as Sꢀ −Top
ꢀ
S
(instead of S − Top ) is terminating. More precisely, Theo-
S
4 A sufficient condition for self-stabilization
rem 5 becomes:
Theorem 12. Let S = Middle ∪ Top ∪ Bottom be a
S
S
S
As mentioned earlier, top chains, when generated in a brute
manner, are frequently in infinite number. However it is of-
ten possible to discover some recurrent forms for words tn
appearing at the end of chains. Consider again the subset of
rules Sꢀ = {T4, B1, M1, M4} from Beauquier-Debas system:
rewrite system and L a set of configurations. Let ϕ be a non-
increasing mesure and Sꢀ = Middle ∪ Top ∪ Bottom
ꢀ
ꢀ
ꢀ
S
S
S
a ϕ-preserving version of S. If
(0) each ground word is reducible via S,
(1) L is closed via S, and
(3’) Sꢀ − Top is terminating.
ꢀ
S
T4 : #X12# → #X21#,
B1 : #2X1# → #1X2#,
M1 : #X01Y # → #X10Y #,
M4 : #X02Y # → #X20Y #.
Then S is self-stabilizing w.r.t. L iff there is no quasi-cyclic
top chain t1 → · · · → tn via Sꢀ, such that un ∈/ L for some
ground instance un of tn.
Example. ConsiderthemiddlerulesofGhosh’salgorithm(see
Sect.5 for details):
Starting from T4, and applying iteratively rule M4, one gen-
erates chains of the form:
M1: #X(q + 1)qY # → #X(q + 1)(q + 1)Y #
M2: #Xq(q + 1)Y # → #X(q + 1)(q + 1)Y #
where q ∈ {0, 1, 2, 3} and ‘+’ is addition modulo 4.
#W12# → #W21#,
The convergence proof uses a norm function (Br, Ds) such
that either Br or Ds strictly decreases at each step, but indi-
vidually Br and Ds are only non-increasing functions. While
Ds is a very subtle function, Br is simply the number of
#W012# → #W021# → #W201#,
#W0012# → #W0021# → #W0201# → #W2001#,
· · ·