English
Related papers

Related papers: Polymorphic Typestate for Session Types

200 papers

This work proposes a dependent type theory that combines functions and session-typed processes (with value dependencies) through a contextual monad, internalising typed processes in a dependently-typed lambda-calculus. The proposed…

Programming Languages · Computer Science 2018-01-25 Bernardo Toninho , Nobuko Yoshida

Session types are formal specifications of communication protocols, allowing protocol implementations to be verified by typechecking. Up to now, session type disciplines have assumed that the communication medium is reliable, with no loss…

Logic in Computer Science · Computer Science 2024-08-07 Dimitrios Kouzapas , Ramunas Forsberg Gutkovas , A. Laura Voinea , Simon J. Gay

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

Up to now session types have been used under the assumptions of point to point communication, to ensure the linearity of session endpoints, and reliable communication, to ensure send/receive duality. In this paper we define a session type…

Programming Languages · Computer Science 2014-06-16 Dimitrios Kouzapas , Ramūnas Gutkovas , Simon J. Gay

Distributed systems have become increasingly prevalent in the software industry. Due to their intrinsic complexity, much research has focused on the verification of their behaviour. An active research line is around behaviour models that…

Programming Languages · Computer Science 2026-04-09 Francisco Parrinha , João Mota , António Ravara

We propose algebraic protocols that enable the definition of protocol templates and session types analogous to the definition of domain-specific types with algebraic datatypes. Parameterized algebraic protocols subsume all regular as well…

Programming Languages · Computer Science 2023-04-10 Andreia Mordido , Janek Spaderna , Peter Thiemann , Vasco T. Vasconcelos

We present a type system for strategy languages that express program transformations as compositions of rewrite rules. Our row-polymorphic type system assists compiler engineers to write correct strategies by statically rejecting non…

Programming Languages · Computer Science 2021-03-26 Rongxiao Fu , Xueying Qin , Ornela Dardha , Michel Steuwer

Context-free session types describe structured patterns of communication on heterogeneously-typed channels, allowing the specification of protocols unconstrained by tail recursion. The enhanced expressive power provided by non-regular…

Programming Languages · Computer Science 2023-09-21 Gil Silva , Andreia Mordido , Vasco T. Vasconcelos

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

Session types guarantee that message-passing processes adhere to predefined communication protocols. Prior work on session types has focused on deterministic languages but many message-passing systems, such as Markov chains and randomized…

Programming Languages · Computer Science 2020-11-19 Ankush Das , Di Wang , Jan Hoffmann

Session types statically prescribe bidirectional communication protocols for message-passing processes and are in a Curry-Howard correspondence with linear logic propositions. However, simple session types cannot specify properties beyond…

Programming Languages · Computer Science 2020-01-27 Ankush Das , Frank Pfenning

Session types are a type-based approach to the verification of message-passing programs. They have been much studied as type systems for the pi-calculus and for languages such as Java. A session type specifies what and when should be…

Logic in Computer Science · Computer Science 2019-06-13 Alen Arslanagić , Jorge A. Pérez , Erik Voogd

Session types provide guarantees about concurrent behaviour and can be understood through their correspondence with linear logic, with propositions as sessions and proofs as processes. However, a strictly linear setting is somewhat…

Programming Languages · Computer Science 2024-10-23 Danielle Marshall , Dominic Orchard

Session types are a typing discipline used to formally describe communication-driven applications with the aim of fewer errors and easier debugging later into the life cycle of the software. Protocols at the transport layer such as TCP,…

Programming Languages · Computer Science 2024-04-09 Samuel Cavoj , Ivan Nikitin , Colin Perkins , Ornela Dardha

Session types statically prescribe bidirectional communication protocols for message-passing processes. However, simple session types cannot specify properties beyond the type of exchanged messages. In this paper we extend the type system…

Programming Languages · Computer Science 2020-05-14 Ankush Das , Frank Pfenning

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

We show how systems of sessions types can enforce interactions to be bounded for all typable processes. The type system we propose is based on Lafont's soft linear logic and is strongly inspired by recent works about session types as…

Logic in Computer Science · Computer Science 2012-01-04 Ugo Dal Lago , Paolo Di Giamberardino

Programs are more distributed and concurrent today than ever before, and structural communications are at the core. Constructing and debugging such programs are hard due to the lack of formal specification/verification of concurrency. This…

Programming Languages · Computer Science 2018-08-02 Hanwen Wu , Hongwei Xi

We show how systems of session types can enforce interactions to be bounded for all typable processes. The type system we propose is based on Lafont's soft linear logic and is strongly inspired by recent works about session types as…

Logic in Computer Science · Computer Science 2011-08-24 Ugo Dal Lago , Paolo Di Giamberardino

Formal verification methods for concurrent systems cannot always be scaled-down or tailored in order to be applied on specific subsystems. We address such an issue in a MultiParty Session Types setting by devising a partial type assignment…

Logic in Computer Science · Computer Science 2024-10-02 Franco Barbanera , Mariangiola Dezani-Ciancaglini , Ugo de'Liguoro