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 language | English |
---|---|
Article number | 22 |
Journal | ACM Transactions on Programming Languages and Systems |
Volume | 31 |
Issue number | 6 |
DOIs | |
State | Published - 1 Aug 2009 |
Keywords
- Abstract state machines
- Compilers
- Self-stabilization
ASJC Scopus subject areas
- Software