English
Related papers

Related papers: Dynamic Choreographies - Safe Runtime Updates of D…

200 papers

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

Modern interactive visualizations are akin to distributed systems, where user interactions, background data processing, remote requests, and streaming data read and modify the interface at the same time. This concurrency is crucial to…

Human-Computer Interaction · Computer Science 2019-07-02 Yifan Wu , Remco Chang , Eugene Wu , Joe Hellerstein

Choreographic programming is a paradigm for developing concurrent and distributed systems, where programs are choreographies that define, from a global viewpoint, the computations and interactions that communicating processes should enact.…

Programming Languages · Computer Science 2021-08-30 Luís Cruz-Filipe , Fabrizio Montesi , Marco Peressotti

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

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

The majority of contemporary mobile devices and personal computers are based on heterogeneous computing platforms that consist of a number of CPU cores and one or more Graphics Processing Units (GPUs). Despite the high volume of these…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-02-20 Jani Boutellier , Jiahao Wu , Heikki Huttunen , Shuvra S. Bhattacharyya

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

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

A new paradigm to support the communication among modules dynamically placed on a reconfigurable device at run-time is presented. Based on the network on chip (NoC) infrastructure, we developed a dynamic communication infrastructure as well…

Hardware Architecture · Computer Science 2007-05-23 Christophe Bobda , Ali Ahmadinia , Mateusz Majer , Juergen Teich , Sandor P. Fekete , Jan van der Veen

Choreographic programming is a programming-language design approach that drives error-safe protocol development in distributed systems. Starting from a global specification (choreography) one can generate distributed implementations. The…

Programming Languages · Computer Science 2016-11-18 Hugo A. López , Flemming Nielson , Hanne Riis Nielson

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

DevOps pipeline is a set of automated tasks or processes or jobs that has tasks assigned to execute automatically that allow the Development team and Operations team to collaborate for building and deployment of the software or services.…

Software Engineering · Computer Science 2025-03-21 Adarsh Saxena , Sudhakar Singh , Shiv Prakash , Tiansheng Yang , Rajkumar Singh Rathore

Decentralized applications (dApps) consist of smart contracts that run on blockchains and clients that model collaborating parties. dApps are used to model financial and legal business functionality. Today, contracts and clients are written…

Programming Languages · Computer Science 2023-05-16 David Richter , David Kretzler , Pascal Weisenburger , Guido Salvaneschi , Sebastian Faust , Mira Mezini

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

Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification and synthesis of correct-by-construction software. They require a top-down approach: programmers first…

Programming Languages · Computer Science 2022-05-09 Luis Cruz-Filipe , Kim S. Larsen , Fabrizio Montesi , Larisa Safina

Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification (e.g., Multiparty Session Types) and synthesis of correct-by-construction software (Choreographic…

Programming Languages · Computer Science 2017-08-09 Luís Cruz-Filipe , Kim S. Larsen , Fabrizio Montesi

Distributed programs are hard to get right because they are required to be open, scalable, long-running, and tolerant to faults. In particular, the recent approaches to distributed software based on (micro-)services where different services…

Programming Languages · Computer Science 2017-08-25 Ian Cassar , Adrian Francalanza , Claudio Antares Mezzina , Emilio Tuosto

With the magnitude of graph-structured data continually increasing, graph processing systems that can scale-out and scale-up are needed to handle extreme-scale datasets. While existing distributed out-of-core solutions have made it…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-01-19 Jiping Yu , Wei Qin , Xiaowei Zhu , Zhenbo Sun , Jianqiang Huang , Xiaohan Li , Wenguang Chen

Modern large-scale language model pre-training relies heavily on the single program multiple data (SPMD) paradigm, which requires tight coupling across accelerators. Due to this coupling, transient slowdowns, hardware failures, and…

We present Pirouette, a language for typed higher-order functional choreographic programming. Pirouette offers programmers the ability to write a centralized functional program and compile it via endpoint projection into programs for each…

Programming Languages · Computer Science 2021-11-10 Andrew K. Hirsch , Deepak Garg