A Formal Theory of Choreographic Programming

09/05/2022
by   Luís Cruz-Filipe, et al.
0

Choreographic programming is a paradigm for writing coordination plans for distributed systems from a global point of view, from which correct-by-construction decentralised implementations can be generated automatically. Theory of choreographies typically includes a number of complex results that are proved by structural induction. The high number of cases and the subtle details in some of these proofs has led to important errors being found in published works. In this work, we formalise the theory of a choreographic programming language in Coq. Our development includes the basic properties of this language, a proof of its Turing completeness, a compilation procedure to a process language, and an operational characterisation of the correctness of this procedure. Our formalisation experience illustrates the benefits of using a theorem prover: we get both an additional degree of confidence from the mechanised proof, and a significant simplification of the underlying theory. Our results offer a foundation for the future formal development of choreographic languages.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/04/2021

Formalising a Turing-Complete Choreographic Language in Coq

Theory of choreographic languages typically includes a number of complex...
research
02/28/2023

Now It Compiles! Certified Automatic Repair of Uncompilable Protocols

Choreographic programming is a paradigm where developers write the globa...
research
03/15/2023

A Formalization of Operads in Coq

What provides the highest level of assurance for correctness of executio...
research
06/11/2019

The Prolog debugger and declarative programming

Logic programming is a declarative programming paradigm. Programming lan...
research
11/28/2018

Adventures in Formalisation: Financial Contracts, Modules, and Two-Level Type Theory

We present three projects concerned with applications of proof assistant...
research
05/18/2022

Zigzag normalisation for associative n-categories

The theory of associative n-categories has recently been proposed as a s...
research
10/17/2022

Holbert: Reading, Writing, Proving and Learning in the Browser

This paper presents Holbert: a work-in-progress pedagogical proof assist...

Please sign up or login with your details

Forgot password? Click here to reset