Type-Safe Dynamic Placement with First-Class Placed Values
George Zakhour, Pascal Weisenburger, Guido Salvaneschi
Abstract
Several distributed programming language solutions have been proposed to reason about the placement of data, computations, and peers interaction. Such solutions include, among the others, multitier programming, choreographic programming and various approaches based on behavioral types. These methods statically ensure safety properties thanks to a complete knowledge about placement of data and computation at compile time. In distributed systems, however, dynamic placement of computation and data is crucial to enable performance optimizations, e.g., driven by data locality or in presence of a number of other constraints such as security and compliance regarding data storage location. Unfortunately, in existing programming languages, dynamic placement conflicts with static reasoning about distributed programs: the flexibility required by dynamic placement hinders statically tracking the location of data and computation.
In this paper we present Dyno, a programming language that enables static reasoning about dynamic placement. Dyno features a type system where values are explicitly placed, but in contrast to existing approaches, placed values are also first class, ensuring that they can be passed around and referred to from other locations. Building on top of this mechanism, we provide a novel interpretation of dynamic placement as unions of placement types. We formalize type soundness, placement correctness (as part of type soundness) and architecture conformance. In case studies and benchmarks, our evaluation shows that Dyno enables static reasoning about programs even in presence of dynamic placement, ensuring type safety and placement correctness of programs at negligible performance cost. We reimplement an Android app with ∼ 7 K LOC in Dyno, find a bug in the existing implementation, and show that the app's approach is representative of a common way to implement dynamic placement found in over 100 apps in a large open-source app store.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 6aa80c96-663b-4b89-a3bd-8bba78462c2eRelated papers
- Choreographic Quick Changes: First-Class Location (Set) PolymorphismAshley Samuelson, Andrew K. Hirsch, Ethan CecchettiOOPSLA 2025
- Pirouette: higher-order typed functional choreographiesAndrew K. Hirsch, Deepak GargPOPL 2022 · 31 citations
- Efficient, Portable, Census-Polymorphic Choreographic ProgrammingMako Bates, Shun Kashiwa, Syed Jafri, Gan Shen et al.PLDI 2025 · 5 citations
- Multiparty motion coordination: from choreographies to robotics programsRupak Majumdar, Nobuko Yoshida, Damien ZuffereyOOPSLA 2020 · 14 citations
- DafnyMPI: A Dafny Library for Verifying Message-Passing Concurrent ProgramsAleksandr Fedchin, Antero Mejr, Hari Sundar, Jeffrey S. FosterPOPL 2026 · 1 citation
