Real Tim e TRON TRON TRON Testing using UPPAAL W ith Mariius - - PowerPoint PPT Presentation

real tim e
SMART_READER_LITE
LIVE PREVIEW

Real Tim e TRON TRON TRON Testing using UPPAAL W ith Mariius - - PowerPoint PPT Presentation

Real Tim e TRON TRON TRON Testing using UPPAAL W ith Mariius Mikucionis, Brian Nielsen, Arne Skou, Anders Hessel, Paul Pettersson Overview Introduction Informationsteknologi Conformance for Real-Time System Off-line Test


slide-1
SLIDE 1

Real Tim e Testing

W ith Mariius Mikucionis, Brian Nielsen, Arne Skou, Anders Hessel, Paul Pettersson

using UPPAAL

TRON TRON TRON

slide-2
SLIDE 2

Informationsteknologi

Overview

Introduction Conformance for Real-Time System Off-line Test Generation

Controllable Timed Automata Observable Timed Automata

On-line Test Generation Conclusion and Future Work

CLASSI C CLASSI C CLASSI C CORA CORA CORA TI GA TI GA TI GA TRON TRON TRON

slide-3
SLIDE 3

Informationsteknologi

Testing

  • Primary validation technique used in industry
  • In general avg. 10-20 errors per 1000 LOC
  • 30-50 % of development time and cost in embedded software
  • To find errors
  • To determine risk of release
  • Part of system development life-cycle
  • Expensive, error prone, time consuming (for Real-Time Systems)
  • UPPAAL model can be used to generate test specifications

Output Input

Environ- m ent System Under Test

slide-4
SLIDE 4

Informationsteknologi

Real-tim e Model-Based Testing

sensors actuators

Plant

Continuous

Controller Program

Discrete

a c b 1 2 4 3 a c b 1 2 4 3 1 2 4 3 1 2 4 3 a c b

UPPAAL Model

inputs

  • utputs

Test generation (offline or

  • nline) wrt.

Design Model

Conform s-to?

slide-5
SLIDE 5

Informationsteknologi

Conform ance Relation

Specification Implementation

  • Timed Automata with Timed-LTS semantics
  • I nput actions (?) are controlled by the environment
  • Output actions (!) are controlled by the implementation
  • Implementations are input enabled
  • Testing hypothesis: IUT can be modeled by some (unknown) TA

give? coin? coin? give? coin? give?

slide-6
SLIDE 6

Informationsteknologi

I1 I2 I3 I4 I5 I6 I7

Does I n conform -to S1 ?

S1

?

I8

slide-7
SLIDE 7

Informationsteknologi

Tim ed Conform ance

  • Derived from Tretman’s IOCO
  • Let I , S be timed I/O LTS, P a set of states
  • TTr(P): the set of timed traces from P
  • eg.: σ = coin?.5 .req?.2 .thinCoffee!.9 .coin?
  • Out(P after σ) = possible outputs and delays after σ
  • eg. out ({l2,x=1}): {thinCoffee, 0 ...2 }
  • I ntuition
  • no illegal output is produced and
  • required output is produced ( at right tim e)
  • I rt-ioco S = def
  • ∀σ ∈ TTr( S) : Out( I after σ) ⊆ Out( S after σ)
  • TTr( I ) ⊆ TTr( S) if s and I are input enabled

l2

See also [Krichen&Tripakis, Khoumsi]

slide-8
SLIDE 8

Informationsteknologi

Does I n conform -to S1 ?

S1 I1

σ=coin.give.10 σ∈TTr(I1), σ ∉TTr(S1)

  • ut(I1 after coin.give.3)={0... ∞}

  • ut(S1 after coin.give.3)={coffee,0…2}
slide-9
SLIDE 9

Informationsteknologi

Does I n conform -to S1 ?

S1 I3 I4

σ=coin.give.7.coffee σ∈TTr(I3), σ ∉TTr(S1)

  • ut(I3 after coin.give.7)={coffee,0}

  • ut(S1 after coin.give.7)={}

σ=coin.give.1.coffee σ∈TTr(I4), σ ∉TTr(S1)

  • ut(I4 after coin.give.1)={coffee,0...4}

  • ut(S1 after coin.give.1)={0...4}
slide-10
SLIDE 10

Informationsteknologi

Does I n conform -to S1 ?

S1

σ=coin.give.5.tea σ∈TTr(I7), σ ∉TTr(S1)

  • ut(I7 after coin.give.5)={tea, coffee,0}

  • ut(S1 after coin.give.5)={coffee,0}

I8

σ=token.5.vodka σ∈TTr(I8), σ ∉TTr(S1) But σ was not specified

I7

slide-11
SLIDE 11

Informationsteknologi

Sam ple Cooling Controller

IUT-model Env-model

On! Off! Low? Med? High?

Cr

  • When T is high (low) switch on (off) cooling within r secs.
  • When T is medium cooling may be either on or off (impl freedom)
slide-12
SLIDE 12

Informationsteknologi

Environm ent Modeling

EL EM E1 E2

EL E2 E1 EM

Temp. time High! Med! Low! EM Any action possible at any time E1 Only realistic temperature variations E2 Temperature never increases when cooling EL No inputs (completely passive)

slide-13
SLIDE 13

Informationsteknologi

I m plem entation relation

Relativized real-tim e io-conform ance

  • I rt-iocoE S =def

∀σ ∈ TTr(E): Out((E,I) after σ) ⊆ Out((E,S) after σ)

  • I rt-iocoE s iff TTr(I) ∩ TTr(E) ⊆ TTr(S) ∩ TTr(E) / / input enabled
  • I ntuition, for all assum ed environm ent behaviors, the I UT
  • never produces illegal output, and
  • alw ays produces required output in tim e
  • E,S, I are input enabled Timed LTS
  • Let P be a set of states
  • TTr(P): the set of timed traces from states in P
  • P after σ = the set of states reachable after timed trace σ
  • Out(P) = possible outputs and delays from states in P

System Model Environm ent assum ptions ε0’,o0,ε1’,o1… ε0,i0,ε1,i1…

E I UT S I

slide-14
SLIDE 14

Informationsteknologi

Re-use Testing Effort

  • Given I, E, S
  • Assume I rt-iocoE S

If S S’ then I rt-iocoE S’

  • 1. Given new (weaker) system specification S’

If E’ E then I rt-iocoE’ S

  • 2. Given new (stronger) environment specification E’
slide-15
SLIDE 15

Off-Line Test Generation

Controllable Tim ed Autom ata

slide-16
SLIDE 16

Informationsteknologi

Test Gene- rator tool Test Gene- rator tool

click? x:=0 click? x<2 x>=2 DBLclick!

Model Based Conform ance Testing

fail pass

Test execution tool Test execution tool

Event mapping Driver

Model Test suite

Test Generator tool Test Generator tool

Implementation Relation

Selection &

  • ptimization

Does the behavior of the (blackbox) implementation comply to that of the specification?

I m p l e m e n t a t i

  • n

U n d e r T e s t

slide-17
SLIDE 17

Informationsteknologi

Model-Based Testing

System Model Environm ent Model

Output Input

  • FSM model of system and environment
  • Determinizable/deterministic models
  • Test purpose P ≈ reachability property φP
  • Test-case generation ≈ witness generation
  • Test input sequence σφp = i0,i1,i2,…
  • Test suite T = {σ1, …, σn }, minimized by excluding

all σi substring of some other σj

Σ

slide-18
SLIDE 18

Informationsteknologi

Testing Verdict

  • Test program σφp = i0,i1,i2,…
  • Test in/output δφp = i0,o0,i1,o1,i2,i3,…
  • Test Verdict:
  • OK, if δφp = i0,o0,i1,o0,i2,i3,… run of system model
  • NOK, otherwise

System Under Test i0,i1,i2,…

  • 0,o1,o2,…

Test Program

slide-19
SLIDE 19

Informationsteknologi

Testing Real-Tim e System s System Model Environm ent Model

  • Test input sequence σφp = ε0,i0,ε1,i1,ε2,i2,…
  • Test in/output δφp = ε0,i0,ε1,o0,ε1,i1,o1,…
  • Test Verdict:
  • OK, if δφp = ε0,i0,ε1,o0,ε1,i1,o1,…run of system model
  • NOK, otherwise
  • Timed Automata?

ε0’,o0,ε1’,o1… ε0,i0,ε1,i1…

slide-20
SLIDE 20

Informationsteknologi

This w ork

  • Test case generation from timed automata
  • by reachability analysis
  • implementation in UPPAAL
  • Testing Criteria:
  • single test purpose
  • coverage criteria: location, branching, definition/use

pairs, etc.

  • Optimality:
  • Test Cases: σφp = ε0,i0,ε1,i1,ε2,i2,… with minimum cost

e.g. min(ε0 + ε1 + …+εn )

  • Test Suites: T = {σ1, …, σn } with minimum cost
slide-21
SLIDE 21

Informationsteknologi Controllable Tim ed Autom ata

I nput Enabled: all inputs can always be accepted. Output Urgent: enabled outputs will occur immediately. Determ inism : two transitions with same input/output leads to the same state. I solated Outputs: if an output is enabled, no other output is enabled. Assumption about model of SUT

slide-22
SLIDE 22

Informationsteknologi

Exam ple Light Controller

slide-23
SLIDE 23

Informationsteknologi Off-Line Testing = Optim al Reachability

Specific Test Purposes Model Coverage Optimal test-suites Specific Test Purposes Model Coverage Optimal test-suites

transition covered

slide-24
SLIDE 24

Informationsteknologi Off-Line Testing = Optim al Reachability

transition covered

  • ut(IGrasp); //touch:switch light on

silence(200);

  • ut(IRelease);

in(OSetLevel,0);

  • ut(IGrasp); //@200 // touch: switch light off

silence(200);

  • ut(IRelease);//touch

in(OSetLevel,0); //9

  • ut(IGrasp); //@400 //Bring dimmer from ActiveUp

silence(500); //hold //To Passive DN (level=0) in(OSetLevel,0);

  • ut(IRelease);

//13

  • ut(IGrasp); //@900 // Bring dimmer PassiveDn->ActiveDN->

silence(500);//hold // ActiveUP+increase to level 10 silence(1000); in(OSetLevel,1); silence(1000); in(OSetLevel,2); silence(1000); in(OSetLevel,3); silence(1000); in(OSetLevel,4); silence(1000); in(OSetLevel,5); silence(1000); in(OSetLevel,6); silence(1000); in(OSetLevel,7); silence(1000); in(OSetLevel,8); silence(1000); in(OSetLevel,9); silence(1000); in(OSetLevel,10 silence(1000); in(OSetLevel,9); //bring dimm State to ActiveDN

  • ut(IRelease); //check release->grasp is ignored
  • ut(IGrasp); //@12400
  • ut(IRelease);

silence(dfTolerance);

Page 1 Page 2

Fastest Transition Coverage =12600 ms

slide-25
SLIDE 25

Informationsteknologi Off-Line Testing = Optim al Reachability

Specific Test Purposes Model Coverage Optimal test-suites Specific Test Purposes Model Coverage Optimal test-suites

transition covered

1 W 1 W 5 0 W 1 0 0 W

slide-26
SLIDE 26

Informationsteknologi

Tim ed Autom ata

T_sw=4 T_idle=20

( E) FSM+ clocks+ guards+ resets

WANT: if touch is issued twice quickly then the light will get brighter; otherwise the light is turned off. Solution: Add real-valued clock x

slide-27
SLIDE 27

Informationsteknologi

Tim ed Tests

T_sw=4 T_idle=20

EXAMPLE test cases

0·touch!·0·dim?·2·touch!·0·bright?·2·touch!·off?·PASS 0·touch!·0.dim?·2½·touch!·0·bright?·3·touch!·off?·PASS 0·touch!·0·dim?·5touch!·0·off?·PASS 0·touch!·0·dim?·5·touch!·0·off?·50·touch!·0·bright?·6·touch!·0·dim?·PASS

INFINITELY MANY SEQUENCES!!!!!!

slide-28
SLIDE 28

Informationsteknologi

Optim al Tests

T_sw=4 T_idle=20

  • Fastest test for bright light??
  • Fastest edge-covering test suite??
  • Least pow er consuming test??

1 W 5 0 W 1 0 0 W

  • Shortest test for bright light??
slide-29
SLIDE 29

Informationsteknologi

Sim ple Light Controller

T_react=2 T_sw=4 T_idle=20

Environment model System model

slide-30
SLIDE 30

Informationsteknologi

Test Purposes

TP1 : Check that the light can become bright: E<> LightController.bright Environment model System model A specific test objective (or observation) the tester wants to make on SUT

  • Shortest Test: 20·touch!·0·bright?·PASS
  • Fastest Test: 0·touch!·0·dim?·2·touch!·0·bright ?·PASS

T_react=2 T_sw=4 T_idle=20

slide-31
SLIDE 31

Informationsteknologi

Test Purposes 2

TP2 : Check that the light switches off after three successive touches Use restricted environment and E<> tpEnv.goal Environment model*TP2 System model

T_react=2 T_sw=4 T_idle=20

  • The fastest test sequence is

0·touch!·0·dim?·2·touch!·0·bright?·2·touch!·0·off?·PASS

slide-32
SLIDE 32

Informationsteknologi Coverage Based Test Generation

Multi purpose testing Cover measurement Examples:

Location coverage, Edge coverage, Definition/use pair coverage

l1 l4 l3 l2

a? x:=0 x≥2 a? x<2 b! c!

slide-33
SLIDE 33

Informationsteknologi Coverage Based Test Generation

Multi purpose testing Cover measurement Examples:

Location coverage, Edge coverage, Definition/use pair coverage

l1 l4 l3 l2

a? x:=0 x≥2 a? x<2 b! c!

slide-34
SLIDE 34

Informationsteknologi Coverage Based Test Generation

Multi purpose testing Cover measurement Examples:

Location coverage, Edge coverage, Definition/use pair coverage

l1 l4 l3 l2

a? x:=0 x≥2 a? x<2 b! c!

slide-35
SLIDE 35

Informationsteknologi Coverage Based Test Generation

Multi purpose testing Cover measurement Examples:

Location coverage, Edge coverage, Definition/use pair coverage

l1 l4 l3 l2

a? x:=0 x≥2 x<2 b! c!

slide-36
SLIDE 36

Informationsteknologi Coverage Based Test Generation

Multi purpose testing Cover measurement Examples:

Locations coverage, Edge coverage, Definition/use pair coverage All Definition/Use pairs

Generated by min-cost reachability

analysis of annotated graph

l1 l4 l3 l2

a? x:=0 x≥2 a? x<2 b! c!

slide-37
SLIDE 37

Informationsteknologi

Location Coverage

Test sequence traversing all locations Encoding:

Enumerate locations l0,…,ln Add an auxiliary variable li for each location Label each ingoing edge to location i li:=true Mark initial visited l0:=true

Check: EF( l0=true ∧ … ∧ ln=true ) lj lj:=true lj:=true

slide-38
SLIDE 38

Informationsteknologi

Edge Coverage

Test sequence traversing all edges Encoding:

Enumerate edges e0,…,en Add auxiliary variable ei for each edge Label each edge ei:=true

Check: EF( e0=true ∧ … ∧ en=true ) l1 l4 l3 l2

a? x:=0 e0:=1 x≥2 a? e2:=1 x<2 b! e1:=1 c! e3:=1 e4:=1

slide-39
SLIDE 39

Informationsteknologi

Edge Coverage

EC: T_react= 0 0·touch!·0·dim?·0·touch!·0·bright?·0·touch!·0·off?· 20·touch!·0·bright?·4·touch!·0·dim?·4·touch!·0·off?·PASS

Time=28

EC': T_react= 2 0·touch!·0·dim?·4·touch!·0·off?· 20·touch!·0·bright?· 4·touch!·0·dim?·2·touch!·0·bright?·2·touch!·0·off?·PASS

Time=32

EC'': pausing user T_react= 2, T_pause= 5 0·touch!·0·dim?·2·touch!·0·bright?·5·touch!·0·dim?· 4·touch!·0·off?·20·touch!·0·bright?·2·touch!·0·off?·PASS

Time=33

slide-40
SLIDE 40

Informationsteknologi

Definition/ Use Pair Coverage

Dataflow coverage technique Def/use pair of variable x: Encoding:

vd ∈ { false} ∪{ e0, …, en }, initially false Boolean array du of size |E| x |E| At definition on edge i: vd:=ei At use on edge j: if( vd ) then du[vd,ej]:=true

. .

x:=0 x≥4 ... definition use no defs

slide-41
SLIDE 41

Informationsteknologi Definition/ Use Pair Coverage

Dataflow coverage technique Def/use pair of variable x: Encoding:

vd ∈ { false} ∪{ e0, …, en }, initially false Boolean array du of size |E| x |E| At definition on edge i: vd:=ei At use on edge j: if( vd ) then du[vd,ej]:=true

Check:

EF( all du[i,j] = true )

x:=0 x≥4 ... definition use no defs n-1 n-1 i j du:

slide-42
SLIDE 42

Informationsteknologi

Test Suite Generation

In general a set of test cases is needed to cover a test

criteria

Add global reset of SUT and environment model and

associate a cost (of system reset)

Same encodings and min-cost reachability Test sequence σ = ε0,i0,…,ε1, i1, reset ε2,i2, …,ε0,i0,reset,ε1, i1,ε2,i2,… Test suite T = {σ1, …, σn } with

minimum cost

initial reset reset? x=C x:=0 x≤ C R

σi

slide-43
SLIDE 43

Informationsteknologi

The Philips Audio Protocol

A bus based protocol for exchanging control

messages between audio components

Collisions Tolerance on timing events

1 1 1 Bit stream Manchester encoding

TX RX TX RX

in0 in1 empty coll up dn in0 isUP

  • ut0
  • ut1

end

slide-44
SLIDE 44

Informationsteknologi

Philips Audio Protocol

slide-45
SLIDE 45

Informationsteknologi

Benchm ark Exam ple

Philips Audio Protocol

slide-46
SLIDE 46

Off-Line Test Generation

Observable Tim ed Autom ata

slide-47
SLIDE 47

Informationsteknologi

Observable Tim ed Autom ata

Determ inism :

two transitions with same input/output leads to the same state

I nput Enabled:

all inputs can always be accepted

Tim e Uncertainty of outputs:

timing of outputs uncontrollable by tester

Uncontrollable output:

IUT controls which enabled output will occur in what order

slide-48
SLIDE 48

Informationsteknologi

Tim ed Gam es and Test Generation

Off-line test-case generation = Compute winning strategy for reaching Bright Assign verdicts st. lost game means IUT not conforming

Tidle=20 Tsw=4

slide-49
SLIDE 49

Informationsteknologi

A trick light control

How to test for Bright ?

E<> (control: A<> Bright)

  • r

<<c,u>> ♦(<<c>> ♦ Bright)

Tidle=20 Tsw=4

slide-50
SLIDE 50

Informationsteknologi

Cooperative Strategies

winning loosing possibly winning initial goal

  • Play the game (execute test) while time available or game is lost
  • Possibly using ranomized online testing

Model Statespace

slide-51
SLIDE 51

On-Line Testing

slide-52
SLIDE 52

Informationsteknologi

slide-53
SLIDE 53

Informationsteknologi

Test Gene- rator tool Test Gene- rator tool

click? x:=0 click? x<2 x>=2 DBLclick!

Autom ated Model Based Conform ance Testing

fail pass

Test execution tool Test execution tool

Adaptor

Model Test suite

Test Generator tool Test Generator tool

Correctness Relation

Selection &

  • ptimization

Does the behavior of the (blackbox) implementation comply to that of the specification?

I m p l e m e n t a t i

  • n

U n d e r T e s t

slide-54
SLIDE 54

Informationsteknologi

Test Gene- rator tool Test Gene- rator tool

click? x:=0 click? x<2 x>=2 DBLclick!

input

Online Testing

fail pass

Test execution tool Test execution tool

Adaptor

Model

Test Generator tool Test Generator tool

  • utput

Correctness Relation Selection &

  • ptimization
  • Test generated and executed event-

by-event (randomly)

  • A.K.A on-the-fly testing

I m p l e m e n t a t i

  • n

U n d e r T e s t input input input

  • utput
  • utput
  • utput
slide-55
SLIDE 55

An Algorithm

slide-56
SLIDE 56

Informationsteknologi

Algorithm I dea:

State-set tracking

Dynamically compute all potential states that the

model M can reach after the timed trace ε0,i0,ε1,o1,ε2,i2,o2,…

Z= M after (ε0,i0,ε1,o1,ε2,i2,o2) If Z= ∅ the IUT has made a computation not in model:

FAI L

i is a relevant input in Env iff I ∈ EnvOutput(Z)

[Tripakis] Failure Diagnosis

slide-57
SLIDE 57

Informationsteknologi

Online State Estim ation

State-set explorer: maintain and analyse a set of symbolic states in real time! Z2 Z4 Z0 Z1 Z3 Z7 Z5 Z8 Z6 Z9 Z11 Z14 Z12 Z15 Z18 Z17 Z16

Timed Automata Specification

i! 2.75 O?

System Under Test

slide-58
SLIDE 58

Informationsteknologi

( Abstract) Online Algorithm

Algorithm TestGenExe (S, E, IUT, T ) returns {pass, fail) Z := {(s0, e0)}. w hile Z ≠ ∅ and ♯iterations ≤ T do either randomly: 1. // offer an input if EnvOutput(Z) ≠ ∅ randomly choose i∈ EnvOutput(Z) send i to IUT Z := Z After i 2. // wait d for an output randomly choose d∈ Delays(Z) w ait (for d time units or output o at d′ ≤ d) if o occurred then Z := Z After d′ Z := Z After o // may become ∅ (⇒fail) else Z := Z After d // no output within d delay 3. restart: Z := {(s0, e0)}, reset IUT //reset and restart if Z = ∅ then return fail else return pass

slide-59
SLIDE 59

Informationsteknologi

( Abstract) Online Algorithm

Algorithm TestGenExe (S, E, IUT, T ) returns {pass, fail) Z := {(s0, e0)}. w hile Z ≠ ∅ ♯iterations ≤ T do either randomly: 1. // offer an input if EnvOutput(Z) ≠ ∅ randomly choose i EnvOutput(Z) send i to IUT Z := Z After i 2. // wait d for an output randomly choose d Delays(Z) w ait (for d time units or output o at d′ ≤ d) if o occurred then Z := Z After d′ Z := Z After o // may become ∅ (⇒fail) else Z := Z After d // no output within d delay 3. restart: Z := {(s0, e0)}, reset IUT //reset and restart if Z = ∅ then return fail else return pass

  • Sound
  • Complete (as T → ∞)

(Under some technical assumptions)

slide-60
SLIDE 60

Informationsteknologi

State-set Operations

Can be computed efficiently using the

symbolic data structures and algorithms in Uppaal

τ

τ

τ

a

a

a

τ

τ

τ

τ

τ

τ

Z after a: possible states after action a (and τ* ) Z Z after ε :possible states after τ* and εi , totaling a delay of ε

5

τ

τ

τ

1

2

τ

4

τ

2

1

τ

time

ε (5)

Z

slide-61
SLIDE 61

Informationsteknologi

Online Testing Exam ple

slide-62
SLIDE 62

Informationsteknologi

Online Testing

slide-63
SLIDE 63

Informationsteknologi

Online Testing

slide-64
SLIDE 64

Informationsteknologi

Online Testing

slide-65
SLIDE 65

Informationsteknologi

Online Testing

slide-66
SLIDE 66

Informationsteknologi

Online Testing

slide-67
SLIDE 67

Informationsteknologi

Online Testing

slide-68
SLIDE 68

Informationsteknologi

Online Testing

slide-69
SLIDE 69

Informationsteknologi

Online Testing

slide-70
SLIDE 70

Informationsteknologi

Online Testing

slide-71
SLIDE 71

Informationsteknologi

Online Testing

slide-72
SLIDE 72

Informationsteknologi

Online Testing

slide-73
SLIDE 73

Informationsteknologi

Online Testing

slide-74
SLIDE 74

Informationsteknologi

I ndustrial Application:

Danfoss Electronic Cooling Controller

Output Relays

  • compressor relay
  • defrost relay
  • alarm relay
  • (fan relay)

Display Output

  • alarm / error indication
  • mode indication
  • current calculated temperature

Sensor I nput

  • air temperature sensor
  • defrost temperature sensor
  • (door open sensor)

Keypad I nput

  • 2 buttons (~40 user settable

parameters)

  • Optional real-time clock or LON network module
slide-75
SLIDE 75

Informationsteknologi

I ndustrial Application:

Danfoss Electronic Cooling Controller

Output Relays

  • compressor relay
  • defrost relay
  • alarm relay
  • (fan relay)

Display Output

  • alarm / error indication
  • mode indication
  • current calculated temperature

Sensor I nput

  • air temperature sensor
  • defrost temperature sensor
  • (door open sensor)

Keypad I nput

  • 2 buttons (~40 user settable

parameters)

  • Optional real-time clock or LON network module
slide-76
SLIDE 76

Informationsteknologi

Exam ple Test Run

(log visualization)

1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 3000 3100 3200 3300 3400 3500 3600 3700 3800 100000 200000 300000 400000 500000 600000 700000 800000 900000 setTemp modelTemp ekcTemp CON COFF AON AOFF alarmRst HADOn HADOff DON DOFF manDefrostOn manDefrostOff

defrostOff? alarm On! alarm DisplayOn! resetAlarm ? AOFF! HighAlarm DisplayOff! m anualDefrostOn? COFF! DON! com pressorOn! / / defrost com plete DOFF! CON!

slide-77
SLIDE 77

Model-based Testing

  • f

Real Tim e System s

Conclusions

slide-78
SLIDE 78

Informationsteknologi

Conclusions

Testing real-time systems is theoretically

and practically challenging

Promising techniques and tools Explicit environment modeling

Realism and guiding Separation of concerns Modularity Creative tool uses Theoretical properties

Real-time online testing from timed

automata is feasible, but

Many open research issues

slide-79
SLIDE 79

Informationsteknologi

Research Problem s

Testing Theory Timed games with partial observability Hybrid extensions Other Quantitative Properties Probabilistic Extensions, Performance testing Efficient data structures and algorithms for state

set computation

Diagnosis & Debugging Guiding and Coverage Measurement Real-Time execution of TRON Adaptor Abstraction, IUT clock synchronization Further Industrial Cases

slide-80
SLIDE 80

Informationsteknologi

Related W ork

Formal Testing Frameworks

[Brinksma, Tretmans]

Real-Time Implementation Relations

[Khoumsi’03, Briones’04, Krichen’04]

Symbolic Reachability analysis of Timed

Automata

[Dill’89, Larsen’97,…]

Online state-set computation

[Tripakis’02]

Online Testing

[Tretmans’99, Peleska’02, Krichen’04]