On Composing Communicating Systems

08/09/2022
by   Franco Barbanera, et al.
0

Communication is an essential element of modern software, yet programming and analysing communicating systems are difficult tasks. A reason for this difficulty is the lack of compositional mechanisms that preserve relevant communication properties. This problem has been recently addressed for the well-known model of communicating systems, that is sets of components consisting of finite-state machines capable of exchanging messages. The main idea of this approach is to take two systems, select a participant from each of them, and derive from those participants a pair of coupled gateways connecting the two systems. More precisely, a message directed to one of the gateways is forwarded to the gateway in the other system, which sends it to the other system. It has been shown that, under some suitable compatibility conditions between gateways, this composition mechanism preserves deadlock freedom for asynchronous as well as symmetric synchronous communications (where sender and receiver play the same part in determining which message to exchange). This paper considers the case of asymmetric synchronous communications where senders decide independently which message should be exchanged. We show here that preservation of lock freedom requires sequentiality of gateways, while this is not needed for preservation of either deadlock freedom or strong lock freedom.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/01/2021

Deadlock Freedom for Asynchronous and Cyclic Process Networks

This paper considers the challenging problem of establishing deadlock fr...
research
11/25/2021

Deadlock Freedom for Asynchronous and Cyclic Process Networks (Extended Version)

This paper considers the challenging problem of establishing deadlock fr...
research
08/21/2023

Weakly synchronous systems with three machines are Turing powerful

Communicating finite-state machines (CFMs) are a Turing powerful model o...
research
12/23/2021

Deadlock-free asynchronous message reordering in Rust with multiparty session types

Rust is a modern systems language focused on performance and reliability...
research
04/24/2018

Connectors meet Choreographies

We present Cho-Reo-graphies (CR), a new language model that unites two p...
research
12/15/2022

Essentials of Parallel Graph Analytics

We identify the graph data structure, frontiers, operators, an iterative...
research
01/17/2020

Preservation of Equations by Monoidal Monads

If a monad T is monoidal, then operations on a set X can be lifted canon...

Please sign up or login with your details

Forgot password? Click here to reset