Design, implementation and deployment of state machines using a generative approach

Research output: Chapter in Book/Report/Conference proceedingChapter

Abstract

We describe an approach to designing and implementing a distributed system as a family of related finite state machines, generated from a single abstract model. Various artefacts are generated from each state machine, including diagrams, source-level protocol implementations and documentation. The state machine family formalises the interactions between the components of the distributed system, allowing increased confidence in correctness. Our methodology facilitates the application of state machines to problems for which they would not otherwise be suitable.

We illustrate the technique with the example of a Byzantine-fault-tolerant commit protocol used in a distributed storage system, showing how an abstract model can be defined in terms of an abstract state space and various categories of state transitions. We describe how such an abstract model can be deployed in a concrete system, and propose a general methodology for developing systems in this style.
Original languageEnglish
Title of host publicationArchitecting Dependable Systems V
EditorsRogério de Lemos, Felicita Di Giandomenico, Cristina Gacek, Henry Muccini, Marlon Vieira
PublisherSpringer
Pages175-198
ISBN (Print)978-3-540-85570-5
DOIs
Publication statusPublished - 2008

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume5135

Fingerprint

Dive into the research topics of 'Design, implementation and deployment of state machines using a generative approach'. Together they form a unique fingerprint.

Cite this