Title :
Convergence refinement
Author :
Demirbas, Murat ; Arora, Anish
Author_Institution :
Dept. of Comput. & Inf. Sci., Ohio State Univ., Columbus, OH, USA
Abstract :
Refinement tools such as compilers do not necessarily preserve fault-tolerance. That is, given a fault-tolerant program in a high-level language as input, the output of a compiler in a lower-level language will not necessarily be fault-tolerant. We identify a type of refinement, namely "convergence refinement", that preserves the fault-tolerance property of stabilization. We illustrate the use of convergence refinement by presenting the first formal design of Dijkstra\´s little-understood 3-state stabilizing token-ring system. Our designs begin with simple, abstract token-ring systems that are not stabilizing, and then add an abstract "wrapper" to the systems so as to achieve stabilization. The system and the wrapper are then refined to obtain a concrete token-ring system, while preserving stabilization. In fact, the two are refined independently, which demonstrates that convergence refinement is amenable for "graybox" design of stabilizing implementations, i.e., design of system stabilization based solely on system specification and without knowledge of system implementation details.
Keywords :
client-server systems; finite automata; program compilers; refinement calculus; software fault tolerance; stability; 3-state stabilizing token-ring system; compilers; convergence refinement; fault-tolerant program; formal design; graybox design; high-level language; lower-level language; refinement tools; stabilization; stabilizing implementations; wrapper; Algorithm design and analysis; Concrete; Convergence; Fault diagnosis; Fault tolerance; Fault tolerant systems; High level languages; Information science; Program processors; Transformers;
Conference_Titel :
Distributed Computing Systems, 2002. Proceedings. 22nd International Conference on
Print_ISBN :
0-7695-1585-1
DOI :
10.1109/ICDCS.2002.1022309