An exercise in proving self-stabilization with a variant function (Q1115172): Difference between revisions

From MaRDI portal
Added link to MaRDI item.
RedirectionBot (talk | contribs)
Removed claim: author (P16): Item:Q751820
Property / author
 
Property / author: Joep L. W. Kessels / rank
Normal rank
 

Revision as of 18:06, 20 February 2024

scientific article
Language Label Description Also known as
English
An exercise in proving self-stabilization with a variant function
scientific article

    Statements

    An exercise in proving self-stabilization with a variant function (English)
    0 references
    1988
    0 references
    A ring of machines is called self-stabilizing if, from any (initial) state and regardless of the possible nondeterminacy, it is bound to become stabilized within a finite number of transitions. A variant function is a function mapping the system states on a well-founded set, i.e., an ordered set without an infinitely decreasing sequence. A straightforward way of proving that the system can always make a transition and then giving a variant function whose value decreases for each transition as long as the system is not stabilized. This implies that the function value is minimal only if the system is in a stabilized state. In this paper, the self-stabilization property of the system is proved in much the same way as loop termination is normally being proved, i.e., by means of a variant function. An attractive property of a self-stabilization proof based on a variant function is that such a proof is rather calculational: the invariant function reduces the verification of the design to a number of simple and independent calculations. In this respect, the role of the variant function in a self-stabilization proof is similar to that of an invariant predicate in a safety proof.
    0 references
    distributed processing
    0 references
    token passing
    0 references
    bound function
    0 references
    variant function
    0 references
    self-stabilization
    0 references

    Identifiers