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

page 1

page 2

page 3

page 4

research
02/05/2020

A Domain Semantics for Higher-Order Recursive Processes

The polarized SILL programming language uniformly integrates functional ...
research
04/02/2021

Fairness and Observed Communication Semantics for Session-Typed Languages

Observed communication semantics provide an intuitive notion of equivale...
research
08/27/2021

A denotational semantics for PROMELA addressing arbitrary jumps

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

On Asynchrony and Choreographies

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

That's Enough: Asynchrony with Standard Choreography Primitives

Choreographies are widely used for the specification of concurrent and d...
research
02/21/2021

Certifying Choreography Compilation

Choreographic programming is a paradigm for developing concurrent and di...
research
08/09/2022

On Composing Communicating Systems

Communication is an essential element of modern software, yet programmin...

Please sign up or login with your details

Forgot password? Click here to reset