Domains: Sharing State in the Communicating Event-Loop Actor Model

Joeri De Koster 1 Stefan Marr 2 Tom Van Cutsem 1 Theo D 'Hondt 1
1 Software Languages Lab
SLL - Software Languages Lab
2 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : The actor model is a message-passing concurrency model that avoids deadlocks and low-level data races by construction. This facilitates concurrent programming, especially in the context of complex interactive applications where modularity, security and fault-tolerance are required. The tradeoff is that the actor model sacrifices expressiveness and safety guarantees with respect to parallel access to shared state. In this paper we present domains as a set of novel language abstractions for safely encapsulating and sharing state within the actor model. We introduce four types of domains, namely immutable, isolated, observable and shared domains that each are tailored to a certain access pattern on that shared state. The domains are characterized with an operational semantics. For each we discuss how the actor model's safety guarantees are upheld even in the presence of conceptually shared state. Furthermore, the proposed language abstractions are evaluated with a case study in Scala comparing them to other synchonisation mechanisms to demonstrate their benefits in deadlock freedom, parallel reads, and enforced isolation.
Type de document :
Article dans une revue
Computer Languages, Systems and Structures, Elsevier, 2016, 〈10.1016/〉
Liste complète des métadonnées

Littérature citée [31 références]  Voir  Masquer  Télécharger
Contributeur : Lse Lse <>
Soumis le : vendredi 12 février 2016 - 17:25:50
Dernière modification le : jeudi 11 janvier 2018 - 06:27:32
Document(s) archivé(s) le : samedi 12 novembre 2016 - 19:46:16


Fichiers produits par l'(les) auteur(s)


Copyright (Tous droits réservés)




Joeri De Koster, Stefan Marr, Tom Van Cutsem, Theo D 'Hondt. Domains: Sharing State in the Communicating Event-Loop Actor Model. Computer Languages, Systems and Structures, Elsevier, 2016, 〈10.1016/〉. 〈hal-01273665〉



Consultations de la notice


Téléchargements de fichiers