English
Related papers

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

200 papers

In the paradigm of choreographic programming, the overall behaviour of a distributed system is coded as a choreography from a global viewpoint. The choreography can then be automatically projected (compiled) to a correct implementation for…

Programming Languages · Computer Science 2024-01-01 Lovro Lugović , Fabrizio Montesi

Choreographic programming is a paradigm for writing distributed applications. It allows programmers to write a single program, called a choreography, that can be compiled to generate correct implementations of each process in the…

Programming Languages · Computer Science 2024-07-16 Dan Plyukhin , Marco Peressotti , Fabrizio Montesi

Choreographic Programming is a paradigm for the development of concurrent software, where deadlocks are prevented syntactically. However, choreography languages are typically synchronous, whereas many real-world systems have asynchronous…

Programming Languages · Computer Science 2017-12-01 Luís Cruz-Filipe , Fabrizio Montesi

Compositional methods are central to the development and verification of software systems. They allow to break down large systems into smaller components, while enabling reasoning about the behaviour of the composed system. For concurrent…

Logic in Computer Science · Computer Science 2020-11-12 Alex C. Keizer , Henning Basold , Jorge A. Pérez

Choreographic programming promises a simple approach to the coding of concurrent and distributed systems: write the collective communication behaviour of a system of processes as a choreography, and then the programs for these processes are…

Programming Languages · Computer Science 2025-03-18 Eva Graversen , Fabrizio Montesi , Marco Peressotti

Choreographies are formal descriptions of distributed systems, which focus on the way in which participants communicate. While they are useful for analysing protocols, in practice systems are written directly by specifying each…

Programming Languages · Computer Science 2022-07-20 Bjørn Angel Kjær , Luís Cruz-Filipe , Fabrizio Montesi

We present an overview of some recent efforts aimed at the development of Choreographic Programming, a programming paradigm for the production of concurrent software that is guaranteed to be correct by construction from global descriptions…

Programming Languages · Computer Science 2015-02-11 Fabrizio Montesi

Recent advances in large language models have led to the rise of software systems (i.e. agents) that execute with increasing autonomy on behalf of users in open, multi-party settings, interacting with untrusted counterparts and managing…

Programming Languages · Computer Science 2026-05-06 Kiran Gopinathan , Jack Feser , Michelangelo Naim , Zenna Tavares , Eli Bingham

Traditional concurrent-programming techniques require programmers to painstakingly write programs for each participant in a concurrent system. Choreographic programming, in contrast, allows a programmer to write one centralized program and…

Programming Languages · Computer Science 2026-05-25 Ashley Samuelson , Andrew K. Hirsch , Ethan Cecchetti

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

The development of high-quality software or software-intensive systems requires custom-tailored process models that fit the organizational and project goals as well as the development contexts. These models are a necessary prerequisite for…

Software Engineering · Computer Science 2014-01-20 Jürgen Münch

Choreographic programming is an emerging programming paradigm for concurrent and distributed systems, whereby developers write the communications that should be enacted and then a distributed implementation is automatically obtained by…

Programming Languages · Computer Science 2022-08-18 Luís Cruz-Filipe , Eva Graversen , Lovro Lugović , Fabrizio Montesi , Marco Peressotti

We present Cho-Reo-graphies (CR), a new language model that unites two powerful programming paradigms for concurrent software based on communicating processes: Choreographic Programming and Exogenous Coordination. In CR, programmers specify…

Programming Languages · Computer Science 2018-04-25 Farhad Arbab , Luís Cruz-Filipe , Sung-Shik Jongmans , Fabrizio Montesi

Concurrent programming often entails meticulous pairing of sends and receives between participants to avoid deadlock. Choreographic programming alleviates this burden by specifying the system as a single program. However, there are more…

Programming Languages · Computer Science 2025-05-28 Alexander Bohosian , Andrew K. Hirsch

In the context of security protocol parallel composition, where messages belonging to different protocols can intersect each other, we introduce a new paradigm: term-based composition (i.e. the composition of message components also known…

Cryptography and Security · Computer Science 2016-11-18 Bela Genge , Piroska Haller , Ovidiu Ratoi , Iosif Ignat

Choreographic programming is a promising new paradigm for programming concurrent systems where a developer writes a single centralized program that compiles to individual programs for each node. Existing choreographic languages, however,…

Programming Languages · Computer Science 2025-08-22 Ashley Samuelson , Andrew K. Hirsch , Ethan Cecchetti

Dependency analysis is a technique to identify and determine data dependencies between service protocols. Protocols evolving concurrently in the service composition need to impose an order in their execution if there exist data…

Software Engineering · Computer Science 2010-07-30 Javier Cubo , Ernesto Pimentel , Gwen Salaün , Carlos Canal

We present initial results on a comprehensive model of structured communications, in which self- adaptation and security concerns are jointly addressed. More specifically, we propose a model of self-adaptive, multiparty communications with…

Logic in Computer Science · Computer Science 2014-08-27 Ilaria Castellani , Mariangiola Dezani-Ciancaglini , Jorge A. Pérez

Implementing distributed systems is hard; choreographic programming aims to make it easier. In this paper, we present the design of a new choreographic programming language that supports isolated transactions among overlapping sets of…

Programming Languages · Computer Science 2023-04-14 Ton Smeele , Sung-Shik Jongmans

Swarm protocols are a recently introduced formalism for specifying, implementing, and verifying peer-to-peer systems called swarms. A swarm consists of distributed agents called machines that communicate by asynchronous event propagation.…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-04-20 Florian Furbach , Lucas Clorius , Roland Kuhn , Hernán Melgratti , Alceste Scalas , Emilio Tuosto