•
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... more
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.
Research Interests:
•
Publication Date: 2012
Research Interests:
•
Publication Date: 2015
Publication Name: Proceedings of the 13th International Workshop on Dynamic Analysis - WODA 2015
•
Publication Date: 2015
Publication Name: 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!) - Onward! 2015
•
Publication Date: 2014
Publication Name: Electronic Proceedings in Theoretical Computer Science
•
Publication Date: 2013
Publication Name: Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control - AGERE! '13
•