On Process-Algebraic Proof Methods for Fault Tolerant Distributed Systems [chapter]

Morten Kühnrich, Uwe Nestmann
2009 Lecture Notes in Computer Science  
Distributed Algorithms are hard to prove correct. In settings with process failures, things get worse. Among the proof methods proposed in this context, we focus on process calculi, which offer a tight connection of proof concepts to the actual code representing the algorithm. We use Distributed Consensus as a case study to evaluate recent developments in this field. Along the way, we find that the classical assertional style for proofs on distributed algorithms can be used to structure
more » ... tion relations. For this, we propose the definition of uniform syntactic descriptions of reachable states, on which state-based assertions can be conveniently formulated. As a result, we get the best of both worlds: on the one hand invariant-style representation of proof knowledge; on the other hand the bisimulation-based formal connection to the code. 1 We prefer to use the term process calculus instead of process algebra, when we do not use proper algebraic laws. However, many people use the terms as synonyms.
doi:10.1007/978-3-642-02138-1_13 fatcat:ac6cmzi4yfdrbbr6inywlmtos4