A core model for choreographic programming

Luís Cruz-Filipe*, Fabrizio Montesi

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review


Choreographic Programming is a paradigm for developing concurrent programs that are deadlock-free by construction, as a result of 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.

Original languageEnglish
JournalTheoretical Computer Science
Pages (from-to)38-66
Number of pages29
Publication statusPublished - 8. Jan 2020



  • Choreography
  • Computability
  • Process calculi

Cite this