Top Banner

Click here to load reader

Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2

Jan 12, 2016

ReportDownload

Documents

Modeling time in computing

Modeling time in computingBenjamin GambleWhat is Time?Can mean many different things to a computer

DynamicEquationVariableSystem State

2OutlineHistoryLanguages & InterpretationsDimensions of the Time Modeling ProblemDiscrete vs. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & CompositionAnalysis & Verification Issues

3History of Time in ComputingFirst implemented in computer hardwareThen adapted for software and computational complexityParallel processing mandated a further investigation in timing issuesModern day real time systems4OutlineHistoryLanguages & InterpretationsDimensions of the Time Modeling ProblemDiscrete vs. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & CompositionAnalysis & Verification Issues

5Choosing the Right Language6

Two Main Classes of LanguagesOperationalWell suited to describe the evolution of a system starting at some initial stateBased on the key concept of state and transitionModeled as evolving from a state to the next one when a certain event occurs7Operational ExampleA safeWhen the correct security code is entered, the safe opensIf the safe remains open for 3 minutes, it automatically closes8Two Main Classes of LanguagesDescriptiveBetter suited for describing the properties that the system must satisfyLogic based formalismsAlgebra based formalisms9Descriptive ExampleA safeThe safe is open if and only if the correct security code has been entered no more than 3 minutes ago10OutlineHistoryLanguages & InterpretationsDimensions of the Time Modeling ProblemDiscrete vs. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & CompositionAnalysis & Verification Issues11Discrete vs. Dense Time DomainsDiscrete time means that there is a set of isolated pointsDense time means that for every 2 points there is always a third point in between12Continuous vs. Non-Continuous Time Models13

Continuous vs. Non-Continuous Time Models14

Finite or Bounded Time ModelsMany system models assume that the behaviors may proceed indefinitely into the future and maybe even the pastThis models time as an unbounded setSome system behaviors happen within a time windowThis will require a bounded time model15Bounded Time Model ExampleBraking a carWe know that it requires, at most, a few secondsTesting an anti-lock braking system may include a time window of 0-60 seconds as a temporal domain16Hybrid SystemsWhat is a hybrid system?Uses both discrete and dense time modelingWhen this may be used:Square wave formContinuous sampled at certain pointsDiscrete steps with continuous variables17Linear vs. Branching Time ModelsLinear interpreted over linear sequences of states18

Linear vs. Branching Time ModelsBranching interpreted over trees of states19

Determinism vs. NondeterminismDeterministicWhenever the future state of the system is uniquely determined by its current state and input valuesEx. A light switchPressing the switch (input) while the light is in state off yields the unique possible state of light on

20Determinism vs. NondeterminismNondeterministicSystems that can evolve to different future states from the same present state and the same input by making arbitrary choicesEx. A resource arbiterResponds to 2 requests happening at the same time by choosing arbitrarily to whom to grant the resource first21Implicit vs. Explicit Time ReferenceExplicit Time ReferenceUsing math such as calculus to specify system behavior and its properties

Implicit Time ReferenceRefers to a current time and orders events with respect to it22Time Advancement ProblemThis problem arises when the model of a timed system exhibits behaviors that do not progress past some instantEx. Pushing a buttonActual duration to push a button can be ignored and can be represented abstractly as a zero time eventIf these types of events are allowed then there could possibly be an infinite number of such transitions in a zero time interval23Solutions to the Time Advancement ProblemPrioriThe syntax or the semantics of the formal notation is restricted beforehand, in order to guarantee that the model of any system described with it will be exempt from time advancement problems24Solutions to the Time Advancement ProblemPosterioriDeals with time advancement issues after the system specification has been builtIt is then analyzed against a formal definition of time advancement in order to check that all of its actual behaviors do not incur into the time advancement problem 25Concurrency & CompositionComposition also known as modularizationProblems arise when analyzing synchronous subsystemsA classification of dealing with the composition of concurrent units can be spilt in two waysSynchronous vs. Asynchronous

26Synchronous vs. AsynchronousSynchronousOccur at the same time or at instants of time that are relatedNaturally paired with a discrete time domainAsynchronousEach activity can progress at a speed unrelated to othersThere is no need to know in which state each unit is at every instant27OutlineHistoryLanguages & InterpretationsDimensions of the Time Modeling ProblemDiscrete vs. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & CompositionAnalysis & Verification Issues28ExpressivenessThe possibility of characterizing extensive classes of propertiesA language is more expressive if it can be finely tuned into a set of behaviors that satisfy certain propertiesFor each language there exists properties that can only be expressed by them29Decidability & ComplexityDecidabilityThere is a trade-off between expressiveness and decidabilityComplexity is used for decidable models Used to determine the effort required by an algorithm to decide whether a property holdsMeasured in the amount of memory or time required as a function of the input30Analysis & Verification TechniquesExhaustive EnumerationAutomatedExploration of graphsSyntactic TransformationsAddress the verification problem by logical deductionsSpecification and requirements are in descriptive form31OutlineHistoryLanguages & InterpretationsDimensions of the Time Modeling ProblemDiscrete vs. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & CompositionAnalysis & Verification Issues32Questions?33