Concerto Grosso for Sessions: Fair Termination of Sessions

07/08/2023
by   Luca Ciccone, et al.
0

Sessions are a fundamental notion in message-passing systems. A session is an abstract notion of communication between parties where each one owns an endpoint. Session types are types that are assigned to the endpoints and that are used to statically and dynamically enforce some desired properties of the communications, such as the absence of deadlocks. Properties of concurrent systems are usually divided in safety and liveness ones and depending on the class it belongs to, a property is defined using different (dual) techniques. However, there exist some properties that require to mix both techniques and the challenges in defining them are exacerbated in proof assistants (e.g. Agda, Coq, . . . ), that is, tools that allow users to formally characterize and prove theorems. In particular, we mechanize the meta-theory of inference systems in Agda. Among the interesting properties that can be studied in the session-based context, we study fair termination which is the property of those sessions that can always eventually reach successful termination under a fairness assumption. Fair termination implies many desirable and well known properties, such as lock freedom. Moreover, a lock free session does not imply that other sessions are lock free as well. On the other hand, if we consider a session and we assume that all the other ones are fairly terminating, we can conclude that the one under analysis is fairly terminating as well.

READ FULL TEXT
research
08/03/2021

Inference Systems with Corules for Combined Safety and Liveness Properties of Binary Session Types

Many properties of communication protocols combine safety and liveness a...
research
05/18/2022

Fair Termination of Multiparty Sessions

There exists a broad family of multiparty sessions in which the progress...
research
08/02/2023

Termination in Concurrency, Revisited

Termination is a central property in sequential programming models: a te...
research
07/08/2022

An Infinitary Proof Theory of Linear Logic Ensuring Fair Termination in the Linear π-Calculus

Fair termination is the property of programs that may diverge "in princi...
research
04/29/2021

Assuming Just Enough Fairness to make Session Types Complete for Lock-freedom

We investigate how different fairness assumptions affect results concern...
research
08/18/2019

Taming Concurrency for Verification Using Multiparty Session Types (Technical Report)

The additional complexity caused by concurrently communicating processes...
research
04/16/2022

Fault-Tolerant Multiparty Session Types (Technical Report)

Multiparty session types are designed to abstractly capture the structur...

Please sign up or login with your details

Forgot password? Click here to reset