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

05/14/2021
by   Paul Harvey, et al.
0

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 discovery process can check protocol compatibility and, when required, correctly replace components without jeapordising safety. We present the design and implementation of EnsembleS, the first actor-based language with adaptive features and a static session type system, and apply it to a case study based on an adaptive DNS server. We formalise the type system of EnsembleS and prove the safety of well-typed programs, making essential use of recent advances in non-classical multiparty session types.

READ FULL TEXT

page 7

page 8

page 9

research
09/15/2018

Gradual Session Types

Session types are a rich type discipline, based on linear types, that li...
research
01/12/2023

A Minimal Formulation of Session Types

Session types are a type-based approach to the verification of message-p...
research
04/28/2022

Stay Safe under Panic: Affine Rust Programming with Multiparty Session Types

Communicating systems comprise diverse software components across networ...
research
08/31/2017

Towards Runtime Adaptation of Actor Systems

In this dissertation we focus on providing effective adaptations that ca...
research
04/02/2019

Multiparty Session Type-safe Web Development with Static Linearity

Modern web applications can now offer desktop-like experiences from with...
research
01/12/2021

Communication-Safe Web Programming in TypeScript with Routed Multiparty Session Types

Modern web programming involves coordinating interactions between browse...
research
02/01/2019

Comprehensive Multiparty Session Types

Multiparty session types (MST) are a well-established type theory that d...

Please sign up or login with your details

Forgot password? Click here to reset