Formal verification of dependable distributed protocols

Abstract Dependable distributed systems often employ a hierarchy of protocols to provide timely and reliable services. Such protocols have both dependability and real-time attributes, and the verification of such composite services is a problem of growing complexity even when using formal approaches. Our intention in this paper is to exploit the modular design aspects appearing in most dependable distributed protocols to provide formal level of assurance for their correctness. We highlight the capability of our approach through a case study in formal modular specification and tool-assisted verification of a timestamp-based checkpointing protocol. Furthermore, during the process of verification, insights gained in such a stack of protocols have assisted in validating some additional properties those dealing with failure recovery.

[1]  Jozef Hooman Verification of Distributed Real-Time and Fault-Tolerant Protocols , 1997, AMAST.

[2]  Kedar S. Namjoshi,et al.  On the completeness of compositional reasoning , 2000 .

[3]  Flaviu Cristian,et al.  A timestamp-based checkpointing protocol for long-lived distributed computations , 1991, [1991] Proceedings Tenth Symposium on Reliable Distributed Systems.

[4]  Egon Börger Specification and validation methods , 1995 .

[5]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[6]  Thomas A. Henzinger,et al.  jMocha: a model checking tool that exploits design structure , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[7]  Neeraj Suri,et al.  Modular composition of redundancy management protocols in distributed systems: an outlook on simplifying protocol level formal specification and verification , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[8]  Jozef Hooman,et al.  Formal specification and compositional verification of an atomic broadcast protocol , 1995, Real-Time Systems.

[9]  Flaviu Cristian,et al.  Understanding fault-tolerant distributed systems , 1991, CACM.

[10]  K. Gopinath,et al.  Verification of a Leader Election Algorithm in Timed Asynchronous Systems , 2001, FSTTCS.

[11]  Yuri Gurevich,et al.  Group membership protocol: specification and verification , 1995, Specification and validation methods.

[12]  Neeraj Suri,et al.  On simplifying modular specification and verification of distributed protocols , 2001, Proceedings Sixth IEEE International Symposium on High Assurance Systems Engineering. Special Topic: Impact of Networking.

[13]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[14]  Pankaj Jalote,et al.  Fault tolerance in distributed systems , 1994 .

[15]  John M. Rushby,et al.  Systematic Formal Verification for Fault-Tolerant Time-Triggered Algorithms , 1999, IEEE Trans. Software Eng..

[16]  Ernst-Rüdiger Olderog,et al.  Verification of Sequential and Concurrent Programs , 1997, Graduate Texts in Computer Science.

[17]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[18]  Neeraj Suri,et al.  Formally Verified On-Line Diagnosis , 1997, IEEE Trans. Software Eng..

[19]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[20]  Anant Agarwal,et al.  Scalability of parallel machines , 1991, CACM.