A core model for choreographic programming

Luís Cruz-Filipe*, Fabrizio Montesi

*Kontaktforfatter for dette arbejde

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningpeer review

Resumé

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.

OriginalsprogEngelsk
TidsskriftTheoretical Computer Science
Vol/bind802
Sider (fra-til)38-66
Antal sider29
ISSN0304-3975
DOI
StatusUdgivet - 8. jan. 2020

Fingeraftryk

Programming
Choreography
Canonical Model
Deadlock
Model
Concurrent
Communication
Paradigm

Citer dette

@article{32c20848687c4c01a012cf78ea15d538,
title = "A core model for choreographic programming",
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.",
keywords = "Choreography, Computability, Process calculi",
author = "Lu{\'i}s Cruz-Filipe and Fabrizio Montesi",
year = "2020",
month = "1",
day = "8",
doi = "10.1016/j.tcs.2019.07.005",
language = "English",
volume = "802",
pages = "38--66",
journal = "Theoretical Computer Science",
issn = "0304-3975",
publisher = "Elsevier",

}

A core model for choreographic programming. / Cruz-Filipe, Luís; Montesi, Fabrizio.

I: Theoretical Computer Science, Bind 802, 08.01.2020, s. 38-66.

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningpeer review

TY - JOUR

T1 - A core model for choreographic programming

AU - Cruz-Filipe, Luís

AU - Montesi, Fabrizio

PY - 2020/1/8

Y1 - 2020/1/8

N2 - 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.

AB - 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.

KW - Choreography

KW - Computability

KW - Process calculi

U2 - 10.1016/j.tcs.2019.07.005

DO - 10.1016/j.tcs.2019.07.005

M3 - Journal article

AN - SCOPUS:85068847215

VL - 802

SP - 38

EP - 66

JO - Theoretical Computer Science

JF - Theoretical Computer Science

SN - 0304-3975

ER -