vix.ing · top · new · best · stats · spec

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

2021/07/30 by Manfred Schmidt-Schauß, Schmidt-Schauß, Manfred, David Sabel +1
Computer Science · #Embedded Systems Design Techniques #FOS: Computer and information sciences #Logic in Computer Science (cs.LO) #Logic, programming, and type systems #Parallel Computing and Optimization Techniques

paper · pdf · doi:10.48550/arxiv.2107.14651

openalex publication_date 2021/07/30 · openalex created_date 2021/08/16 · openalex updated_date 2026/07/28

Abstract

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.

Related