Dynamic Choreographies - Safe Runtime Updates of Distributed Applications
Abstract
Programming distributed applications free from communication deadlocks and races is complex. Preserving these properties when applications are updated at runtime is even harder. We present DIOC, a language for programming distributed applications that are free from deadlocks and races by construction. A DIOC program describes a whole distributed application as a unique entity (choreography). DIOC allows the programmer to specify which parts of the application can be updated. At runtime, these parts may be replaced by new DIOC fragments from outside the application. DIOC programs are compiled, generating code for each site, in a lower-level language called DPOC. We formalise both DIOC and DPOC semantics as labelled transition systems and prove the correctness of the compilation as a trace equivalence result. As corollaries, DPOC applications are free from communication deadlocks and races, even in presence of runtime updates.
Keywords
Cite
@article{arxiv.1407.0970,
title = {Dynamic Choreographies - Safe Runtime Updates of Distributed Applications},
author = {Mila Dalla Preda and Maurizio Gabbrielli and Saverio Giallorenzo and Ivan Lanese and Jacopo Mauro},
journal= {arXiv preprint arXiv:1407.0970},
year = {2015}
}
Comments
Technical Report