English
Related papers

Related papers: Comparing Deadlock-Free Session Typed Processes

200 papers

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

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

Modern web applications can now offer desktop-like experiences from within the browser, thanks to technologies such as WebSockets, which enable low-latency duplex communication between the browser and the server. While these advances are…

Programming Languages · Computer Science 2019-04-03 Jonathan King , Nicholas Ng , Nobuko Yoshida

Parallel systems have received increasing attention with numerous recent applications such as fork-join systems, load-balancing, and l-out-of-k redundancy. Common to these systems is a join or resequencing stage, where tasks that have…

Performance · Computer Science 2015-12-29 Markus Fidler , Yuming Jiang

We provide the first denotational semantics for asynchronous multiparty session types with precise asynchronous subtyping. Our semantics enables us to reason about asynchronous message-passing, in which message-sending is non-blocking. It…

Programming Languages · Computer Science 2026-04-14 Dylan McDermott , Nobuko Yoshida

We present a system of session types based on adjoint logic which generalize standard binary session types. Our system allows us to uniformly capture several new behaviors in the space of asynchronous message-passing communication,…

Programming Languages · Computer Science 2019-04-03 Klaas Pruiksma , Frank Pfenning

Session types provide a typing discipline for message-passing systems. However, most session type approaches assume an ideal world: one in which everything is reliable and without failures. Yet this is in stark contrast with distributed…

Programming Languages · Computer Science 2023-05-16 Adam D. Barwell , Ping Hou , Nobuko Yoshida , Fangyi Zhou

Most works on session types take an equi-recursive approach and do not distinguish among a recursive type and its unfolding. This becomes more important in recent type systems which do not require global types, also known as generalised…

Programming Languages · Computer Science 2025-01-30 Marco Giunti , Nobuko Yoshida

Latency-insensitive design mitigates increasing interconnect delay and enables productive component reuse in complex digital systems. This design style has been adopted in high-level design flows because untimed functional blocks connected…

Logic in Computer Science · Computer Science 2021-02-19 Steve Dai , Alicia Klinefelter , Haoxing Ren , Rangharajan Venkatesan , Ben Keller , Nathaniel Pinckney , Brucek Khailany

A novel parallel patterns library, Groovy Parallel Patterns, is presented which, from the outset, has been designed to exploit more general process parallelism than the usual data and task parallel architectures. The library executes on a…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-23 Jon Kerridge , Neil Urquhart

We study the problem of disentangling locked processes via code refactoring. We identify and characterise a class of processes that is not lock-free; then we formalise an algorithm that statically detects potential locks and propose…

Programming Languages · Computer Science 2016-08-08 Adrian Francalanza , Marco Giunti , António Ravara

This paper proposes a sound procedure to verify properties of communicating session automata (CSA), i.e., communicating automata that include multiparty session types. We introduce a new asynchronous compatibility property for CSA, called…

Programming Languages · Computer Science 2019-05-22 Julien Lange , Nobuko Yoshida

There is often a sort of a protocol associated to each class, stating when and how certain methods should be called. Given that this protocol is, if at all, described in the documentation accompanying the class, current mainstream…

Programming Languages · Computer Science 2011-10-20 Joana Campos , Vasco T. Vasconcelos

Rust 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, arbitrarily ordering…

Programming Languages · Computer Science 2022-02-03 Zak Cutner , Nobuko Yoshida , Martin Vassor

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 using affinity and exception handling mechanisms have been developed to ensure the communication safety of protocols implemented in concurrent and distributed programming languages. Nevertheless, current affine session types…

Programming Languages · Computer Science 2024-09-02 Ping Hou , Nicolas Lagaillardie , Nobuko Yoshida

Session types have emerged as a powerful paradigm for structuring communication-based programs. They guarantee type soundness and session fidelity for concurrent programs with sophisticated communication protocols. As type soundness proofs…

Programming Languages · Computer Science 2019-08-09 Peter Thiemann

The process of decomposing a complex system into simpler subsystems has been of interest to computer scientists over many decades, for instance, for the field of distributed computing. In this paper, motivated by the desire to distribute…

Formal Languages and Automata Theory · Computer Science 2019-08-26 Omar al Duhaiby , Jan Friso Groote

Distributed Complex Event Processing has emerged as a well-established paradigm to detect situations of interest from basic sensor streams, building an operator graph between sensors and applications. In order to detect event patterns that…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-17 Ruben Mayer , Muhammad Adnan Tariq , Kurt Rothermel

Federated learning (FL), an emerging distributed machine learning paradigm, in conflux with edge computing is a promising area with novel applications over mobile edge devices. In FL, since mobile devices collaborate to train a model based…

Machine Learning · Computer Science 2021-11-02 Pavana Prakash , Jiahao Ding , Maoqiang Wu , Minglei Shu , Rong Yu , Miao Pan