Design, implementation and deployment of state machines using a generative approach
MetadataShow full item record
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.
Kirby , G N C , Dearle , A & Norcross , S J 2008 , Design, implementation and deployment of state machines using a generative approach . in R de Lemos , F Di Giandomenico , C Gacek , H Muccini & M Vieira (eds) , Architecting Dependable Systems V . Lecture Notes in Computer Science , vol. 5135 , Springer , pp. 175-198 . https://doi.org/10.1007/978-3-540-85571-2_8
Architecting Dependable Systems V
(c)2008 Springer-Verlag. The original publication is available at www.springerlink.com