330 likes | 427 Views
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
E N D
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 • Linear vs. Branching • Determinism vs. Nondeterminism • Time Advancement Problem • Concurrency & Composition • Analysis & Verification Issues
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
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
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
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
Two Main Classes of Languages • Descriptive • Better suited for describing the properties that the system must satisfy • Logic based formalisms • Algebra based formalisms
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
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
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
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
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
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
Linear vs. Branching Time Models • Linear – interpreted over linear sequences of states
Linear vs. Branching Time Models • Branching – interpreted over trees of states
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’
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
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
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
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
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
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
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
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
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
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
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
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