English
Related papers

Related papers: Design and Implementation of Concurrent C0

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

Concurrent pattern calculus (CPC) drives interaction between processes by comparing data structures, just as sequential pattern calculus drives computation. By generalising from pattern matching to pattern unification, interaction becomes…

Logic in Computer Science · Computer Science 2015-07-01 Thomas Given-Wilson , Daniele Gorla , Barry Jay

Global types are formal specifications that describe communication protocols in terms of their global interactions. We present a new, streamlined language of global types equipped with a trace-based semantics and whose features and…

Programming Languages · Computer Science 2015-07-01 Giuseppe Castagna , Mariangiola Dezani-Ciancaglini , Luca Padovani

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

Objects and actors are communicating state machines, offering and consuming different services at different points in their lifecycle. Two complementary challenges arise when programming such systems. When objects interact, their state…

Programming Languages · Computer Science 2016-06-21 Roly Perera , Julien Lange , Simon J. Gay

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

Component-based development is challenging in a distributed setting, for starters considering programming a task may involve the assembly of loosely-coupled remote components. In order for the task to be fulfilled, the supporting…

Programming Languages · Computer Science 2020-09-18 Zorica Savanović , Letterio Galletta , Hugo Torres Vieira

Session types are becoming popular and have been integrated in several mainstream programming languages. Nevertheless, while many programming languages consider asynchronous fifo channel communication, the notion of subtyping used in…

Programming Languages · Computer Science 2021-04-30 Lorenzo Bacchiani , Mario Bravetti , Julien Lange , Gianluigi Zavattaro

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

This paper investigates session programming and typing of benchmark examples to compare productivity, safety and performance with other communications programming languages. Parallel algorithms are used to examine the above aspects due to…

Programming Languages · Computer Science 2010-02-05 Andi Bejleri , Raymond Hu , Nobuko Yoshida

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

Computation nowadays is becoming inherently concurrent, either because of characteristics of the hardware (with multicore processors becoming omnipresent) or due to the ubiquitous presence of distributed systems (incarnated in the…

Software Engineering · Computer Science 2011-08-01 Mohammad Reza Mousavi , Antonio Ravara

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

The continuous-variable coherent (conat) channel is a useful resource for coherent communication, producing coherent teleportation and coherent superdense coding. We extend the conat channel to multiparty conditions by proposing definitions…

Quantum Physics · Physics 2013-05-14 Guangqiang He , Taizhi Liu , Xin Tao

The Go programming language is an increasingly popular language but some of its features lack a formal investigation. This article explains Go's resolution mechanism for overloaded methods and its support for structural subtyping by means…

Programming Languages · Computer Science 2021-09-22 Martin Sulzmann , Stefan Wehr

X10 is a modern language built from the ground up to handle future parallel systems, from multicore machines to cluster configurations. We take a closer look at a pair of synchronisation mechanisms: finish and clocks. The former waits for…

Programming Languages · Computer Science 2011-10-20 Francisco Martins , Vasco T. Vasconcelos , Tiago Cogumbreiro

Noninterference guarantees that an attacker cannot infer secrets by interacting with a program. Information flow control (IFC) type systems assert noninterference by tracking the level of information learned (pc) and disallowing…

Programming Languages · Computer Science 2024-07-31 Farzaneh Derakhshan , Stephanie Balzer , Yue Yao

The concept of functionality oriented programming is proposed, and some of its aspects are discussed, such as: (1) implementation independent basic types and generic collection types; (2) syntax requirements and recommendations for…

Programming Languages · Computer Science 2011-02-21 Chengpu Wang

We define "coherent communication" in terms of a simple primitive, show it is equivalent to the ability to send a classical message with a unitary or isometric operation, and use it to relate other resources in quantum information theory.…

Quantum Physics · Physics 2009-11-10 Aram W. Harrow

Session types define protocols that processes must follow when communicating. The special case of binary session types, i.e. type annotations of protocols between two parties, is known to be in a propositions-as-types correspondence with…

Programming Languages · Computer Science 2021-12-15 Marco Carbone , Sonia Marin , Carsten Schürmann