Joeri De Koster, Stefan Marr, Theo D'Hondt, Tom Van Cutsem
2013 Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control - AGERE! '13  
In the past, the Actor Model has mainly been explored in a distributed context. However, more and more application developers are also starting to use it to program sharedmemory multicore machines because of the safety guarantees it provides. It avoids issues such as deadlocks and race conditions by construction, and thus facilitates concurrent programming. The tradeoff is that the Actor Model sacrifices expressiveness with respect to accessing shared state because actors are fully isolated
more » ... each other (a.k.a. "shared-nothing parallelism"). There is a need for more high level synchronization mechanisms that integrate with the actor model without sacrificing the safety and liveness guarantees it provides. This paper introduces a variation on the communicating event-loops actor model called the TANK model. A tank is an actor that can expose part of its state as a shared read-only resource. The model ensures that any other actor will always observe a consistent version of that state, even in the face of concurrent updates of the actor that owns that state.
doi:10.1145/2541329.2541331 dblp:conf/agere/KosterMDC13 fatcat:quj5cd5divftne6uyon3f3zneu