English
Related papers

Related papers: A Formal Theory of Choreographic Programming

200 papers

One can perform equational reasoning about computational effects with a purely functional programming language thanks to monads. Even though equational reasoning for effectful programs is desirable, it is not yet mainstream. This is partly…

Logic in Computer Science · Computer Science 2025-01-15 Reynald Affeldt , Jacques Garrigue , Takafumi Saikawa

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

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

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

For performance and verification in machine learning, new methods have recently been proposed that optimise learning systems to satisfy formally expressed logical properties. Among these methods, differentiable logics (DLs) are used to…

Logic in Computer Science · Computer Science 2024-07-08 Reynald Affeldt , Alessandro Bruni , Ekaterina Komendantskaya , Natalia Ślusarz , Kathrin Stark

CoqQ is a framework for reasoning about quantum programs in the Coq proof assistant. Its main components are: a deeply embedded quantum programming language, in which classic quantum algorithms are easily expressed, and an expressive…

Programming Languages · Computer Science 2022-07-26 Li Zhou , Gilles Barthe , Pierre-Yves Strub , Junyi Liu , Mingsheng Ying

We investigate refinement in the context of choreographies. We introduce refinable global choreographies allowing for the underspecification of protocols, whose interactions can be refined into actual protocols. Arbitrary refinements may…

Logic in Computer Science · Computer Science 2020-09-18 Ugo de'Liguoro , Hernán Melgratti , Emilio Tuosto

This paper describes a procedure that system developers can follow to translate typical mathematical representations of linearized control systems into logic theories. These theories are then used to verify system requirements and find…

Logic in Computer Science · Computer Science 2021-08-09 Andrea Domenici , Cinzia Bernardeschi

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

The syntax of an imperative language does not mention explicitly the state, while its denotational semantics has to mention it. In this paper we present a framework for the verification in Coq of properties of programs manipulating the…

Logic in Computer Science · Computer Science 2013-10-15 Jean-Guillaume Dumas , Dominique Duval , Burak Ekici , Damien Pous

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

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

Context-free language theory is a well-established area of mathematics, relevant to computer science foundations and technology. This paper presents the preliminary results of an ongoing formalization project using context-free grammars and…

Formal Languages and Automata Theory · Computer Science 2015-06-11 Marcus V. M. Ramos , Ruy J. G. B. de Queiroz

What provides the highest level of assurance for correctness of execution within a programming language? One answer, and our solution in particular, to this problem is to provide a formalization for, if it exists, the denotational semantics…

Category Theory · Mathematics 2023-03-17 Zachary Flores , Angelo Taranto , Eric Bond , Yakir Forman

The use of formal methods provides confidence in the correctness of developments. Yet one may argue about the actual level of confidence obtained when the method itself -- or its implementation -- is not formally checked. We address this…

Logic in Computer Science · Computer Science 2009-02-24 Eric Jaeger , Catherine Dubois

Expressive static typing disciplines are a powerful way to achieve high-quality software. However, the adoption cost of such techniques should not be under-estimated. Just like gradual typing allows for a smooth transition from…

Programming Languages · Computer Science 2015-08-25 Éric Tanter , Nicolas Tabareau

Several formal systems, such as resolution and minimal model semantics, provide a framework for logic programming. In this paper, we will survey the use of structural proof theory as an alternative foundation. Researchers have been using…

Logic in Computer Science · Computer Science 2021-11-02 Dale Miller

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

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

This paper presents an algebraic theory of instruction sequences with instructions for Turing tapes as basic instructions, the behaviours produced by the instruction sequences concerned under execution, and the interaction between such…

Programming Languages · Computer Science 2020-01-06 J. A. Bergstra , C. A. Middelburg