Mila Dalla Preda ; Maurizio Gabbrielli ; Saverio Giallorenzo ; Ivan Lanese ; Jacopo Mauro - Dynamic Choreographies: Theory And Implementation

lmcs:3263 - Logical Methods in Computer Science, April 10, 2017, Volume 13, Issue 2 - https://doi.org/10.23638/LMCS-13(2:1)2017
Dynamic Choreographies: Theory And ImplementationArticle

Authors: Mila Dalla Preda ; Maurizio Gabbrielli ; Saverio Giallorenzo ; Ivan Lanese ; Jacopo Mauro

Programming distributed applications free from communication deadlocks and race conditions is complex. Preserving these properties when applications are updated at runtime is even harder. We present a choreographic approach for programming updatable, distributed applications. We define a choreography language, called Dynamic Interaction-Oriented Choreography (AIOC), that allows the programmer to specify, from a global viewpoint, which parts of the application can be updated. At runtime, these parts may be replaced by new AIOC fragments from outside the application. AIOC programs are compiled, generating code for each participant in a process-level language called Dynamic Process-Oriented Choreographies (APOC). We prove that APOC distributed applications generated from AIOC specifications are deadlock free and race free and that these properties hold also after any runtime update. We instantiate the theoretical model above into a programming framework called Adaptable Interaction-Oriented Choreographies in Jolie (AIOCJ) that comprises an integrated development environment, a compiler from an extension of AIOCs to distributed Jolie programs, and a runtime environment to support their execution.

Comment: arXiv admin note: text overlap with arXiv:1407.0970


Volume: Volume 13, Issue 2
Secondary volumes: Selected Papers of the 35th International Conference on Formal Techniques for Distributed Objects, Components and Systems and the 17th International Conference on Coordination Models and Languages (FORTE and COORDINATION 2015)
Published on: April 10, 2017
Imported on: April 10, 2017
Keywords: Computer Science - Programming Languages, Computer Science - Logic in Computer Science
Funding:
    Source : OpenAIRE Graph
  • Scalable Hybrid Variability for Distributed Evolving Software Systems; Funder: European Commission; Code: 644298

7 Documents citing this article

Consultation statistics

This page has been seen 3841 times.
This article's PDF has been downloaded 775 times.