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

Concerto Grosso for Sessions: Fair Termination of Sessions

2023/07/08 by Luca Ciccone, Ciccone, Luca
Computer Science · #Distributed systems and fault tolerance #FOS: Computer and information sciences #Formal Methods in Verification #Logic in Computer Science (cs.LO) #Logic, Reasoning, and Knowledge #Programming Languages (cs.PL)

paper · pdf · doi:10.48550/arxiv.2307.05539

openalex publication_date 2023/07/08 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

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.

Related