Time for All Programs, Not Just Real-Time Programs

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

Abstract
We argue that the utility of time as a semantic property of software is not limited to the domain of real-time systems. This paper outlines four concurrent design patterns: alignment, precedence, simultaneity, and consistency, all of which are relevant to general-purpose software applications. We show that a semantics of logical time provides a natural framework for reasoning about concurrency, makes some difficult problems easy, and offers a quantified interpretation of the CAP theorem, enabling quantified evaluation of the tradeoff between consistency and availability.

Electronic Downloads

Citation Formats

  • APA
                    
    Edward A. Lee and Marten Lohstroh. (2021). Time for All Programs, Not Just Real-Time Programs. In Int. Symp. on Leveraging Applications of Formal Methods (ISoLA).  doi:10.1007/978-3-030-89159-6_15.                     
                    
                    
  • MLA
                    
    Edward A. Lee and Marten Lohstroh. "Time for All Programs, Not Just Real-Time Programs." Int. Symp. on Leveraging Applications of Formal Methods (ISoLA), 2021.  doi:10.1007/978-3-030-89159-6_15.                     
                    
                    
  • Chicago
                    
    Edward A. Lee and Marten Lohstroh. "Time for All Programs, Not Just Real-Time Programs." Int. Symp. on Leveraging Applications of Formal Methods (ISoLA), 2021.  doi:10.1007/978-3-030-89159-6_15.                     
                    
                    
  • BibTeX
                        
    @inproceedings{LeeLohstroh:21:Time,
    	author = {Edward A. Lee and Marten Lohstroh},
    	title = {Time for All Programs, Not Just Real-Time Programs},
    booktitle = {Int. Symp. on Leveraging Applications of Formal Methods (ISoLA)},
    month = {October 17-29},
    year = {2021},
    doi = {10.1007/978-3-030-89159-6_15},
    abstract = {We argue that the utility of time as a semantic property of software is not limited to the domain of real-time systems. This paper outlines four concurrent design patterns: alignment, precedence, simultaneity, and consistency, all of which are relevant to general-purpose software applications. We show that a semantics of logical time provides a natural framework for reasoning about concurrency, makes some difficult problems easy, and offers a quantified interpretation of the CAP theorem, enabling quantified evaluation of the tradeoff between consistency and availability.},
    URL = {https://doi.org/10.1007/978-3-030-89159-6_15}}