2022
DOI: 10.1007/978-3-031-17715-6_15
|View full text |Cite
|
Sign up to set email alerts
|

Functional Choreographic Programming

Abstract: Programming communicating processes is challenging, because it requires writing separate programs that perform compatible send and receive actions at the right time during execution. Leaving this task to the programmer can easily lead to bugs. Choreographic programming addresses this challenge by equipping developers with high-level abstractions for codifying the desired communication structures from a global viewpoint. Given a choreography, implementations of the involved processes can be automatically genera… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
5
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 8 publications
(11 citation statements)
references
References 24 publications
0
5
0
Order By: Relevance
“…revisited and generalised CC in his text on foundations of choreographic languages. Cruz-Filipe et al (2021) then formalised this new version and its properties in the Coq theorem prover (The Coq Development Team, 2004). Later, Pohjola et al (2022) developed a certified end-to-end compiler from another variation of CC to CakeML by using the HOL theorem prover.…”
Section: Choreographiesmentioning
confidence: 99%
See 1 more Smart Citation
“…revisited and generalised CC in his text on foundations of choreographic languages. Cruz-Filipe et al (2021) then formalised this new version and its properties in the Coq theorem prover (The Coq Development Team, 2004). Later, Pohjola et al (2022) developed a certified end-to-end compiler from another variation of CC to CakeML by using the HOL theorem prover.…”
Section: Choreographiesmentioning
confidence: 99%
“…Instead, it takes inspiration from lower-order choreographic programming languages in which (the computations to produce) messages are written in their own separate language. Like other choreographic languages (Cruz-Filipe et al, 2021;), Pirouette's design is parametrised by the language for writing messages. Thus, Pirouette can describe communication patterns between processes that draw from a large swath of languages for their local computations.…”
Section: Choreographiesmentioning
confidence: 99%
“…Our work is based on the most recent version of the formalisation of CC, SP, and EPP [11], which was originally introduced in [9,10]. We did not need to modify this formalisation in order to use it for our development, which shows that it reached a sufficient level of maturity for being used as a library to reason about choreographies.…”
Section: Related Workmentioning
confidence: 99%
“…We summarise the latest version of the Coq formalisation of CC [11]. For simplicity, we omit two ingredients that are immaterial for our work: the fact that the language is parameterised on a signature, and the fact that communications have annotations (these are meant to include information relevant for future implementations in actual programming languages).…”
Section: Introductionmentioning
confidence: 99%
“…Choreographic programming originated with Carbone et al [7,8] (using binary session types [31]) and with Carbone and Montesi [10,37] (using multiparty session types [32]); substantial progress has been made since. Montesi and Yoshida developed a theory of compositional choreographic programming that supports open distributed systems [38]; Carbone et al studied connections between choreographic programming and linear logic [6,11]; Dalla Preda et al combined choreographic programming with dynamic adaptation [39][40][41]; Cruz-Filipe and Montesi developed a minimal Turing-complete language of global programs [21]; Cruz-Filipe et al and Kjaer et al presented techniques to extract global programs from families of local programs [17,35]; Giallorenzo et al studied a correspondence between choreographic programming and multitier languages [27]; Jongmans and Van den Bos combined choreographic programming with deductive verification [34]; Hirsch and Garg and Cruz-Filipe et al developed functional choreographic programming languages [16,30]. Other work includes results on case studies [18], procedural abstractions [20], asynchronous communication [19], polyadic communication [22,29], implementability [26], and formalisation/mechanisation in Coq [23,24,30].…”
mentioning
confidence: 99%