open access publication

Article, 2024

Choral: Object-oriented Choreographic Programming

ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, ISSN 0164-0925, 0164-0925, Volume 46, 1, 10.1145/3632398

Contributors

Giallorenzo, Saverio 0000-0002-3658-6395 [1] [2] Montesi, Fabrizio 0000-0003-4666-901X (Corresponding author) [3] Peressotti, Marco 0000-0002-0243-0480 [3]

Affiliations

  1. [1] INRIA, Sophia Antipolis, France
  2. [NORA names: France; Europe, EU; OECD];
  3. [2] Univ Bologna, Dept Comp Sci & Engn, Mura Anteo Zamboni 7, I-40126 Bologna, Italy
  4. [NORA names: Italy; Europe, EU; OECD];
  5. [3] Univ Southern Denmark, Dept Math & Comp Sci, Campusvej 55, DK-5230 Odense, Denmark
  6. [NORA names: SDU University of Southern Denmark; University; Denmark; Europe, EU; Nordic; OECD]

Abstract

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 such modularity, which finally connects more than a decade of research on the paradigm to practical software development.

Keywords

Choreographies, communication, higher-kinded types

Data Provider: Clarivate