Session Types with Runtime Adaptation: Overview and Examples

  title={Session Types with Runtime Adaptation: Overview and Examples},
  author={Cinzia Di Giusto and Jorge A. P{\'e}rez},
In recent work, we have developed a session types discipline for a calculus that features the usual constructs for session establishment and communication, but also two novel constructs that enable communicating processes to be stopped, duplicated, or discarded at runtime. The aim is to understand whether known techniques for the static analysis of structured communications scale up to the challenging context of context-aware, adaptable distributed systems, in which disciplined interaction and… 

Figures from this paper

An Event-Based Approach to Runtime Adaptation in Communication-Centric Systems

A type system is developed that ensures communication safety and consistency properties: while the former guarantees absence of runtime communication errors, the latter ensures that update actions do not disrupt already established sessions.

Let it recover: multiparty protocol-induced recovery

A static analysis based on multiparty session types that can efficiently compute a safe global state from which a system of interacting processes should be recovered and design and implement a runtime framework in Erlang where failed processes and their dependencies are soundly restarted from a computed safe state.

Event-based run-time adaptation in communication-centric systems

This paper presents a model of session-based concurrency with mechanisms for run-time adaptation, and equips the model with a type system that ensures communication safety and consistency properties: while safety guarantees absence of run- time communication errors, consistency ensures that update actions do not disrupt already established session protocols.



Disciplined structured communications with consistent runtime adaptation

This framework offers an alternative for integrating runtime adaptation mechanisms in the analysis of structured communications and shows that well-typed processes enjoy consistency: communicating behavior is never interrupted by evolvability actions.

Nested Protocols in Session Types

This feature adds expressiveness and modularity to the existing session-type theory, allowing arguments to be passed and enabling higher-order protocols definition, and an extension of the framework allowing subprotocols to send back results is described.

A Graphical Approach to Progress for Structured Communication in Web Services

A graphical representation of session invocation interdependency is investigated in order to prove progress for the pi-calculus with sessions under the usual session typing discipline and it is proved that for well-typed processes where services contain no free names, such acyclicity is preserved by the reduction semantics.

Subtyping for session types in the pi calculus

The syntax, operational semantics and typing rules of an extended pi calculus are formalized, it is proved that typability guarantees absence of run-time communication errors, and the typing rules are transformed into a practical typechecking algorithm.

Language Primitives and Type Discipline for Structured Communication-Based Programming

Basic language constructs and a type discipline are introduced as a foundation of structured communication-based concurrent programming, which offers a high-level type abstraction of interactive behaviours of programs as well as guaranteeing the compatibility of interaction patterns between processes in a well-typed program.

Adaptable processes

This work introduces a core calculus of adaptable processes, a basis for investigating the fundamental properties of evolvable processes and for developing richer languages with evolvability capabilities, and proposes two verification problems for them: bounded and eventual adaptation.

Parameterised Multiparty Session Types

A dependent type theory for multiparty sessions which can statically guarantee type-safe, deadlock-free multiparty interactions among processes whose specifications are parameterised by indices is proposed.

BASS: boxed ambients with safe sessions

The main result of the development is that in a well-typed process a communication redex never disappears after a mobility step, and it is claimed that sessions in the calculus are safe.

Erlang/OTP - System Documentation: Supervisor Module. http://www.erlang. org/doc/man/supervisor.html. 32 Session Types with Runtime Adaptation: Overview and Examples

  • 2013