Much effort has been invested in recent years to propose self-stabilizing programs for various purposes. Only little attention has been paid to the structured, formal design and verification of such programs. The current paper presents a sound and formal principle for designing, hence verifying self-stabilizing programs. This principle, which combines programs into larger ones, is formulated in linear time temporal logic and captures the underlying intuition of many designers of self-stabilizing programs in a natural way. The proposed principle is applied to a program, due to Ghosh and Karaata (1991), for coloring a graph.
展开▼