English
Related papers

Related papers: Choreography Synthesis as Contract Agreement

200 papers

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

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

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

Contracts are a well-established approach for describing and analyzing behavioral aspects of web service compositions. The theory of contracts comes equipped with a notion of compatibility between clients and servers that ensures that every…

Programming Languages · Computer Science 2011-01-26 Maria Grazia Buscemi , Hernán Melgratti

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

Choreographic Programming is a development methodology for concurrent software that guarantees correctness by construction. The key to this paradigm is to disallow mismatched I/O operations in programs, called choreographies, and then…

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

Designing large-scale control systems to satisfy complex specifications is hard in practice, as most formal methods are limited to systems of modest size. Contract theory has been proposed as a modular alternative to formal methods in…

Systems and Control · Electrical Eng. & Systems 2022-11-03 Miel Sharf , Bart Besselink , Karl Henrik Johansson

A recent study of bugs in real-world concurrent and distributed systems found that, while implementations of individual protocols tend to be robust, the composition of multiple protocols and its interplay with internal computation is the…

Programming Languages · Computer Science 2017-08-09 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

We propose a formal approach for specifying and implementing decentralised coordination in distributed systems, with a focus on smart contracts. Our model captures dynamic roles, data-driven transitions, and external coordination…

Programming Languages · Computer Science 2026-04-23 Elvis Konjoh Selabi , Maurizio Murgia , António Ravara , Emilio Tuosto

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

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

This paper introduces the concept of choreography with respect to inter-organizational innovation networks, as they constitute an attractive environment to create innovation in different sectors. We argue that choreography governs…

Social and Information Networks · Computer Science 2017-02-14 Giovanna Ferraro , Antonio Iovanella

Choreographic Programming is a programming paradigm for building concurrent programs that are deadlock-free by construction, as a result of programming communications declaratively and then synthesising process implementations…

Programming Languages · Computer Science 2018-10-10 Luís Cruz-Filipe , Fabrizio Montesi

We present assume-guarantee contracts for continuous-time linear dynamical systems with inputs and outputs. These contracts are used to express specifications on the dynamic behaviour of a system. Contrary to existing approaches, we use…

Dynamical Systems · Mathematics 2022-09-07 B. M. Shali , H. M. Heidema , A. J. van der Schaft , B. Besselink

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

We present the mathematical foundations of the contract-based model developed in the framework of the SPEEDS project. SPEEDS aims at developing methods and tools to support "speculative design", a design methodology in which distributed…

Software Engineering · Computer Science 2007-06-13 Albert Benveniste , Benoit Caillaud , Roberto Passerone

Dance generation is crucial and challenging, particularly in domains like dance performance and virtual gaming. In the current body of literature, most methodologies focus on Solo Music2Dance. While there are efforts directed towards Group…

Sound · Computer Science 2024-12-30 Kaixing Yang , Xulong Tang , Haoyu Wu , Qinliang Xue , Biao Qin , Hongyan Liu , Zhaoxin Fan