Programming and reasoning about actors that share state

SAM CALDWELL,TONY GARNOCK-JONES,MATTHIAS FELLEISEN
DOI: https://doi.org/10.1017/s0956796824000091
2024-12-05
Journal of Functional Programming
Abstract:Actor languages realize concurrency via message passing, which most of the time is easy to use. Empirical code inspection provides evidence, however, that on occasion, programmers wish to have an actor share some of its state with others. The dataspace model adds a tightly controlled state-exchange mechanism, dubbed dataspace, to the actor model for just this purpose. Experience with dataspaces suggests that this form of sharing calls for linguistic constructs that allow programmers to state temporal aspects of actor conversations. In response, this paper presents the facet notation: its theory, its type system, its behavioral type system, and some first experiences with an implementation.
computer science, software engineering
What problem does this paper attempt to address?