Certified Compilation of Choreographies with hacc

03/07/2023
by   Luís Cruz-Filipe, et al.
0

Programming communicating processes is challenging, because it requires writing separate programs that perform compatible send and receive actions at the right time during execution. Leaving this task to the programmer can easily lead to bugs. Choreographic programming addresses this challenge by equipping developers with high-level abstractions for codifying the desired communication structures from a global viewpoint. Given a choreography, implementations of the involved processes can be automatically generated by endpoint projection (EPP). While choreographic programming prevents manual mistakes in the implementation of communications, the correctness of a choreographic programming framework crucially hinges on the correctness of its complex compiler, which has motivated formalisation of theories of choreographic programming in theorem provers. In this paper, we build upon one of these formalisations to construct a toolchain that produces executable code from a choreography.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/19/2020

Choreographies as Objects

We present Choral, the first framework for programming choreographies (m...
research
03/07/2023

Real-World Choreographic Programming: An Experience Report

Choreographic programming is a programming paradigm, whereby the overall...
research
03/11/2022

Veracity: Declarative Multicore Programming with Commutativity

There is an ongoing effort to provide programming abstractions that ease...
research
11/28/2017

Communications in Choreographies, Revisited

Choreographic Programming is a paradigm for developing correct-by-constr...
research
07/09/2020

Kanren Light: A Dynamically Semi-Certified Interactive Logic Programming System

We present an experimental system strongly inspired by miniKanren, imple...
research
12/04/2022

Differential Testing of a Verification Framework for Compiler Optimizations (Experience Paper)

We want to verify the correctness of optimization phases in the GraalVM ...
research
05/17/2018

Efficient compilation of array probabilistic programs

Probabilistic programming languages are valuable because they allow us t...

Please sign up or login with your details

Forgot password? Click here to reset