Omission Failures in Choreographic Programming

Eva Graversen, Fabrizio Montesi, Marco Peressotti [2025].
In proceedings of ICTCS 2025, pp. 169-184.

Abstract
Choreographic programming promises a simple approach to concurrent and distributed programming: write the collective communication behaviour of a system of processes as a choreography, and then the programs for these processes are automatically compiled through a provably-correct procedure known as endpoint projection. While this promise prompted substantial research, a theory that can deal with realistic communication failures in a distributed network remains elusive. In this work, we provide the first theory of choreographic programming that addresses realistic communication failures taken from the literature of distributed systems: processes can send or receive fewer messages than they should (send and receive omission), and the network can fail at transporting messages (omission failure). Our theory supports the programming of strategies for failure recovery and is expressive enough to capture different communication patterns that usually required ad-hoc choreographic primitives and realistic protocols like two-phase commit.
Links
ceur-ws.org
Additional notes
None
Cite (BibTeX)
Click to expand
@inproceedings{DBLP:conf/ictcs/GraversenMP25,
  author       = {Eva Graversen and
                  Fabrizio Montesi and
                  Marco Peressotti},
  editor       = {Luca Moscardelli and
                  Francesca Scozzari},
  title        = {Omission Failures in Choreographic Programming},
  booktitle    = {Proceedings of the 26th Italian Conference on Theoretical Computer
                  Science, Pescara, Italy, September 10-12, 2025},
  series       = {{CEUR} Workshop Proceedings},
  volume       = {4039},
  pages        = {169--184},
  publisher    = {CEUR-WS.org},
  year         = {2025},
  url          = {https://ceur-ws.org/Vol-4039/paper02.pdf},
  timestamp    = {Tue, 30 Sep 2025 17:27:53 +0200},
  biburl       = {https://dblp.org/rec/conf/ictcs/GraversenMP25.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}
}

A PDF is available (possibly a preprint):

Download PDF