English
Related papers

Related papers: Communications in Choreographies, Revisited

200 papers

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

Choreographic models support a correctness-by-construction principle in distributed programming. Also, they enable the automatic generation of correct message-based communication patterns from a global specification of the desired system…

Programming Languages · Computer Science 2022-05-16 Lorenzo Gheri , Ivan Lanese , Neil Sayers , Emilio Tuosto , Nobuko Yoshida

Choreographies are widely used for the specification of concurrent and distributed software architectures. Since asynchronous communications are ubiquitous in real-world systems, previous works have proposed different approaches for the…

Programming Languages · Computer Science 2017-11-28 Luís Cruz-Filipe , Fabrizio Montesi

We present a choreographic framework for modelling and analysing concurrent probabilistic systems based on the PRISM model-checker. This is achieved through the development of a choreography language, which is a specification language that…

Logic in Computer Science · Computer Science 2026-03-13 Marco Carbone , Adele Veschetti

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

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

Functional choreographic programming suggests a new propositions-as-types paradigm might be possible. In this new paradigm, communication is not modeled linearly; instead, ownership of a piece of data is modeled as a modality, and…

Programming Languages · Computer Science 2024-06-04 Andrew K. Hirsch

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

We define a method to automatically synthesize provably-correct efficient distributed implementations from high-level global choreographies. A global choreography describes the execution and communication logic between a set of provided…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-06-03 Mohamad Jaber , Yliès Falcone , Paul Attie , Al-Abbass Khalil , Rayan Hallal

Choreographic programming (CP) is a paradigm for implementing distributed systems that uses a single global program to define the actions and interactions of all participants. Library-level CP implementations, like HasChor, integrate well…

Programming Languages · Computer Science 2025-04-25 Mako Bates , Shun Kashiwa , Syed Jafri , Gan Shen , Lindsey Kuper , Joseph P. Near

Choreographic programming is an emerging paradigm for programming distributed systems. In choreographic programming, the programmer describes the behavior of the entire system as a single, unified program -- a choreography -- which is then…

Programming Languages · Computer Science 2023-07-21 Gan Shen , Shun Kashiwa , Lindsey Kuper

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

Choreographies specify multiparty interactions via message passing. A realisation of a choreography is a composition of independent processes that behave as specified by the choreography. Existing relations of correctness/completeness…

Software Engineering · Computer Science 2023-06-22 Laura Bocchi , Hernan Melgratti , Emilio Tuosto

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

Choreographic Programming (CP) is a language paradigm whereby software artefacts, called choreographies, specify the behaviour of communicating participants. CP is famous for its correctness-by-construction approach to the development of…

Programming Languages · Computer Science 2024-06-14 Giuseppe De Palma , Saverio Giallorenzo , Jacopo Mauro , Matteo Trentin , Gianluigi Zavattaro

To generate dance that temporally and aesthetically matches the music is a challenging problem, as the following factors need to be considered. First, the aesthetic styles and messages conveyed by the motion and music should be consistent.…

Multimedia · Computer Science 2022-07-18 Ho Yin Au , Jie Chen , Junkun Jiang , Yike Guo

We introduce a meta-model based on formal languages, dubbed formal choreographic languages, to study message-passing systems. Our framework allows us to generalise standard constructions from the literature and to compare them. In…

Logic in Computer Science · Computer Science 2024-02-14 Franco Barbanera , Ivan Lanese , Emilio Tuosto

We present PolyChor$\lambda$, a language for higher-order functional \emph{choreographic programming} -- an emerging paradigm by which programmers write the desired cooperative behaviour of a system of communicating processes and then…

Programming Languages · Computer Science 2023-03-09 Eva Graversen , Andrew K. Hirsch , 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