Speak Now: Safe Actor Programming with Multiparty Session Types
Simon Fowler, Raymond Hu
摘要
Actor languages such as Erlang and Elixir are widely used for implementing scalable and reliable distributed applications, but the informally-specified nature of actor communication patterns leaves systems vulnerable to costly errors such as communication mismatches and deadlocks. Multiparty session types (MPSTs) rule out communication errors early in the development process, but until now, the many-sender, single-receiver nature of actor communication has made it difficult for actor languages to benefit from session types.
This paper introduces Maty, the first actor language design supporting both static multiparty session typing and the full power of actors taking part in multiple sessions. Maty therefore combines the error prevention mechanism of session types with the scalability and fault tolerance of actor languages. Our main insight is to enforce session typing through a flow-sensitive effect system, combined with an event-driven programming style and first-class message handlers. Using MPSTs allows us to guarantee communication safety: a process will never send or receive an unexpected message, nor will a session get stuck because an actor is waiting for a message that will never be sent. We extend Maty to support Erlang-style supervision and cascading failure, and show that this preserves Maty's strong metatheory. We implement Maty in Scala using an API generation approach, and demonstrate the expressiveness of our model by implementing a representative sample of the widely-used Savina actor benchmark suite; an industry-supplied factory scenario; and a chat server.
CCS Concepts: • Software and its engineering → Concurrent programming languages.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper2
- Statically verified refinements for multiparty protocolsFangyi Zhou, Francisco Ferreira, Raymond Hu, Rumyana Neykova 等OOPSLA 2020 · 被引用 38 次
- A multiparty session typing discipline for fault-tolerant event-driven distributed programmingMalte Viering, Raymond Hu, Patrick Eugster, Lukasz ZiarekOOPSLA 2021 · 被引用 13 次
相关 Paper
- Separation and Encodability in Mixed Choice Multiparty SessionsKirstin Peters, Nobuko YoshidaLICS 2024 · 被引用 10 次
- A Synthetic Reconstruction of Multiparty Session TypesDavid Castro-Perez, Francisco Ferreira, Sung-Shik JongmansPOPL 2026
- CAMP: cost-aware multiparty session protocolsDavid Castro-Perez, Nobuko YoshidaOOPSLA 2020 · 被引用 16 次
- Mixed Choice in Asynchronous Multiparty Session TypesLaura Bocchi, Raymond Hu, Adriana Laura Voinea, Simon ThompsonOOPSLA 2026
- Complete Multiparty Session Type Projection with AutomataElaine Li, Felix Stutz, Thomas Wies, Damien ZuffereyCAV 2023 · 被引用 17 次
