ORCID
0009-0001-9933-1728
Date of Award
2025
Document Type
Dissertation
Degree Name
Doctor of Philosophy (PhD)
Department
Computer Science
First Advisor
Joseph P. Near
Abstract
Choreographic programming (CP) is a paradigm for implementing distributed systems that uses a single global program to define the actions and interactions of all participants. One characteristic of CP is that values are "located", i.e. associated or annotated with parties who own them, and non-owners of a located value cannot use it. Existing CP systems are generally either select-&-merge systems, which have a designated "select" operator for communicating knowledge of choice, or use alternative strategies that are known to be less efficient. We make four contributions to the ongoing development of CP systems. First, we propose and formalize conclaves and multiply-located values; this combination of features enables efficient conditionals without redundant communication or a specialized operator. Second, we implement this "conclaves-&-MLVs" paradigm in Haskell as the MultiChor library. Third, we propose census polymorphism, a technique for abstracting over the number of participants in a choreography. Forth, we demonstrate the viability of a CP system MiniChor that uses only conclaves and has no designated syntax for located values.
MultiChor is available to end-users now, and contains solutions to key engineering problems. Based on anecdotal experiences using it and subsequent work on the theory-oriented fork MiniChor, we outline near-term avenues for future work on CP systems for industry use.
Language
en
Number of Pages
108 p.
Recommended Citation
Bates, Mako Pulsifer, "A New Architecture for Choreographic Programming Languages" (2025). Graduate College Dissertations and Theses. 2101.
https://scholarworks.uvm.edu/graddis/2101