Abstract
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 language | English |
---|---|
Journal | Theoretical Computer Science |
Volume | 802 |
Pages (from-to) | 38-66 |
Number of pages | 29 |
ISSN | 0304-3975 |
DOIs | |
Publication status | Published - 8. Jan 2020 |
Keywords
- Choreography
- Computability
- Process calculi