Connectors meet Choreographies

04/24/2018
by   Farhad Arbab, et al.
0

We present Cho-Reo-graphies (CR), a new language model that unites two powerful programming paradigms for concurrent software based on communicating processes: Choreographic Programming and Exogenous Coordination. In CR, programmers specify the desired communications among processes using a choreography, and define how communications should be concretely animated by connectors given as constraint automata (e.g., synchronous barriers and asynchronous multi-casts). CR is the first choreography calculus where different communication semantics (determined by connectors) can be freely mixed; since connectors are user-defined, CR also supports many communication semantics that were previously unavailable for choreographies. We develop a static analysis that guarantees that a choreography in CR and its user-defined connectors are compatible, define a compiler from choreographies to a process calculus based on connectors, and prove that compatibility guarantees deadlock-freedom of the compiled process implementations.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

02/05/2020

A Domain Semantics for Higher-Order Recursive Processes

The polarized SILL programming language uniformly integrates functional ...
08/27/2021

A denotational semantics for PROMELA addressing arbitrary jumps

PROMELA (Process Meta Language) is a high-level specification language d...
11/30/2017

On Asynchrony and Choreographies

Choreographic Programming is a paradigm for the development of concurren...
11/28/2017

Communications in Choreographies, Revisited

Choreographic Programming is a paradigm for developing correct-by-constr...
11/23/2017

That's Enough: Asynchrony with Standard Choreography Primitives

Choreographies are widely used for the specification of concurrent and d...
12/14/2017

Choreographies meet Communication Failures

Choreographies are global descriptions of communication structures, insp...
02/21/2021

Certifying Choreography Compilation

Choreographic programming is a paradigm for developing concurrent and di...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.