English
Related papers

Related papers: Choreographies in Practice

200 papers

Choreographic programming (CP) is a paradigm for programming distributed applications as single, unified programs, called choreographies, that are then compiled to node-local programs via endpoint projection (EPP). Recently, library-level…

Programming Languages · Computer Science 2024-07-10 Gan Shen , Lindsey Kuper

We present Choral, the first choreographic programming language based on mainstream abstractions. The key idea in Choral is a new notion of data type, which allows for expressing that data is distributed over different roles. We use this…

Programming Languages · Computer Science 2023-10-20 Saverio Giallorenzo , Fabrizio Montesi , Marco Peressotti

Software companies that develop their products on a basis of service-oriented architecture (SOA) can expect various improvements as a result of choreography. Current choreography practices, however, are not yet used extensively in the…

Software Engineering · Computer Science 2017-08-31 Nebojša Taušan , Jouni Markkula , Pasi Kuvaja , Markku Oivo

Choreographies are global descriptions of system behaviors, from which the local behavior of each endpoint entity can be obtained automatically through projection. To guarantee that its projection is correct, i.e. it has the same behaviors…

Programming Languages · Computer Science 2013-08-05 Ivan Lanese , Fabrizio Montesi , Gianluigi Zavattaro

A choreography describes a transaction in which several principals interact. Since choreographies frequently describe business processes affecting substantial assets, we need a security infrastructure in order to implement them safely. As…

Logic in Computer Science · Computer Science 2010-02-05 Marco Carbone , Joshua Guttman

Choreographies describe distributed protocols from a global viewpoint, enabling correct-by-construction synthesis of local behaviours. We develop a policy-parametric type system that prevents information leaks from high-security data to…

Programming Languages · Computer Science 2026-02-26 Marco Bertoni , Saverio Giallorenzo , Marco Peressotti

The runtime analysis of decentralised software requires instrumentation methods that are scalable, but also minimally invasive. This paper presents a new algorithm that instruments choreographed outline monitors. Our instrumentation…

Software Engineering · Computer Science 2021-04-20 Luca Aceto , Duncan Paul Attard , Adrian Francalanza , Anna Ingólfsdóttir

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

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

We present Multiparty Classical Choreographies (MCC), a language model where global descriptions of communicating systems (choreographies) implement typed multiparty sessions. Typing is achieved by generalising classical linear logic to…

Programming Languages · Computer Science 2018-12-04 Marco Carbone , Luis Cruz-Filipe , Fabrizio Montesi , Agata Murawska

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

The BPMN 2.0 standard is a widely used semi-formal notation to model distributed information systems from different perspectives. The standard makes available a set of diagrams to represent such perspectives. Choreography diagrams represent…

Software Engineering · Computer Science 2023-06-22 Flavio Corradini , Andrea Morichetta , Andrea Polini , Barbara Re , Francesco Tiezzi

We survey our results about verification of adaptable processes. We present adaptable processes as a way of overcoming the limitations that process calculi have for describing patterns of dynamic process evolution. Such patterns rely on…

Logic in Computer Science · Computer Science 2015-12-25 Mario Bravetti

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

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

Programming distributed applications free from communication deadlocks and races is complex. Preserving these properties when applications are updated at runtime is even harder. We present DIOC, a language for programming distributed…

Programming Languages · Computer Science 2015-04-01 Mila Dalla Preda , Maurizio Gabbrielli , Saverio Giallorenzo , Ivan Lanese , Jacopo Mauro

The aim of the paper is to introduce general techniques in order to optimize the parallel execution time of sorting on a distributed architectures with processors of various speeds. Such an application requires a partitioning step. For…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-16 Christophe Cérin , Jean-Christophe Dubacq , Jean-Louis Roch , the SafeScale Collaboration

Cryptographic Protocols (CP) are distributed algorithms intended for secure communication in an insecure environment. They are used, for example, in electronic payments, electronic voting procedures, systems of confidential data processing,…

Cryptography and Security · Computer Science 2021-09-21 Andrew M. Mironov

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