33
MODELING TIME IN COMPUTING Benjamin Gamble

Modeling time in computing

  • Upload
    mikasi

  • View
    25

  • Download
    2

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Modeling time in computing

MODELING TIME IN COMPUTING

Benjamin Gamble

Page 2: Modeling time in computing

2

What is Time? Can mean many different things

to a computer

DynamicEquationVariableSystem State

Page 3: Modeling time in computing

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

Page 4: Modeling time in computing

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

Page 5: Modeling time in computing

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

Page 6: Modeling time in computing

6

Choosing the Right Language

Page 7: Modeling time in computing

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

Page 8: Modeling time in computing

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

Page 9: Modeling time in computing

9

Two Main Classes of Languages Descriptive

Better suited for describing the properties that the system must satisfy

Logic based formalismsAlgebra based formalisms

Page 10: Modeling time in computing

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

Page 11: Modeling time in computing

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

Page 12: Modeling time in computing

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

Page 13: Modeling time in computing

13

Continuous vs. Non-Continuous Time Models

Page 14: Modeling time in computing

14

Continuous vs. Non-Continuous Time Models

Page 15: Modeling time in computing

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

Page 16: Modeling time in computing

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

Page 17: Modeling time in computing

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

Page 18: Modeling time in computing

18

Linear vs. Branching Time Models Linear – interpreted over linear

sequences of states

Page 19: Modeling time in computing

19

Linear vs. Branching Time Models Branching – interpreted over trees of

states

Page 20: Modeling time in computing

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’

Page 21: Modeling time in computing

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

Page 22: Modeling time in computing

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

Page 23: Modeling time in computing

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

Page 24: Modeling time in computing

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

Page 25: Modeling time in computing

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

Page 26: Modeling time in computing

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

Page 27: Modeling time in computing

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

Page 28: Modeling time in computing

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

Page 29: Modeling time in computing

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

Page 30: Modeling time in computing

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

Page 31: Modeling time in computing

31

Analysis & Verification Techniques Exhaustive Enumeration

AutomatedExploration of graphs

Syntactic TransformationsAddress the verification problem by logical

deductionsSpecification and requirements are in

descriptive form

Page 32: Modeling time in computing

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

Page 33: Modeling time in computing

33

Questions?