State space abstraction for parameterized self-stabilizing embedded systems

Self-stabilizing systems are systems that automatically recover from any transient fault. Proving the correctness of a parameterized self-stabilizing system, i.e., a system composed of an arbitrary number of processes, is a challenging task. For the verification of parameterized systems the method of control abstraction has been developed. However, control abstraction can only be applied to systems in which each process has a fixed number of observable variables. In this article, we propose a technique to abstract a parameterized self-stabilizing system, whose processes have a parameterized number of observable variables, to a system with fixed number of observable variables. This enables the use of control abstraction for verification. The proposed technique targets low-atomicity, shared-memory, asynchronous systems. We establish the completeness of the method under reasonable conditions and demonstrate its effectiveness by applying it on a number of self-stabilizing distributed systems.

[1]  Amir Pnueli,et al.  Liveness with (0, 1, infty)-Counter Abstraction , 2002, CAV.

[2]  Sandeep S. Kulkarni,et al.  Self-stabilizing Deterministic TDMA for Sensor Networks , 2005, ICDCIT.

[3]  Anish Arora,et al.  Distributed Reset , 1994, IEEE Trans. Computers.

[4]  Amir Pnueli,et al.  Network Invariants in Action , 2002, CONCUR.

[5]  Amir Pnueli,et al.  Control and data abstraction: the cornerstones of practical formal verification , 2000, International Journal on Software Tools for Technology Transfer.

[6]  Helmut Veith,et al.  Environment Abstraction for Parameterized Verification , 2006, VMCAI.

[7]  Martín Abadi,et al.  The Existence of Refinement Mappings , 1988, LICS.

[8]  Amir Pnueli,et al.  ON TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS , 2006 .

[9]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

[10]  Mikhail Nesterenko,et al.  Fault-Tolerance Verification of the Fluids and Combustion Facility of the International Space Station , 2006, 26th IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW'06).

[11]  Vineet Kahlon,et al.  Reducing Model Checking of the Many to the Few , 2000, CADE.

[12]  Mohamed G. Gouda,et al.  Stabilization and pseudo-stabilization , 2005, Distributed Computing.

[13]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[14]  Mohamed G. Gouda,et al.  Stabilizing Communication Protocols , 1991, IEEE Trans. Computers.

[15]  Karsten Stahl,et al.  Verification of Parameterized Protocols , 2001, J. Univers. Comput. Sci..

[16]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[17]  Amir Pnueli,et al.  Verification by Augmented Finitary Abstraction , 2000, Inf. Comput..

[18]  Robert P. Kurshan,et al.  A structural induction theorem for processes , 1989, PODC.

[19]  Nitin H. Vaidya,et al.  Leader election algorithms for mobile ad hoc networks , 2000, DIALM '00.

[20]  Sandeep S. Kulkarni,et al.  Collision-Free Communication in Sensor Networks , 2003, Self-Stabilizing Systems.

[21]  Shlomi Dolev,et al.  SuperStabilizing protocols for dynamic distributed systems , 1995, PODC '95.