A Termination Detection Algorithm: Specification and Verification

We propose a methodology for the specification and verification of distributed algorithms using Gurevich's concept of Abstract State Machines. The methodology relies on a distinction between a higher-level specification and a lower-level specification of an algorithm. The algorithm is characterized by an informal problem description. A justification assures the appropriateness of the higher-level specification for the problem description. A mathematical verification assures that the lower-level specification implements the higher-level one and is based on a refinement-relation. This methodology is demonstrated by a wellknown distributed termination detection algorithm originally invented by Dijkstra, Feijen, and van Gasteren.

[1]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[2]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[3]  Reinhard Gotzhein,et al.  A generic approach to the formal specification of requirements , 1997, First IEEE International Conference on Formal Engineering Methods.

[4]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[5]  Egon Börger,et al.  High Level System Design and Analysis Using Abstract State Machines , 1998, FM-Trends.

[6]  Egon Börger,et al.  The bakery algorithm: yet another specification and verification , 1993, Specification and validation methods.

[7]  A. J. M. van Gasteren,et al.  Derivation of a Termination Detection Algorithm for Distributed Computations , 1983, Inf. Process. Lett..

[8]  Yuri Gurevich,et al.  The Sequential ASM Thesis , 2001, Bull. EATCS.

[9]  Edsger W. Dijkstra,et al.  Termination Detection for Diffusing Computations , 1980, Inf. Process. Lett..