• Home
  • Search
  • Modeling and Verification of Distributed Algorithms in Theorem Proving Environments
  • https://doi.org/10.14279/depositonce-3974Copy DOI Icon

Modeling and Verification of Distributed Algorithms in Theorem Proving Environments

Show More
  • Abstract
  • Literature Map
  • References
  • Similar Papers
Abstract

The field of application for distributed algorithms is growing with the ongoing demand for new network applications. Wherever a global goal must be achieved by a number of peers, a distributed algorithm consisting of local computations and communication protocols must be developed. In asynchronous environments the design of a distributed algorithm must respect the fact that processes may vary in speed and that messages might be delayed for an arbitrarily long time. Moreover, it is often required that the algorithm still works in the presence of crash failures, i.e., in scenarios, where some processes stop working at some time. The complex nature of concurrent executions in distributed systems often hinder the application of common methods for modeling and verification. Although many different formal approaches for modeling fault tolerant distributed algorithms, like e.g. I/O automata and process calculi have been proposed, many works in the field of distributed systems use informal pseudo-code representations to introduce new algorithms. On most cases this leads to informal and crude arguments for correctness, which usually become incomprehensible if all race conditions must be taken into account. This work proposes new formal strategies to model and verify distributed algorithms, whereas we focus on two main goals. Firstly, we introduce a means to satisfy a designer’s demands by using methods that are easy to understand and to work with and which are very similar to common applied methods as e.g. TLA and Abstract State Machines. Secondly, our strategies are suitable for the formal use in a theorem proving environment. This enables mechanical verification of our algorithms and therefore, we are able to produce machinechecked proofs for correctness. Our model adopts abstractions from the work of Fuzzati, which examines two similar distributed algorithms in a logical framework. We lifted these abstractions to a more general level to make them suitable and reusable for as many distributed algorithms as possible. Furthermore, we present a new method to place local computation steps in the respective global context. The advantage of our method is that, on the on hand, like with pseudo code, computations can be described as local steps, but, on the other hand, it is possible to formally reason over global system states. Our model for communication mechanisms comprises modules for different kinds of message passing, broadcasts, and shared memory access. We are convinced that our model can easily be extended to support almost all kinds of communication infrastructures that can formally be described. We show how properties that have to be verified can be expressed in terms of our model to enable formal reasoning. Furthermore, we present appropriate strategies to verify different classes of properties. For the theorem proving environment Isabelle/HOL we provide a library which incorporates all introduced abstractions and can, therefore, be reused and extended for further applications, new algorithms, and further verification projects. Finally, we present case studies for the verification of different distributed algorithms to demonstrate the applicability of our strategies. Four known algorithms are verified in our model using our framework for Isabelle/HOL. The algorithms vary in complexity, the used communication infrastructure, the failure model, and other constraints, so that many different modeling and verification aspects are exemplified.

Similar Papers
  • Research Article
  • Citations60

A fast distributed shortest path algorithm for a class of hierarchically clustered data networks

  • Jun 01, 1992
  • IEEE Transactions on Computers
  • J.K Antonio +2
  • Research Article
  • Citations1

Computing in Large-Scale Dynamic Systems

  • May 29, 2013
  • Research Repository (Delft University of Technology)
  • Andrei Pruteanu
  • Research Article

Atomic transfer for distributed systems

  • Jul 06, 2018
  • Open Scholarship Institutional Repository (Washington University in St. Louis)
  • Kenneth J Goldman +1
  • Front Matter

Preface: Volume 62

  • Jun 01, 2002
  • Electronic Notes in Theoretical Computer Science
  • Marina Lenisa +1
  • Book Chapter
  • Citations5

A Logical Framework for Distributed Systems and Communication Protocols

  • Jan 01, 1998
  • José Meseguer
  • Book Chapter
  • Citations12

Three selected case studies in verification

  • Jan 01, 1995
  • Thomas Fuchß +3
  • Book Chapter
  • Citations41

Process Algebra with Probabilistic Choice

  • Jan 01, 1999
  • Suzana Andova
  • Research Article

Facilitating parallel and distributed computing

  • Jan 03, 2001
  • Scalable Computing Practice and Experience
  • L M Patnaik +2
  • Supplementary Content

Applying formal methods to distributed algorithms using local-global relations

  • Jan 01, 2011
  • K Mani Chandy +1
  • Research Article
  • Citations1

The specification of a generic multicomputer using Lotos

  • Feb 01, 1995
  • ACM SIGPLAN Notices
  • J A Gallud +1
  • Book Chapter

7 Formal description methods

  • Jan 01, 2012
  • Hartmut König
  • Research Article
  • Citations22

Parameterized verification

  • Jun 24, 2016
  • International Journal on Software Tools for Technology Transfer
  • Parosh A Abdulla +1
  • Research Article
  • Citations1

Using binary decision diagrams for representation and analysis of communication protocols

  • Jan 01, 2000
  • Computer Networks
  • R Sisto
  • Book Chapter
  • Citations2

Protocol Specification and Design

  • Jan 01, 2020
  • Drago Hercog
  • Dissertation
  • Citations2

Algorithms and Data Structures for Parametric Analysis of Real-Time Systems

  • Jan 01, 2009
  • Patryk Chamuczynski
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.