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

TL;DR
This paper introduces a choreographic framework for developing and updating distributed applications that guarantees deadlock and race condition freedom, even after runtime updates, through a formal language and implementation in Jolie.
Contribution
It presents a novel choreographic language (AIOC) for specifying updatable distributed applications and proves its properties, with a practical implementation in the Jolie framework.
Findings
AIOC programs are deadlock and race free.
Properties hold after runtime updates.
Implemented in Jolie with an IDE, compiler, and runtime.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
