Logical Time for Reactive Software
Marten Lohstroh, Edward A. Lee, Stephen A. Edwards, David Broman
Abstract
Timing is an essential feature of reactive software. It is not just a performance metric, but rather forms a core part of the semantics of programs. This paper argues for a notion of logical time that serves as an engineering model to complement a notion of physical time, which models the physical passage of time. Programming models that embrace logical time can provide deterministic concurrency, better analyzability, and practical realizations of timing-sensitive applications. We give definitions for physical and logical time and review some languages and formalisms that embrace logical time.
Topics & Concepts
ConcurrencyComputer scienceRotation formalisms in three dimensionsProgramming languageLogical conjunctionComplement (music)Logical data modelSemantics (computer science)Theoretical computer scienceSoftwareOperational semanticsMetric (unit)Software engineeringData modelingMathematicsEngineeringGeometryBiochemistryComplementationGeneChemistryPhenotypeOperations managementEmbedded Systems Design TechniquesReal-Time Systems SchedulingParallel Computing and Optimization Techniques