De Koster, Joeri, Marr, Stefan, Van Cutsem, Tom, D'Hondt, Theo (2016) Domains: Sharing State in the Communicating Event-Loop Actor Model. Computer Languages, Systems & Structures, 45 . pp. 132-160. ISSN 1477-8424. (doi:10.1016/j.cl.2016.01.003) (KAR id:63821)
PDF
Author's Accepted Manuscript
Language: English
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
|
|
Download this file (PDF/602kB) |
|
Request a format suitable for use with assistive technology e.g. a screenreader | |
Official URL: http://doi.org/10.1016/j.cl.2016.01.003 |
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.
Item Type: | Article |
---|---|
DOI/Identification number: | 10.1016/j.cl.2016.01.003 |
Additional information: | Email 6a. JAC 09/11/2017 |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Depositing User: | Stefan Marr |
Date Deposited: | 08 Nov 2017 23:17 UTC |
Last Modified: | 08 Dec 2022 22:52 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/63821 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):