Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Choral: Object-oriented Choreographic Programming #250

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Feb 5, 2025

This paper was randomly selected as your next reading.

Choral: Objectoriented Choreographic Programming

Choreographies are coordination plans for concurrent and distributed systems, which define the roles of the involved participants and how they are supposed to work together. In the paradigm of choreographic programming, choreographies are programs that can be compiled into executable implementations. In this article, we present Choral, the first choreographic programming language based on mainstream abstractions. The key idea in Choral is a new notion of data type, which allows for expressing that data is distributed over different roles. We use this idea to reconstruct the paradigm of choreographic programming through objectoriented abstractions. Choreographies are classes, and instances of choreographies are objects with states and behaviours implemented collaboratively by roles. Choral comes with a compiler that, given a choreography, generates an implementation for each of its roles. These implementations are libraries in pure Java, whose types are under the control of the Choral programmer. Developers can then modularly compose these libraries in their programs, to participate correctly in choreographies. Choral is the first incarnation of choreographic programming offering

Giallorenzo, Saverio, et al. “Choral: ObjectOriented Choreographic Programming. ACM Transactions on Programming Languages and Systems, vol. 46, no. 1, Jan. 2024, pp. 159. Crossref, https://doi.org/10.1145/3632398.

Merge this PR to apply selection.

@github-actions github-actions bot added next-paper paper-vote next paper vote option labels Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next-paper paper-vote next paper vote option
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant