Elsevier

Science of Computer Programming

Volume 98, Part 2, 1 February 2015, Pages 140-158
Science of Computer Programming

Domains: Safe sharing among actors

https://doi.org/10.1016/j.scico.2014.02.008Get rights and content
Under an Elsevier user license
open archive

Highlights

  • The actor model is not suited for expressing access to shared mutable state.

  • The domain model enables safe, expressive and efficient sharing of mutable state.

  • Our model retains the safety and liveness properties of the original actor model.

  • We provide an operational semantics that serves as a reference work.

Abstract

The actor model is a concurrency model that avoids issues such as deadlocks and data races by construction, and thus facilitates concurrent programming. While it has mainly been used for expressing distributed computations, it is equally useful for modeling concurrent computations in a single shared memory machine. In component based software, the actor model lends itself to divide the components naturally over different actors and use message-passing concurrency for the interaction between these components. The tradeoff is that the actor model sacrifices expressiveness and efficiency with respect to parallel access to shared state.

This paper gives an overview of the disadvantages of the actor model when trying to express shared state and then formulates an extension of the actor model to solve these issues. Our solution proposes domains and synchronization views to solve the issues without compromising on the semantic properties of the actor model. Thus, the resulting concurrency model maintains deadlock-freedom and avoids low-level data races.

Keywords

Actor model
Domains
Synchronization
Shared state
Race-free mutation

Cited by (0)

This paper is an extension of: De Koster, J., Van Cutsem, T. and D'Hondt, T. (2012), Domains: safe sharing among actors, in: Proceedings of the 2nd edition on Programming Systems, Languages and Applications based on Actors, Agents, and Decentralized Control Abstractions, pp. 11–22.