Multiparty Session Actors

@inproceedings{Neykova2014MultipartySA,
  title={Multiparty Session Actors},
  author={Rumyana Neykova and Nobuko Yoshida},
  booktitle={COORDINATION},
  year={2014}
}
Actor coordination armoured with a suitable protocol description language has been a pressing problem in the actors community. We study the applicability of multiparty session type (MPST) protocols for verification of actor programs. We incorporate sessions to actors by introducing minimum additions to the model such as the notion of actor roles and protocol mailboxes. The framework uses Scribble, which is a protocol description language based on multiparty session types. Our programming model… 

Figures and Tables from this paper

An Erlang Implementation of Multiparty Session Actors

TLDR
This article describes the implementation of a prototype framework for monitoring Erlang/OTP gen_server applications against multiparty session types, showing how previous work on multipartysession actors can be adapted to a purely actor-based language, and how monitor violations and termination of session participants can be reported in line with the Erlang mantra of "let it fail".

Multiparty Session Types for Safe Runtime Adaptation in an Actor Language (Extended version)

TLDR
The design and implementation of EnsembleS is presented, the first actor-based language with adaptive features and a static session type system, and the safety of well-typed programs is proved, making essential use of recent advances in non-classical multiparty session types.

0 Multiparty Asynchronous Session Types

TLDR
This work extends the foregoing theories of binary session types to multiparty, asynchronous sessions, which often arise in practical communication-centred applications and introduces a new notion of types in which interactions involving multiple peers are directly abstracted as a global scenario.

A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming

TLDR
The first encoding of a full-fledged multiparty session pi-calculus into linear pi-Calculus is developed, using the encoding as the foundation of a practical toolchain for safe multiparty programming in Scala and the implementation is the first to support distributed multiparty delegation.

Advanced Join Patterns for the Actor Model based on CEP Techniques

TLDR
This work aims to provide a set of synchronization operators that help actor-based languages to handle the complex interaction required by modern reactive distributed systems and is the first one to add advanced CEP synchronization operators to the relatively simplistic single-message based matching -- mechanisms of most actor- based languages.

Communicating Finite State Machines and an Extensible Toolchain for Multiparty Session Types

TLDR
The relationship between MPST and communicating finite state machines (CFSMs) is summarised, which offers not only theoretical justifications of MPST but also a guidance to implement MPST in practice.

Hybrid Session Verification Through Endpoint API Generation

TLDR
A new hybrid session verification methodology for applying session types directly to mainstream languages, based on generating protocol-specific endpoint APIs from multiparty session types, which guarantees the absence of protocol violation errors during the execution of the session.

Global Type Local Type Local Type Local Type Endpoint Process Monitor Endpoint Process Monitor Static

TLDR
This paper proposes a new theory of monitored π-calculus with dynamic usage of multiparty session types (MPST), offering a rigorous foundation for safety assurance of distributed components which asynchronously communicate through multiparty sessions.

Session-Based Compositional Analysis for Actor-Based Languages Using Futures

TLDR
A type discipline based on session types is provided, which gives a high-level abstraction for structured interactions and statically verify if the local implementations comply with the communication correctness in a concurrency model using futures.
...

References

SHOWING 1-10 OF 36 REFERENCES

Behavioural Types for Actor Systems

TLDR
A minimal actor calculus is presented that takes as primitive the basic constructs of Scala's Actors API and shows that well typed and balanced actor systems are deadlock-free and any message will eventually be handled by the target actor.

Multiparty Asynchronous Session Types

TLDR
The theory introduces a new notion of types in which interactions involving multiple peers are directly abstracted as a global scenario, and the fundamental properties of the session type discipline, such as communication safety, progress, and session fidelity, are established.

Multiparty Session C: Safe Parallel Programming with Message Optimisation

This paper presents a new efficient programming toolchain for message-passing parallel algorithms which can fully ensure, for any typable programs and for any execution path, deadlock-freedom,

Practical Interruptible Conversations - Distributed Dynamic Verification with Session Types and Python

TLDR
A dynamic verification framework for structured interruptible conversation programming that ensures the global safety of a system in the presence of asynchronous interrupts through independent runtime monitoring of each endpoint, checking the conformance of the local execution trace to the specified protocol.

Practical interruptible conversations: distributed dynamic verification with multiparty session types and Python

TLDR
A dynamic verification framework for structured interruptible conversation programming that ensures the global safety of a system in the presence of asynchronous interrupts through independent runtime monitoring of each endpoint, checking the conformance of the local execution trace to the specified protocol.

A foundation for actor computation

TLDR
An actor language is presented which is an extension of a simple functional language, and an operational semantics for this extension is provided, and it is shown that the three forms of equivalence, namely, convex, must, and may equivalences, collapse to two in the presence of fairness.

ACTORS - a model of concurrent computation in distributed systems

  • G. Agha
  • Computer Science
    MIT Press series in artificial intelligence
  • 1985
TLDR
A foundational model of concurrency is developed and issues in the design of parallel systems and why the actor model is suitable for exploiting large-scale parallelism are addressed.

SPY: Local Verification of Global Protocols

TLDR
A toolchain for designing deadlock-free multiparty global protocols, and their run-time verification through automatically generated, distributed endpoint monitors, which validates communication safety properties on the global protocol, but enforces them via independent monitoring of each endpoint process.

A Theory of Design-by-Contract for Distributed Multiparty Interactions

TLDR
An assertion method, based on the π-calculus with full recursion, is presented, which generalises the notion of DbC to multiparty distributed interactions to enable effective specification and verification of distributed multiparty protocols.