Benjamin Gamble. What is Time? Can mean many different things to a computer Dynamic Equation...

Preview:

Citation preview

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?

Recommended