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.

Mila, D.P., Maurizio, G., Saverio, G., Ivan, L., Jacopo, M. (2017). Dynamic Choreographies: Theory And Implementation. LOGICAL METHODS IN COMPUTER SCIENCE, 13(2), 1-57 [10.23638/LMCS-13(2:1)2017].

Dynamic Choreographies: Theory And Implementation

GABBRIELLI, MAURIZIO;Saverio, Giallorenzo;LANESE, IVAN;
2017

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 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.
2017
Mila, D.P., Maurizio, G., Saverio, G., Ivan, L., Jacopo, M. (2017). Dynamic Choreographies: Theory And Implementation. LOGICAL METHODS IN COMPUTER SCIENCE, 13(2), 1-57 [10.23638/LMCS-13(2:1)2017].
Mila, Dalla Preda; Maurizio, Gabbrielli; Saverio, Giallorenzo; Ivan, Lanese; Jacopo, Mauro
File in questo prodotto:
File Dimensione Formato  
main.pdf

accesso aperto

Descrizione: Post-print autore
Tipo: Postprint
Licenza: Licenza per Accesso Aperto. Creative Commons Attribuzione (CCBY)
Dimensione 821.99 kB
Formato Adobe PDF
821.99 kB Adobe PDF Visualizza/Apri
LMCS-dynamicChor-editoriale.pdf

accesso aperto

Descrizione: Pdf editoriale
Tipo: Versione (PDF) editoriale
Licenza: Licenza per Accesso Aperto. Creative Commons Attribuzione (CCBY)
Dimensione 843.34 kB
Formato Adobe PDF
843.34 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/588930
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 38
  • ???jsp.display-item.citation.isi??? 22
social impact