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
ISSN0304-3975
DOI
StatusUdgivet - 1 jan. 2019

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 = "2019",
month = "1",
day = "1",
doi = "10.1016/j.tcs.2019.07.005",
language = "English",
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, 01.01.2019.

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningpeer review

TY - JOUR

T1 - A core model for choreographic programming

AU - Cruz-Filipe, Luís

AU - Montesi, Fabrizio

PY - 2019/1/1

Y1 - 2019/1/1

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

UR - http://www.scopus.com/inward/record.url?scp=85068847215&partnerID=8YFLogxK

U2 - 10.1016/j.tcs.2019.07.005

DO - 10.1016/j.tcs.2019.07.005

M3 - Journal article

JO - Theoretical Computer Science

JF - Theoretical Computer Science

SN - 0304-3975

ER -