Choreographies in Practice

Luís Cruz-Filipe, Fabrizio Montesi [2016].
In CoRR abs/1602.08863.

Choreographic Programming is a development methodology for concurrent software that guarantees correctness by construction. The key to this paradigm is to disallow mismatched I/O operations in programs, called choreographies, and then mechanically synthesise distributed implementations in terms of standard process models via a mechanism known as EndPoint Projection (EPP). Despite the promise of choreographic programming, there is still a lack of practical evaluations that illustrate the applicability of choreographies to concrete computational problems with standard concurrent solutions. In this work, we explore the potential of choreographies by using Procedural Choreographies (PC), a model that we recently proposed, to write distributed algorithms for sorting (Quicksort), solving linear equations (Gaussian elimination), and computing Fast Fourier Transform. We discuss the lessons learned from this experiment, giving possible directions for the usage and future improvements of choreography languages.
Additional notes
Cite (BibTeX)
Click to expand
  author       = {Lu{\'{\i}}s Cruz{-}Filipe and
                  Fabrizio Montesi},
  title        = {Choreographies in Practice},
  journal      = {CoRR},
  volume       = {abs/1602.08863},
  year         = {2016},
  url          = {},
  eprinttype    = {arXiv},
  eprint       = {1602.08863},
  timestamp    = {Mon, 13 Aug 2018 16:48:06 +0200},
  biburl       = {},
  bibsource    = {dblp computer science bibliography,}

Peer-reviewed version
Click to show in publication list