An Erlang Implementation of Multiparty Session Actors

Simon Fowler

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

By requiring co-ordination to take place using explicit message passing instead of relying on shared memory, actor-based programming languages have been shown to be effective tools for building reliable and fault-tolerant distributed systems. Although naturally ommunication-centric, communication patterns in actor-based applications remain informally specified, meaning that errors in communication are detected late, if at all. Multiparty session types are a formalism to describe, at a global level, the interactions between multiple communicating entities. 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 multiparty session 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’. Finally, the framework is used to implement two case studies: an adaptation of a freely-available DNS server, and a chat server.
Original languageEnglish
Title of host publication Proceedings 9th Interaction and Concurrency Experience (ICE 2016)
PublisherOpen Publishing Association
Pages36-50
Number of pages15
DOIs
Publication statusPublished - 9 Jun 2016

Publication series

Name Electronic Proceedings in Theoretical Computer Science
PublisherOpen Publishing Association
Volume223
ISSN (Print)2075-2180

Fingerprint

Dive into the research topics of 'An Erlang Implementation of Multiparty Session Actors'. Together they form a unique fingerprint.

Cite this