1 / 33

Modeling time in computing

Benjamin Gamble. Modeling time in computing. What is Time?. Can mean many different things to a computer Dynamic Equation Variable System State. Outline. History Languages & Interpretations Dimensions of the Time Modeling Problem Discrete vs. Dense Finite or Bounded Time Models

mikasi
Download Presentation

Modeling time in computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Benjamin Gamble Modeling time in computing

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

  3. Outline • History • Languages & Interpretations • Dimensions of the Time Modeling Problem • Discrete vs. Dense • Finite or Bounded Time Models • Linear vs. Branching • Determinism vs. Nondeterminism • Time Advancement Problem • Concurrency & Composition • Analysis & Verification Issues

  4. History of Time in Computing • First implemented in computer hardware • Then adapted for software and computational complexity • Parallel processing mandated a further investigation in timing issues • Modern day real time systems

  5. Outline • History • Languages & Interpretations • Dimensions of the Time Modeling Problem • Discrete vs. Dense • Finite or Bounded Time Models • Linear vs. Branching • Determinism vs. Nondeterminism • Time Advancement Problem • Concurrency & Composition • Analysis & Verification Issues

  6. Choosing the Right Language

  7. Two Main Classes of Languages • Operational • Well suited to describe the evolution of a system starting at some initial state • Based on the key concept of state and transition • Modeled as evolving from a state to the next one when a certain event occurs

  8. Operational Example • A safe • When the correct security code is entered, the safe opens • If the safe remains open for 3 minutes, it automatically closes

  9. Two Main Classes of Languages • Descriptive • Better suited for describing the properties that the system must satisfy • Logic based formalisms • Algebra based formalisms

  10. Descriptive Example • A safe • The safe is open if and only if the correct security code has been entered no more than 3 minutes ago

  11. Outline • History • Languages & Interpretations • Dimensions of the Time Modeling Problem • Discrete vs. Dense • Finite or Bounded Time Models • Linear vs. Branching • Determinism vs. Nondeterminism • Time Advancement Problem • Concurrency & Composition • Analysis & Verification Issues

  12. Discrete vs. Dense Time Domains • Discrete time means that there is a set of isolated points • Dense time means that for every 2 points there is always a third point in between

  13. Continuous vs. Non-Continuous Time Models

  14. Continuous vs. Non-Continuous Time Models

  15. Finite or Bounded Time Models • Many system models assume that the behaviors may proceed indefinitely into the future and maybe even the past • This models time as an unbounded set • Some system behaviors happen within a time window • This will require a bounded time model

  16. Bounded Time Model Example • Braking a car • We know that it requires, at most, a few seconds • Testing an anti-lock braking system may include a time window of 0-60 seconds as a temporal domain

  17. Hybrid Systems • What is a hybrid system? • Uses both discrete and dense time modeling • When this may be used: • Square wave form • Continuous sampled at certain points • Discrete steps with continuous variables

  18. Linear vs. Branching Time Models • Linear – interpreted over linear sequences of states

  19. Linear vs. Branching Time Models • Branching – interpreted over trees of states

  20. Determinism vs. Nondeterminism • Deterministic • Whenever the future state of the system is uniquely determined by its current state and input values • Ex. A light switch • Pressing the switch (input) while the light is in state ‘off’ yields the unique possible state of light ‘on’

  21. Determinism vs. Nondeterminism • Nondeterministic • Systems that can evolve to different future states from the same present state and the same input by making arbitrary ‘choices’ • Ex. A resource arbiter • Responds to 2 requests happening at the same time by ‘choosing’ arbitrarily to whom to grant the resource first

  22. Implicit vs. Explicit Time Reference • Explicit Time Reference • Using math such as calculus to specify system behavior and its properties • Implicit Time Reference • Refers to a ‘current time’ and orders events with respect to it

  23. Time Advancement Problem • This problem arises when the model of a timed system exhibits behaviors that do not progress past some instant • Ex. Pushing a button • Actual duration to push a button can be ignored and can be represented abstractly as a zero time event • If these types of events are allowed then there could possibly be an infinite number of such transitions in a zero time interval

  24. Solutions to the Time Advancement Problem • Priori • The 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 problems

  25. Solutions to the Time Advancement Problem • Posteriori • Deals with time advancement issues after the system specification has been built • It 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

  26. Concurrency & Composition • Composition also known as modularization • Problems arise when analyzing synchronous subsystems • A classification of dealing with the composition of concurrent units can be spilt in two ways • Synchronous vs. Asynchronous

  27. Synchronous vs. Asynchronous • Synchronous • Occur at the same time or at instants of time that are related • Naturally paired with a discrete time domain • Asynchronous • Each activity can progress at a speed unrelated to others • There is no need to know in which state each unit is at every instant

  28. Outline • History • Languages & Interpretations • Dimensions of the Time Modeling Problem • Discrete vs. Dense • Finite or Bounded Time Models • Linear vs. Branching • Determinism vs. Nondeterminism • Time Advancement Problem • Concurrency & Composition • Analysis & Verification Issues

  29. Expressiveness • The possibility of characterizing extensive classes of properties • A language is more expressive if it can be finely tuned into a set of behaviors that satisfy certain properties • For each language there exists properties that can only be expressed by them

  30. Decidability & Complexity • Decidability • There is a trade-off between expressiveness and decidability • Complexity is used for decidable models • Used to determine the effort required by an algorithm to decide whether a property holds • Measured in the amount of memory or time required as a function of the input

  31. Analysis & Verification Techniques • Exhaustive Enumeration • Automated • Exploration of graphs • Syntactic Transformations • Address the verification problem by logical deductions • Specification and requirements are in descriptive form

  32. Outline • History • Languages & Interpretations • Dimensions of the Time Modeling Problem • Discrete vs. Dense • Finite or Bounded Time Models • Linear vs. Branching • Determinism vs. Nondeterminism • Time Advancement Problem • Concurrency & Composition • Analysis & Verification Issues

  33. Questions?

More Related