English
Related papers

Related papers: Correctly Communicating Software: Distributed, Asy…

200 papers

Much research has studied foundations for correct and reliable communication-centric systems. A salient approach to correctness uses session types to enforce structured communications; a recent approach to reliability uses reversible…

Logic in Computer Science · Computer Science 2016-06-21 Claudio A. Mezzina , Jorge A. Pérez

A common paradigm for scientific computing is distributed message-passing systems, and a common approach to these systems is to implement them across clusters of high-performance workstations. As multi-core architectures become increasingly…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-05-01 Christine Task , Arun Chauhan

Asynchronous multiparty session types are a type-based framework which ensure the compatibility of components in a distributed system by checking compliance against a specified global protocol. We propose a top-down approach, starting with…

Programming Languages · Computer Science 2026-04-16 Kai Pischke , Jake Masters , Nobuko Yoshida

Computer systems have evolved over the years starting from sizable, single-user, slow, and expensive machines to multi-user, fast, cheaper, and small-sized machines. The use of multi-user computer networks has given rise to a new paradigm…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-02-09 Aneesh Khole , Atharva Thakar , Avadhoot Kulkarni , Hrithik Jadhav , Shreyas Shende , Varad Karajkhede

Message passing is widely used in industry to develop programs consisting of several distributed communicating components. Developing functionally correct message passing software is very challenging due to the concurrent nature of message…

Logic in Computer Science · Computer Science 2016-06-21 Wytse Oortwijn , Stefan Blom , Marieke Huisman

Today's software systems are highly distributed and interconnected, and they increasingly rely on communication to achieve their goals; due to their societal importance, security and trustworthiness are crucial aspects for the correctness…

Consensus is an often occurring problem in concurrent and distributed programming. We present a programming language with simple semantics and build-in support for consensus in the form of communicating transactions. We motivate the need…

Programming Languages · Computer Science 2013-05-08 Carlo Spaccasassi , Vasileios Koutavas

Multiparty sessions are systems of concurrent processes, which allow several participants to communicate by sending and receiving messages. Their overall behaviour can be described by means of global types. Typable multiparty session enjoy…

Logic in Computer Science · Computer Science 2019-09-16 Franco Barbanera , Mariangiola Dezani-Ciancaglini

We tackle the problem of statically ensuring that message-passing programs never run into deadlocks. We focus on concurrent functional programs governed by context-free session types, which can express rich tree-like structures not…

Programming Languages · Computer Science 2026-02-24 Andreia Mordido , Jorge A. Pérez

Many concurrent and distributed systems are safety-critical and therefore have to provide a high degree of assurance. Important properties of such systems are frequently proved on the specification level, but implementations typically…

Logic in Computer Science · Computer Science 2023-08-22 Wolfgang Jeltsch , Javier Díaz

Concurrent computations resemble conversations. In a conversation, participants direct utterances at others and, as the conversation evolves, exploit the known common context to advance the conversation. Similarly, collaborating software…

Programming Languages · Computer Science 2024-09-09 Tony Garnock-Jones

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

We present efficient and practical algorithms for a large, distributed system of processors to achieve reliable computations in a secure manner. Specifically, we address the problem of computing a general function of several private inputs…

Cryptography and Security · Computer Science 2021-01-29 Donald Rozinak Beaver

We address the problem of verifying message passing programs, defined as a set of parallel processes communicating through unbounded FIFO buffers. We introduce a bounded analysis that explores a special type of computations, called…

Programming Languages · Computer Science 2018-04-20 Ahmed Bouajjani , Constantin Enea , Kailiang Ji , Shaz Qadeer

Effective communication is a critical factor in successful software engineering collaboration. However, communication gaps remain a persistent challenge, often leading to misunderstandings, inefficiencies, and defects. This research…

Distributed computing models typically assume reliable communication between processors. While such assumptions often hold for engineered networks, e.g., due to underlying error correction protocols, their relevance to biological systems,…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-06-29 Ofer Feinerman , Bernhard Haeupler , Amos Korman

Multiparty session types are a type system that can ensure the safety and liveness of distributed peers via the global specification of their interactions. To construct a global specification from a set of distributed uncontrolled…

Formal Languages and Automata Theory · Computer Science 2013-04-09 Pierre-Malo Deniélou , Nobuko Yoshida

Most of the existing verification techniques for message-passing programs suppose either that channel endpoints are used in a linear fashion, where at most one thread may send or receive from an endpoint at any given time, or that endpoints…

Programming Languages · Computer Science 2012-12-18 Étienne Lozes , Jules Villard

Correct concurrent behaviour is important in understanding how components will act within certain conditions. In this work. we analyse the behaviour of shared communicating channels within a coorporatively scheduled runtime. We use the…

Programming Languages · Computer Science 2025-10-15 Jan Pedersen , Kevin Chalmers

Modular programming is a cornerstone in software development, as it allows to build complex systems from the assembly of simpler components, and support reusability and substitution principles. In a distributed setting, component assembly…

Programming Languages · Computer Science 2018-01-25 Marco Carbone , Fabrizio Montesi , Hugo Torres Vieira