Certified Compilation of Choreographies with hacc

Luís Cruz-Filipe, Lovro Lugovic, Fabrizio Montesi [2023].
In proceedings of FORTE 2023, pp. 29-36.


Programming communicating processes is challenging, because it requires writing separate programs that perform compatible send and receive actions at the right time during execution. Leaving this task to the programmer can easily lead to bugs. Choreographic programming addresses this challenge by equipping developers with high-level abstractions for codifying the desired communication structures from a global viewpoint. Given a choreography, implementations of the involved processes can be automatically generated by endpoint projection (EPP).

While choreographic programming prevents manual mistakes in the implementation of communications, the correctness of a choreographic programming framework crucially hinges on the correctness of its complex compiler, which has motivated formalisation of theories of choreographic programming in theorem provers. In this paper, we build upon one of these formalisations to construct a toolchain that produces executable code from a choreography.

Additional notes
Cite (BibTeX)
Click to expand
  author       = {Lu{\'{\i}}s Cruz{-}Filipe and
                  Lovro Lugovic and
                  Fabrizio Montesi},
  editor       = {Marieke Huisman and
                  Ant{\'{o}}nio Ravara},
  title        = {Certified Compilation of Choreographies with hacc},
  booktitle    = {Formal Techniques for Distributed Objects, Components, and Systems
                  - 43rd {IFIP} {WG} 6.1 International Conference, {FORTE} 2023, Held
                  as Part of the 18th International Federated Conference on Distributed
                  Computing Techniques, DisCoTec 2023, Lisbon, Portugal, June 19-23,
                  2023, Proceedings},
  series       = {Lecture Notes in Computer Science},
  volume       = {13910},
  pages        = {29--36},
  publisher    = {Springer},
  year         = {2023},
  url          = {https://doi.org/10.1007/978-3-031-35355-0\_3},
  doi          = {10.1007/978-3-031-35355-0\_3},
  timestamp    = {Fri, 07 Jul 2023 23:30:53 +0200},
  biburl       = {https://dblp.org/rec/conf/forte/Cruz-FilipeLM23.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}

A PDF is available (possibly a preprint):

Download PDF