Self-stabilization preserving compiler

Shlomi Dolev, Yinnon Haviv, Mooly Sagiv

Research output: Contribution to journalArticlepeer-review

Abstract

Self-stabilization is an elegant approach for designing fault tolerant systems. A system is considered self-stabilizing if, starting in any state, it converges to the desired behavior. Self-stabilizing algorithms were designed for solving fundamental distributed tasks, such as leader election, token circulation and communication network protocols. The algorithms were expressed using guarded commands or pseudo-code. The realization of these algorithms requires the existence of a (self-stabilizing) infrastructure such as a self-stabilizing microprocessor and a self-stabilizing operating system for their execution. Moreover, the high-level description of the algorithms needs to be converted into machine language of the microprocessor. In this article, we present our design for a self-stabilization preserving compiler. The compiler we designed and implemented transforms programs written in a language similar to the abstract state machine (ASM). The compiler preserves the stabilization property of the high level program.

Original languageEnglish
Article number22
JournalACM Transactions on Programming Languages and Systems
Volume31
Issue number6
DOIs
StatePublished - 1 Aug 2009

Keywords

  • Abstract state machines
  • Compilers
  • Self-stabilization

Fingerprint

Dive into the research topics of 'Self-stabilization preserving compiler'. Together they form a unique fingerprint.

Cite this