English
Related papers

Related papers: A Language for the Declarative Composition of Conc…

200 papers

We propose a formal model for distributed systems, where each participant advertises its requirements and obligations as behavioural contracts, and where multiparty sessions are started when a set of contracts allows to synthesise a…

Logic in Computer Science · Computer Science 2013-10-18 Julien Lange , Alceste Scalas

The scenario-based specification of a large distributed system is usually naturally decomposed into various modules. The integration of specification modules contrasts to the parallel composition of program components, and includes various…

Programming Languages · Computer Science 2012-10-09 Guoxin Su , Mingsheng Ying , Chengqi Zhang

Concurrent distributed systems are notoriously difficult to construct and reason about. Choreographic programming is a recent paradigm that describes a distributed system in a single global program called a choreography. Choreographies…

Programming Languages · Computer Science 2024-03-13 Mako Bates , Joseph P. Near

Formal, mathematically rigorous programming language semantics are the essential prerequisite for the design of logics and calculi that permit automated reasoning about concurrent programs. We propose a novel modular semantics designed to…

Programming Languages · Computer Science 2022-02-25 Crystal Chang Din , Reiner Hähnle , Ludovic Henrio , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

Compositionality is thought to be a key component of language, and various compositional benchmarks have been developed to empirically probe the compositional generalization of existing sequence processing models. These benchmarks often…

Machine Learning · Computer Science 2024-05-07 Parikshit Ram , Tim Klinger , Alexander G. Gray

The paper presents a data-driven model of self-adaptivity for multiparty sessions. System choreography is prescribed by a global type. Participants are incarnated by processes associated with monitors, which control their behaviour. Each…

Logic in Computer Science · Computer Science 2016-06-21 Mario Coppo , Mariangiola Dezani-Ciancaglini , Betti Venneri

In programming models with a reversible semantics, computational steps can be undone. This paper addresses the integration of reversible semantics into process languages for communication-centric systems equipped with behavioral types. In…

Logic in Computer Science · Computer Science 2023-06-22 Claudio Antares Mezzina , Jorge A. Pérez

Incorrect implementations of network protocol message specifications affect the stability, security, and cost of network system development. Most implementation defects fall into one of three categories of well defined message constraints.…

Networking and Internet Architecture · Computer Science 2013-11-15 C. Jasson Casey , Andrew Sutton , Gabriel Dos Reis , Alex Sprintson

Research in discourse processing has identified two representational requirements for discourse planning systems. First, discourse plans must adequately represent the intentional structure of the utterances they produce in order to enable a…

cmp-lg · Computer Science 2008-02-03 R. Michael Young , Johanna D. Moore

Multiparty 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…

Logic in Computer Science · Computer Science 2024-06-10 Kirstin Peters , Nobuko Yoshida

We are entering a new era in which software systems are becoming more and more complex and larger. So, the composition of such systems is becoming infeasible by manual means. To address this challenge, self-organising software models…

Formal Languages and Automata Theory · Computer Science 2025-08-27 Damian Arellanes

We present CryptoChoreo, a choreography language for the specification of cryptographic protocols. Choreographies can be regarded as an extension of Alice-and-Bob notation, providing an intuitive high-level view of the protocol as a whole…

Cryptography and Security · Computer Science 2026-02-16 Sebastian Mödersheim , Simon Lund , Alessandro Bruni , Marco Carbone , Rosario Giustolisi

Although randomization has long been used in distributed computing, formal methods for reasoning about probabilistic concurrent programs have lagged behind. No existing program logics can express specifications about the full distributions…

Logic in Computer Science · Computer Science 2025-11-26 Noam Zilberstein , Alexandra Silva , Joseph Tassarotti

In the past decades, many different programming models for managing concurrency in applications have been proposed, such as the actor model, Communicating Sequential Processes, and Software Transactional Memory. The ubiquity of multi-core…

Programming Languages · Computer Science 2014-06-16 Janwillem Swalens , Stefan Marr , Joeri De Koster , Tom Van Cutsem

Decomposition, statically dividing a program into multiple units, is a common programming technique for realizing parallelism and refining programs. The decomposition of a sequential program into components is tedious, due to the…

Software Engineering · Computer Science 2020-09-09 Sabah Al-Fedaghi

This paper presents the first implementation of session types in a dynamically-typed language - Python. Communication safety of the whole system is guaranteed at runtime by monitors that check the execution traces comply with an associated…

Programming Languages · Computer Science 2013-12-11 Rumyana Neykova

We present AIOCJ, a framework for programming distributed adaptive applications. Applications are programmed using AIOC, a choreographic language suited for expressing patterns of interaction from a global point of view. AIOC allows the…

Programming Languages · Computer Science 2014-07-11 Mila Dalla Preda , Saverio Giallorenzo , Ivan Lanese , Jacopo Mauro , Maurizio Gabbrielli

A population protocol describes a set of state change rules for a population of $n$ indistinguishable finite-state agents (automata), undergoing random pairwise interactions. Within this very basic framework, it is possible to resolve a…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-04-19 Adrian Kosowski , Przemysław Uznański

Undefined behavior in C often causes devastating security vulnerabilities. One practical mitigation is compartmentalization, which allows developers to structure large programs into mutually distrustful compartments with clearly specified…

Proving correctness of distributed or concurrent algorithms is a mind-challenging and complex process. Slight errors in the reasoning are difficult to find, calling for computer-checked proof systems. In order to build computer-checked…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-21 Armando Castañeda , Aurélie Hurault , Philippe Quéinnec , Matthieu Roy