Deterministic Actors

Author(s): Marten Lohstroh, and Edward A. Lee

Citation
Marten Lohstroh, and Edward A. Lee. "Deterministic Actors". Forum on Specification and Design Languages (FDL),, September 2-4 2019.

Abstract
Actors have become widespread in programming languages and programming frameworks focused on parallel and distributed computing. While actors provide a more disciplined model for concurrency than threads, their interactions, if not constrained, admit nondeterminism. As a consequence, actor pro- grams may exhibit unintended behaviors and are less amenable to rigorous testing. We show that nondeterminism can be handled in a number of ways, surveying dataflow dialects, process networks, synchronous-reactive models, and discrete-event models. These existing approaches, however, tend to require centralized control, pose challenges to modular system design, or introduce a single point of failure. We describe “reactors,” a new coordination model that combines ideas from several of the aforementioned approaches to enable determinism while preserving much of the style of actors. Reactors promote modularity and allow for distributed execution. By using a logical model of time that can be associated with physical time, reactors also admit control over timing.

Electronic Downloads

Citation Formats

  • HTML
                    
    Marten Lohstroh, and Edward A. Lee.
    "<a href="https://www.icyphy.org/publications/2019_LohstrohEtAl4/">Deterministic Actors</a>".
    <i>Forum on Specification and Design Languages (FDL),</i>, September 2-4 2019.
                    
                    
  • Plain Text
                    
    Marten Lohstroh, and Edward A. Lee.
    "Deterministic Actors".
    Forum on Specification and Design Languages (FDL),, September 2-4 2019.
                    
                    
  • BibTeX
                        
    @inproceedings{LohstrohLee:19:Actors,
    	author = {Marten Lohstroh, and Edward A. Lee},
    	title = {Deterministic Actors},
    booktitle = {Forum on Specification and Design Languages (FDL),},
    month = {September 2-4},
    year = {2019},
    abstract = {Actors have become widespread in programming languages and programming frameworks focused on parallel and distributed computing. While actors provide a more disciplined model for concurrency than threads, their interactions, if not constrained, admit nondeterminism. As a consequence, actor pro- grams may exhibit unintended behaviors and are less amenable to rigorous testing. We show that nondeterminism can be handled in a number of ways, surveying dataflow dialects, process networks, synchronous-reactive models, and discrete-event models. These existing approaches, however, tend to require centralized control, pose challenges to modular system design, or introduce a single point of failure. We describe “reactors,” a new coordination model that combines ideas from several of the aforementioned approaches to enable determinism while preserving much of the style of actors. Reactors promote modularity and allow for distributed execution. By using a logical model of time that can be associated with physical time, reactors also admit control over timing.}, URL = {https://www.icyphy.org/publications/2019_LohstrohEtAl4/} }