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.

Share

COinS