Minimal Translations from Synchronous Communication to Synchronizing Locks (Extended Version)

07/30/2021
by   Manfred Schmidt-Schauß, et al.
0

In order to understand the relative expressive power of larger concurrent programming languages, we analyze translations of small process calculi which model the communication and synchronization of concurrent processes. The source language SYNCSIMPLE is a minimalistic model for message passing concurrency while the target language LOCKSIMPLE is a minimalistic model for shared memory concurrency. The former is a calculus with synchronous communication of processes, while the latter has synchronizing mutable locations – called locks – that behave similarly to binary semaphores. The criteria for correctness of translations is that they preserve and reflect may-termination and must-termination of the processes. We show that there is no correct compositional translation from SYNCSIMPLE to LOCKSIMPLE that uses one or two locks, independent from the initialisation of the locks. We also show that there is a correct translation that uses three locks. Also variants of the locks are taken into account with different blocking behavior.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/24/2021

Minimal Translations from Synchronous Communication to Synchronizing Locks

In order to understand the relative expressive power of larger concurren...
research
08/31/2020

Correctly Implementing Synchronous Message Passing in the Pi-Calculus By Concurrent Haskell's MVars

Comparison of concurrent programming languages and correctness of progra...
research
02/11/2020

Back to Futures

We briefly introduce the semi-axiomatic sequent calculus for linear logi...
research
11/11/2020

Synchronous Concurrent Broadcasts for Intermittent Channels with Bounded Capacities

In this work we extend the recently proposed synchronous broadcast algor...
research
08/02/2023

Termination in Concurrency, Revisited

Termination is a central property in sequential programming models: a te...
research
12/14/2018

Mastering Concurrent Computing Through Sequential Thinking: A Half-century Evolution

Concurrency, the art of doing many things at the same time is slowly bec...
research
02/26/2018

On the Validity of Encodings of the Synchronous in the Asynchronous π-calculus

Process calculi may be compared in their expressive power by means of en...

Please sign up or login with your details

Forgot password? Click here to reset