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!
|
container_end_page | |
---|---|
container_issue | |
container_start_page | |
container_title | |
container_volume | |
creator | Shen, Gan Kuper, Lindsey |
description | 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_str_mv | 10.48550/arxiv.2407.06509 |
format | Article |
fullrecord | <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_2407_06509</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2407_06509</sourcerecordid><originalsourceid>FETCH-arxiv_primary_2407_065093</originalsourceid><addsrcrecordid>eNpjYJA0NNAzsTA1NdBPLKrILNMzMjEw1zMwMzWw5GTwC8kvTyxKUQhLLcpMy0xNUfDJTCpKLKrU9UktS81RcM7IL0rNTy9KLMjITFYIKAIxc3Mz89IVyjNLMhQcc9JTgcqBUq5paanJJcU8DKxpiTnFqbxQmptB3s01xNlDF2xzfEFRZi7Q8HiQC-LBLjAmrAIAj988FQ</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Toward Verified Library-Level Choreographic Programming with Algebraic Effects</title><source>arXiv.org</source><creator>Shen, Gan ; Kuper, Lindsey</creator><creatorcontrib>Shen, Gan ; Kuper, Lindsey</creatorcontrib><description>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.</description><identifier>DOI: 10.48550/arxiv.2407.06509</identifier><language>eng</language><subject>Computer Science - Programming Languages</subject><creationdate>2024-07</creationdate><rights>http://creativecommons.org/licenses/by/4.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,780,885</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/2407.06509$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.2407.06509$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Shen, Gan</creatorcontrib><creatorcontrib>Kuper, Lindsey</creatorcontrib><title>Toward Verified Library-Level Choreographic Programming with Algebraic Effects</title><description>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.</description><subject>Computer Science - Programming Languages</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNpjYJA0NNAzsTA1NdBPLKrILNMzMjEw1zMwMzWw5GTwC8kvTyxKUQhLLcpMy0xNUfDJTCpKLKrU9UktS81RcM7IL0rNTy9KLMjITFYIKAIxc3Mz89IVyjNLMhQcc9JTgcqBUq5paanJJcU8DKxpiTnFqbxQmptB3s01xNlDF2xzfEFRZi7Q8HiQC-LBLjAmrAIAj988FQ</recordid><startdate>20240708</startdate><enddate>20240708</enddate><creator>Shen, Gan</creator><creator>Kuper, Lindsey</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20240708</creationdate><title>Toward Verified Library-Level Choreographic Programming with Algebraic Effects</title><author>Shen, Gan ; Kuper, Lindsey</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-arxiv_primary_2407_065093</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Computer Science - Programming Languages</topic><toplevel>online_resources</toplevel><creatorcontrib>Shen, Gan</creatorcontrib><creatorcontrib>Kuper, Lindsey</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Shen, Gan</au><au>Kuper, Lindsey</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Toward Verified Library-Level Choreographic Programming with Algebraic Effects</atitle><date>2024-07-08</date><risdate>2024</risdate><abstract>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.</abstract><doi>10.48550/arxiv.2407.06509</doi><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | DOI: 10.48550/arxiv.2407.06509 |
ispartof | |
issn | |
language | eng |
recordid | cdi_arxiv_primary_2407_06509 |
source | arXiv.org |
subjects | Computer Science - Programming Languages |
title | Toward Verified Library-Level Choreographic Programming with Algebraic Effects |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-08T14%3A58%3A09IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Toward%20Verified%20Library-Level%20Choreographic%20Programming%20with%20Algebraic%20Effects&rft.au=Shen,%20Gan&rft.date=2024-07-08&rft_id=info:doi/10.48550/arxiv.2407.06509&rft_dat=%3Carxiv_GOX%3E2407_06509%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true |