Multiparty Languages: The Choreographic and Multitier Cases (Pearl)

Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, David Richter, Guido Salvaneschi, Pascal Weisenburger [2021].
In proceedings of ECOOP 2021, pp. 22:1-22:27.


Choreographic languages aim to express multiparty communication protocols, by providing primitives that make interaction manifest. Multitier languages enable programming computation that spans across several tiers of a distributed system, by supporting primitives that allow computation to change the location of execution. Rooted into different theoretical underpinnings—respectively process calculi and lambda calculus—the two paradigms have been investigated independently by different research communities with little or no contact. As a result, the link between the two paradigms has remained hidden for long.

In this paper, we show that choreographic languages and multitier languages are surprisingly similar. We substantiate our claim by isolating the core abstractions that differentiate the two approaches and by providing algorithms that translate one into the other in a straightforward way. We believe that this work paves the way for joint research and cross-fertilisation among the two communities.

Additional notes
Distinguished Paper Award
Cite (BibTeX)
Click to expand
  author       = {Saverio Giallorenzo and
                  Fabrizio Montesi and
                  Marco Peressotti and
                  David Richter and
                  Guido Salvaneschi and
                  Pascal Weisenburger},
  editor       = {Anders M{\o}ller and
                  Manu Sridharan},
  title        = {Multiparty Languages: The Choreographic and Multitier Cases (Pearl)},
  booktitle    = {35th European Conference on Object-Oriented Programming, {ECOOP} 2021,
                  July 11-17, 2021, Aarhus, Denmark (Virtual Conference)},
  series       = {LIPIcs},
  volume       = {194},
  pages        = {22:1--22:27},
  publisher    = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r Informatik},
  year         = {2021},
  url          = {},
  doi          = {10.4230/LIPICS.ECOOP.2021.22},
  timestamp    = {Mon, 26 Jun 2023 20:47:01 +0200},
  biburl       = {},
  bibsource    = {dblp computer science bibliography,}

A PDF is available (possibly a preprint):

Download PDF