Skip to main navigation Skip to search Skip to main content

High-level executable specifications of distributed algorithms

  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

9 Scopus citations

Abstract

This paper describes a method for specifying complex distributed algorithms at a very high yet executable level, focusing in particular on general principles for making properties and invariants explicit while keeping the control flow clear. This is critical for understanding the algorithms and proving their correctness. It is also critical for generating efficient implementations using invariant-preserving transformations, ensuring the correctness of the optimizations. We have studied and experimented with a variety of important distributed algorithms, including well-known difficult variants of Paxos, by specifying them in a very high-level language with an operational semantics. In the specifications that resulted from following our method, critical properties and invariants are explicit, making the algorithms easier to understand and verify. Indeed, this helped us discover improvements to some of the algorithms, for correctness and for optimizations.

Original languageEnglish
Title of host publicationStabilization, Safety, and Security of Distributed Systems - 14th International Symposium, SSS 2012, Proceedings
Pages95-110
Number of pages16
DOIs
StatePublished - 2012
Event14th International Symposium on Stabilization, Safety, and Security of Distributed Systems, SSS 2012 - Toronto, ON, Canada
Duration: Oct 1 2012Oct 4 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7596 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference14th International Symposium on Stabilization, Safety, and Security of Distributed Systems, SSS 2012
Country/TerritoryCanada
CityToronto, ON
Period10/1/1210/4/12

Fingerprint

Dive into the research topics of 'High-level executable specifications of distributed algorithms'. Together they form a unique fingerprint.

Cite this