English
Related papers

Related papers: Deadlock-free Context-free Session Types

200 papers

Session types denote message protocols between concurrent processes, allowing a type-safe expression of inter-process communication. Although previous work demonstrate a well-defined notion of subtyping where processes have different…

Programming Languages · Computer Science 2021-11-29 Chuta Sano , Stephanie Balzer , Frank Pfenning

We strive to use session type technology to prove behavioural properties of fault-tolerant distributed algorithms. Session types are designed to abstractly capture the structure of (even multi-party) communication protocols. The goal of…

Logic in Computer Science · Computer Science 2017-05-05 Manuel Adameit , Kirstin Peters , Uwe Nestmann

This paper presents the first implementation of session types in a dynamically-typed language - Python. Communication safety of the whole system is guaranteed at runtime by monitors that check the execution traces comply with an associated…

Programming Languages · Computer Science 2013-12-11 Rumyana Neykova

Session types allow communication protocols to be specified type-theoretically so that protocol implementations can be verified by static type checking. We extend previous work on session types for distributed object-oriented languages in…

Programming Languages · Computer Science 2017-01-11 Simon J. Gay , Nils Gesbert , António Ravara , Vasco T. Vasconcelos

CLASS is a proof-of-concept general purpose linear programming language, flexibly supporting realistic concurrent programming idioms, and featuring an expressive linear type system ensuring that programs (1) never misuse or leak stateful…

Programming Languages · Computer Science 2025-05-28 Luís Caires

In concurrent and distributed systems, software components are expected to communicate according to predetermined protocols and APIs - and if a component does not observe them, the system's reliability is compromised. Furthermore, isolating…

Programming Languages · Computer Science 2021-05-25 Christian Batrolo Burlò , Adrian Francalanza , Alceste Scalas

We address the problem of local type inference for a language based on System F with context-free session types. We present an algorithm that leverages the bidirectional type checking approach to propagate type information, enabling first…

Programming Languages · Computer Science 2025-05-28 Bernardo Almeida , Andreia Mordido , Vasco T. Vasconcelos

We present an asynchronous calculus for multiparty sessions with mixed choice, which extends the Simple MultiParty Session framework in order to support nondeterministic choices with both input and output prefixes. Global types -- equipped…

Logic in Computer Science · Computer Science 2026-04-09 Franco Barbanera , Mariangiola Dezani-Ciancaglini

This paper considers the modeling and the analysis of the performance of lock-free concurrent data structures. Lock-free designs employ an optimistic conflict control mechanism, allowing several processes to access the shared data object at…

Data Structures and Algorithms · Computer Science 2015-08-17 Aras Atalar , Paul Renaud-Goud , Philippas Tsigas

Much of the software we use in everyday life consists of distributed components (running on separate cores or even computers) that collaborate through communication (by exchanging messages). It is crucial to develop robust methods that can…

Logic in Computer Science · Computer Science 2024-03-04 Bas van den Heuvel

Session types provide a principled approach to typed communication protocols that guarantee type safety and protocol fidelity. Formalizations of session-typed communication are typically based on process calculi, concurrent lambda calculi,…

Programming Languages · Computer Science 2023-08-15 Hannes Saffrich , Peter Thiemann

Session types are behavioural types for guaranteeing that concurrent programs are free from basic communication errors. Recent work has shown that asynchronous session subtyping is undecidable. However, since session types have become…

Programming Languages · Computer Science 2018-02-13 Mario Bravetti , Marco Carbone , Gianluigi Zavattaro

Session types employ a linear type system that ensures that communication channels cannot be implicitly copied or discarded. As a result, many mechanizations of these systems require modeling channel contexts and carefully ensuring that…

Programming Languages · Computer Science 2023-09-25 Chuta Sano , Ryan Kavanagh , Brigitte Pientka

Asynchronous programming has appeared as a programming style that overcomes undesired properties of concurrent programming. Typically in asynchronous models of programming, methods are posted into a post list for latter execution. The order…

Programming Languages · Computer Science 2015-01-06 Mohamed A. El-Zawawy

Timed session types formalise timed communication protocols between two participants at the endpoints of a session. They feature a decidable compliance relation, which generalises to the timed setting the progress-based compliance between…

Logic in Computer Science · Computer Science 2023-06-22 Massimo Bartoletti , Tiziana Cimoli , Maurizio Murgia

Building a library of concurrent data structures is an essential way to simplify the difficult task of developing concurrent software. Lock-free data structures, in which processes can help one another to complete operations, offer the…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-12-18 Trevor Brown

We study a theory of asynchronous session types ensuring that well-typed processes terminate under a suitable fairness assumption. Fair termination entails starvation freedom and orphan message freedom namely that all messages, including…

Programming Languages · Computer Science 2025-03-17 Luca Padovani , Gianluigi Zavattaro

Session types describe the structure of communications implemented by channels. In particular, they prescribe the sequence of communications, whether they are input or output actions, and the type of value exchanged. Crucial to any language…

Logic in Computer Science · Computer Science 2023-06-22 Dimitris Mostrous , Vasco T. Vasconcelos

The scenario-based specification of a large distributed system is usually naturally decomposed into various modules. The integration of specification modules contrasts to the parallel composition of program components, and includes various…

Programming Languages · Computer Science 2012-10-09 Guoxin Su , Mingsheng Ying , Chengqi Zhang

Session types are a rich type discipline, based on linear types, that lifts the sort of safety claims that come with type systems to communications. However, web-based applications and microservices are often written in a mix of languages,…

Programming Languages · Computer Science 2019-11-20 Atsushi Igarashi , Peter Thiemann , Yuya Tsuda , Vasco T. Vasconcelos , Philip Wadler