Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- abstractSeptember 2024
On the Preciseness of Subtyping in Session Types: 10 Years Later
PPDP '24: Proceedings of the 26th International Symposium on Principles and Practice of Declarative ProgrammingArticle No.: 2, Pages 1–3https://doi.org/10.1145/3678232.3678258The PPDP Most Influential Paper 10-Year Award for our work [11] was a delightful surprise. We subsequently reviewed the subsequent literature to see how our results have been utilised. This short note aims to capture crucial references without missing ...
- ArticleJuly 2024
Protocol Conformance of Collaborative SPARQL Using Multiparty Session Types
AbstractDecentralised linked data gives users rights over their data while being accessible to other domains. The RDF (Resource Description Framework) and SPARQL have been the standard specifications for managing linked data for several years. Recent ...
- research-articleJuly 2024
Separation and Encodability in Mixed Choice Multiparty Sessions
LICS '24: Proceedings of the 39th Annual ACM/IEEE Symposium on Logic in Computer ScienceArticle No.: 62, Pages 1–15https://doi.org/10.1145/3661814.3662085Multiparty session types (MP) are a type discipline for enforcing the structured, deadlock-free communication of concurrent and message-passing programs. Traditional MP have a limited form of choice in which alternative communication possibilities are ...
- ArticleJune 2024
The Concurrent Calculi Formalisation Benchmark
- Marco Carbone,
- David Castro-Perez,
- Francisco Ferreira,
- Lorenzo Gheri,
- Frederik Krogsdal Jacobsen,
- Alberto Momigliano,
- Luca Padovani,
- Alceste Scalas,
- Dawit Tirore,
- Martin Vassor,
- Nobuko Yoshida,
- Daniel Zackon
AbstractPOPLMark and POPLMark Reloaded sparked a flurry of work on machine-checked proofs, and fostered the adoption of proof mechanisation in programming language research. Both challenges were purposely limited in scope, and they do not address ...
- research-articleJuly 2024
Mixed choice in session types
AbstractSession types provide a flexible programming style for structuring interaction, and are used to guarantee a safe and consistent composition of distributed processes. Traditional session types include only one-directional input (external) and ...
-
- research-articleOctober 2023
Multicompatibility for Multiparty-Session Composition
PPDP '23: Proceedings of the 25th International Symposium on Principles and Practice of Declarative ProgrammingArticle No.: 2, Pages 1–15https://doi.org/10.1145/3610612.3610614Modular methodologies for the development and verification of concurrent/distributed systems are increasingly relevant nowadays. We investigate the simultaneous composition of multiple systems in a multiparty-session-type setting, working on suitable ...
- ArticleJune 2023
Rollback Recovery in Session-Based Programming
AbstractTo react to unforeseen circumstances or amend abnormal situations in communication-centric systems, programmers are in charge of “undoing” the interactions which led to an undesired state. To assist this task, session-based languages can be ...
- research-articleApril 2023
Hybrid Multiparty Session Types: Compositionality for Protocol Specification through Endpoint Projection
Proceedings of the ACM on Programming Languages (PACMPL), Volume 7, Issue OOPSLA1Article No.: 79, Pages 112–142https://doi.org/10.1145/3586031Multiparty session types (MPST) are a specification and verification framework for distributed message-passing systems. The communication protocol of the system is specified as a global type, from which a collection of local types (local process ...
- research-articleNovember 2023
Precise Subtyping for Asynchronous Multiparty Sessions
ACM Transactions on Computational Logic (TOCL), Volume 24, Issue 2Article No.: 14, Pages 1–73https://doi.org/10.1145/3568422Session subtyping is a cornerstone of refinement of communicating processes: A process implementing a session type (i.e., a communication protocol) T can be safely used whenever a process implementing one of its supertypes T′ is expected, in any context, ...
- research-articleJanuary 2023
Causal computational complexity of distributed processes
AbstractThis article studies the complexity of π-calculus processes with respect to the quantity of transitions caused by an incoming message. First, we propose a typing system for integrating Bellantoni and Cook's characterisation of polytime ...
- research-articleDecember 2022
A Type Discipline for Message Passing Parallel Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 44, Issue 4Article No.: 26, Pages 1–55https://doi.org/10.1145/3552519We present ParTypes, a type discipline for parallel programs. The model we have in mind comprises a fixed number of processes running in parallel and communicating via collective operations or point-to-point synchronous message exchanges. A type describes ...
Generic go to go: dictionary-passing, monomorphisation, and hybrid
Proceedings of the ACM on Programming Languages (PACMPL), Volume 6, Issue OOPSLA2Article No.: 168, Pages 1207–1235https://doi.org/10.1145/3563331Go is a popular statically-typed industrial programming language. To aid the type safe reuse of code, the recent Go release (Go 1.18) published early 2022 includes bounded parametric polymorphism via generic types. Go 1.18 implements generic types using ...
- introductionJuly 2022
- research-articleMarch 2022
Deadlock-free asynchronous message reordering in rust with multiparty session types
PPoPP '22: Proceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingPages 246–261https://doi.org/10.1145/3503221.3508404Rust is a modern systems language focused on performance and reliability. Complementing Rust's promise to provide "fearless concurrency", developers frequently exploit asynchronous message passing. Unfortunately, sending and receiving messages in an ...
- research-articleJune 2021
Zooid: a DSL for certified multiparty computation: from mechanised metatheory to certified multiparty processes
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 237–251https://doi.org/10.1145/3453483.3454041We design and implement Zooid, a domain specific language for certified multiparty communication, embedded in Coq and implemented atop our mechanisation framework of asynchronous multiparty session types (the first of its kind). Zooid provides a fully ...
- ArticleJune 2021
Safe Session-Based Asynchronous Coordination in Rust
AbstractRust is a popular systems language focused on performance and reliability, with an emphasis on providing “fearless concurrency”. Message passing has become a widely-used pattern by Rust developers although the potential for communication errors ...
- research-articleJune 2021
On Polymorphic Sessions and Functions: A Tale of Two (Fully Abstract) Encodings
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 43, Issue 2Article No.: 7, Pages 1–55https://doi.org/10.1145/3457884This work exploits the logical foundation of session types to determine what kind of type discipline for the Λ-calculus can exactly capture, and is captured by, Λ-calculus behaviours. Leveraging the proof theoretic content of the soundness and ...
- research-articleFebruary 2021
Communication-safe web programming in TypeScript with routed multiparty session types
CC 2021: Proceedings of the 30th ACM SIGPLAN International Conference on Compiler ConstructionPages 94–106https://doi.org/10.1145/3446804.3446854Modern web programming involves coordinating interactions between browser clients and a server. Typically, the interactions in web-based distributed systems are informally described, making it hard to ensure correctness, especially communication safety, ...