Multiparty Session Types for Safe Runtime Adaptation in an Actor Language (Extended version)
Paul Harvey, Simon Fowler, Ornela Dardha, Simon J. Gay

TL;DR
This paper introduces EnsembleS, an actor-based language with a static session type system that enables safe runtime adaptation by verifying protocol compatibility during component discovery and replacement.
Contribution
It presents the design, implementation, and formal safety proof of EnsembleS, integrating multiparty session types with explicit connection actions for adaptive distributed systems.
Findings
EnsembleS supports safe runtime component replacement.
The type system guarantees communication safety for adaptive programs.
Application to an adaptive DNS server demonstrates practical effectiveness.
Abstract
Human fallibility, unpredictable operating environments, and the heterogeneity of hardware devices are driving the need for software to be able to adapt as seen in the Internet of Things or telecommunication networks. Unfortunately, mainstream programming languages do not readily allow a software component to sense and respond to its operating environment, by discovering, replacing, and communicating with components that are not part of the original system design, while maintaining static correctness guarantees. In particular, if a new component is discovered at runtime, there is no guarantee that its communication behaviour is compatible with existing components. We address this problem by using multiparty session types with explicit connection actions, a type formalism used to model distributed communication protocols. By associating session types with software components, the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
