A Core Model for Choreographic Programming

Luís Cruz-Filipe, Fabrizio Montesi [2016].
In proceedings of FACS 2016, pp. 17-35.


Choreographic Programming is a paradigm for developing concurrent programs that are deadlock-free by construction, by programming communications declaratively and then synthesising process implementations automatically. Despite strong interest on choreographies, a foundational model that explains which computations can be performed with the hallmark constructs of choreographies is still missing.

In this work, we introduce Core Choreographies (CC), a model that includes only the core primitives of choreographic programming. Every computable function can be implemented as a choreography in CC, from which we can synthesise a process implementation where independent computations run in parallel. We discuss the design of CC and argue that it constitutes a canonical model for choreographic programming.

Additional notes
Cite (BibTeX)
Click to expand
  author       = {Lu{\'{\i}}s Cruz{-}Filipe and
                  Fabrizio Montesi},
  editor       = {Olga Kouchnarenko and
                  Ramtin Khosravi},
  title        = {A Core Model for Choreographic Programming},
  booktitle    = {Formal Aspects of Component Software - 13th International Conference,
                  {FACS} 2016, Besan{\c{c}}on, France, October 19-21, 2016, Revised
                  Selected Papers},
  series       = {Lecture Notes in Computer Science},
  volume       = {10231},
  pages        = {17--35},
  year         = {2016},
  url          = {https://doi.org/10.1007/978-3-319-57666-4\_3},
  doi          = {10.1007/978-3-319-57666-4\_3},
  timestamp    = {Wed, 25 Sep 2019 18:10:28 +0200},
  biburl       = {https://dblp.org/rec/conf/facs2/Cruz-FilipeM16.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}

A PDF is available (possibly a preprint):

Download PDF