Toward Verified Library-Level Choreographic Programming with Algebraic Effects
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 CP frameworks have emerged, in which choreographies and EPP a...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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 CP frameworks have emerged, in which choreographies and EPP are
expressed as constructs in an existing host language. So far, however,
library-level CP lacks a solid theoretical foundation.
In this paper, we propose modeling library-level CP using algebraic effects,
an abstraction that generalizes the approach taken by existing CP libraries.
Algebraic effects let us define choreographies as computations with
user-defined effects and EPP as location-specific effect handlers. Algebraic
effects also lend themselves to reasoning about correctness properties, such as
soundness and completeness of EPP. We present a prototype of a library-level CP
framework based on algebraic effects, implemented in the Agda proof assistant,
and discuss our ongoing work on leveraging the algebraic-effects-based approach
to prove the correctness of our library-level CP implementation. |
---|---|
DOI: | 10.48550/arxiv.2407.06509 |