MODELING TIME IN COMPUTING Benjamin Gamble
Jan 12, 2016
MODELING TIME IN COMPUTING
Benjamin Gamble
2
What is Time?
Can mean many different things to a computer
DynamicEquationVariableSystem State
3
Outline History Languages & Interpretations Dimensions of the Time Modeling Problem
Discrete vs. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & 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. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & Composition
Analysis & Verification Issues
6
Choosing the Right Language
7
Two Main Classes of Languages
OperationalWell 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 safeWhen the correct security code is
entered, the safe opensIf the safe remains open for 3 minutes,
it automatically closes
9
Two Main Classes of Languages
DescriptiveBetter suited for describing the
properties that the system must satisfyLogic based formalismsAlgebra based formalisms
10
Descriptive Example
A safeThe 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. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & 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 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 domain
17
Hybrid Systems
What is a hybrid system?Uses both discrete and dense time
modeling When this may be used:
Square wave formContinuous sampled at certain pointsDiscrete 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 ReferenceRefers 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 instantEx. 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 waysSynchronous vs. Asynchronous
27
Synchronous vs. Asynchronous
SynchronousOccur at the same time or at instants of time
that are relatedNaturally paired with a discrete time domain
AsynchronousEach activity can progress at a speed
unrelated to othersThere 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. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & 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 holdsMeasured in the amount of memory or time
required as a function of the input
31
Analysis & Verification Techniques Exhaustive Enumeration
AutomatedExploration of graphs
Syntactic TransformationsAddress the verification problem by logical
deductionsSpecification and requirements are in
descriptive form
32
Outline History Languages & Interpretations Dimensions of the Time Modeling Problem
Discrete vs. DenseFinite or Bounded Time ModelsLinear vs. BranchingDeterminism vs. NondeterminismTime Advancement ProblemConcurrency & Composition
Analysis & Verification Issues
33
Questions?