Abstracting Timing Information in UML g g State Charts via - - PowerPoint PPT Presentation

abstracting timing information in uml g g state charts
SMART_READER_LITE
LIVE PREVIEW

Abstracting Timing Information in UML g g State Charts via - - PowerPoint PPT Presentation

Institut fr Softwaretechnologie Abstracting Timing Information in UML g g State Charts via Temporal Ordering and LOTOS Temporal Ordering and LOTOS Valentin Chimisliu Franz Wotawa Institut fr Softwaretechnologie Institut fr


slide-1
SLIDE 1

Institut für Softwaretechnologie

Abstracting Timing Information in UML g g State Charts via Temporal Ordering and LOTOS Temporal Ordering and LOTOS

Valentin Chimisliu Institut für Softwaretechnologie Technische Universität Graz Graz Austria Franz Wotawa Institut für Softwaretechnologie Technische Universität Graz Graz Austria

Professor Horst Cerjak, 19.12.2005

1

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

Graz, Austria Graz, Austria

slide-2
SLIDE 2

Institut für Softwaretechnologie

Motivation Motivation

  • Introduction of academic model based test case

generation tools into industry

  • Hide the user unfriendly formal language
  • Useof a widely accepted modeling language
  • Abstract concrete timing information using temporal

d i

  • rdering

Professor Horst Cerjak, 19.12.2005

2

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-3
SLIDE 3

Institut für Softwaretechnologie

  • UML State Charts
  • LOTOS

LOTOS

  • Model Description
  • Model Transformation

Model Transformation

  • Future Work
  • Conclusions

Conclusions

Professor Horst Cerjak, 19.12.2005

3

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-4
SLIDE 4

Institut für Softwaretechnologie

UML State Charts

  • UML behavioral diagrams
  • Describe reactions of a system to external stimuli
  • Hierarchical structures
  • Composed of states, pseudostates and transitions

Professor Horst Cerjak, 19.12.2005

4

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-5
SLIDE 5

Institut für Softwaretechnologie

UML State Charts

  • Atomic execution
  • Timeouts
  • Run-to-Completion step
  • Asynchronous communication

Professor Horst Cerjak, 19.12.2005

5

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-6
SLIDE 6

Institut für Softwaretechnologie

UML State Charts

  • States:
  • Pseudostates:

Pseudostates: Transitions:

  • Transitions: ,

V i bl

  • Variables:

I i i l S

Professor Horst Cerjak, 19.12.2005

6

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

  • Initial State:
slide-7
SLIDE 7

Institut für Softwaretechnologie

UML State Charts UML State Charts

Professor Horst Cerjak, 19.12.2005

7

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-8
SLIDE 8

Institut für Softwaretechnologie

  • UML State Charts
  • LOTOS

LOTOS

  • Model Description
  • Model Transformation

Model Transformation

  • Future Work
  • Conclusions

Conclusions

Professor Horst Cerjak, 19.12.2005

8

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-9
SLIDE 9

Institut für Softwaretechnologie

LOTOS

  • ISO standard

LOTOS

  • Based on process algebra and on the abstract data type

l ACT ONE language ACT ONE.

  • describes a system as a set of interacting communicating

y g g processes

  • process behavior is described through behavioral

expressions p

  • processes communicate through event gates

Professor Horst Cerjak, 19.12.2005

9

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-10
SLIDE 10

Institut für Softwaretechnologie

LOTOS

Specification structure

“specification” name_spec [gate list] (parameter list) : functionality p y type definitions “behavior” behavior expression “where” type definitions process definitions process definitions “endspec”

Professor Horst Cerjak, 19.12.2005

10

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-11
SLIDE 11

Institut für Softwaretechnologie

LOTOS

  • Some LOTOS operators:

LOTOS

– “;” - action prefix - startCar;DRIVE. – “[ ]” - choice - (CarStarts;DRIVE) [ ] (CarBroken; WALK) – “||” – full synchronization - (a;b;c;X)||(a;b;Y) includes a;b… “|||” i t l i ( b P) ||| ( T) i l d b – “|||” – interleaving - (a;b;c;P) ||| (x;y;T) includes a;x;y;b;c... – “|[< gates >]|” - partial synchronization - (a;b;c;P) |[b]| (b;y;T) |[< gates >]| partial synchronization (a;b;c;P) |[b]| (b;y;T) includes a;b;y;c... and a;b;c;y... .

Professor Horst Cerjak, 19.12.2005

11

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

– “stop” - inaction - a system that can not show any action.

slide-12
SLIDE 12

Institut für Softwaretechnologie

  • UML State Charts
  • LOTOS

LOTOS

  • Model Description
  • Model Transformation

Model Transformation

  • Future Work
  • Conclusions

Conclusions

Professor Horst Cerjak, 19.12.2005

12

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-13
SLIDE 13

Institut für Softwaretechnologie

Model Description Model Description

  • Class diagram
  • Each class has attached a statechart
  • Classes communicate through data carrying events
  • Asynchronous communication
  • FIFO queue

Professor Horst Cerjak, 19.12.2005

13

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-14
SLIDE 14

Institut für Softwaretechnologie

Direction Indication Direction Indication

System Structure

Professor Horst Cerjak, 19.12.2005

14

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-15
SLIDE 15

Institut für Softwaretechnologie

Direction Indication

System Behavior

Professor Horst Cerjak, 19.12.2005

15

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-16
SLIDE 16

Institut für Softwaretechnologie

  • UML State Charts
  • LOTOS

LOTOS

  • Model Description
  • Model Transformation

Model Transformation

  • Future Work
  • Conclusions

Conclusions

Professor Horst Cerjak, 19.12.2005

16

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-17
SLIDE 17

Institut für Softwaretechnologie

Model Transformation

  • Flattened Statechart  LOTOS process

Model Transformation

  • Flattened Statechart  LOTOS process
  • UML States  LOTOS processes
  • Variables  Process parameters
  • Transitions  Behavioral expressions

– triggering events  gates offerings gg g g g – assignment statements  process parameter operations ti f t  t ff i – generation of events  gates offerings

  • Asynchronous communication FIFO event queue

Professor Horst Cerjak, 19.12.2005

17

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-18
SLIDE 18

Institut für Softwaretechnologie

Model Transformation Model Transformation

System Structure in LOTOS

(HazardWarningButton[alfaGate, inGate, toQueue,outGate,time] (UNPRESSED, tmQueue_nil) ||| Blinker[alfaGate, inGate, toQueue, outGate, time] (tmQueue_nil) ||| I t tCl t [ lf G t i G t t Q tG t ti ] InstrumentCluster[alfaGate, inGate, toQueue, outGate, time] (tmQueue_nil) ||| ) || Synchronization[alfaGate, inGate, toQueue, outGate, time] (true, true, true, true, tmQueue nil)

Professor Horst Cerjak, 19.12.2005

18

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

(true, true, true, true, tmQueue_nil)

slide-19
SLIDE 19

Institut für Softwaretechnologie

Model Transformation Model Transformation

Main LOTOS Abstract Data Types

  • ComModels – identifies the communicating models (UML class)
  • Transition

represents properties of UML transitions (id containing

  • Transition – represents properties of UML transitions (id, containing

model, etc.)

  • Event – the events used for communication
  • EventQueue – used to store events generated during run to

completion steps

  • TmEvent – represents the timeout event

e t ep ese s e eou e e

  • TimeQueue – container for the timeout events ready to elapse

Professor Horst Cerjak, 19.12.2005

19

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-20
SLIDE 20

Institut für Softwaretechnologie

Model Transformation Model Transformation

Time Queue Abstract Data Type

type TIMEQUEUE is TMEVENTS, ComModels t sorts TmEvent

  • pns

t_nil (*! constructor *) : -> TmQueue add (*! constructor *) : TmEvent, TmQueue -> TmQueue ( ) , min: TmQueue -> TmEvent pop min : TmQueue -> TmQueue pop_min : TmQueue -> TmQueue decr_queue : Nat, TmQueue -> TmQueue pop_ModelTrans: Model, TmQueue -> TmQueue T T iti T Q > T Q

Professor Horst Cerjak, 19.12.2005

20

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

popTrans: Transition, TmQueue -> TmQueue

slide-21
SLIDE 21

Institut für Softwaretechnologie

Model Transformation Model Transformation

States and Variables

Control Gate Input Gate Event Communication Time Gate Output Gate Control Gate Input Gate Event Communication Gate Time Gate Output Gate

process Toggled [alfaGate, inGate, toQueue, outGate, time] (ButtonStatus: Nat, tmQueue: TmQueue,ellapsedTime: Nat) : noexit:=

Professor Horst Cerjak, 19.12.2005

21

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-22
SLIDE 22

Institut für Softwaretechnologie

Model Transformation Model Transformation

Transitions

alfaGate !Blinker !true !min(tmQueue); inGate !Blinker_T76 ?msg:TmEvent [(msg == getEvByTrans(Blinker_T76 , tmQueue))]; time ?tmt: Nat !itsTaster;

  • utGate !tmQueue !timeSynch !ellapsedTime ;

toQueue !reqLightOff(RIGHT, InstrCluster); RightBlinkersOFF[alfaGate, inGate, toQueue, outGate, time] add(tm(!Blinker T78 , OFF Phase), popTrans(Blinker T76 ,tmQueue)) ) ( ( _ , _ ), p p ( _ , )) )

Professor Horst Cerjak, 19.12.2005

22

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-23
SLIDE 23

Institut für Softwaretechnologie

Model Transformation

alfaGate !Blinker !true !min(tmQueue);

Transitions - Timing and Hierarchy

alfaGate !Blinker !true !min(tmQueue); …………. RightBlinkersOFF[alfaGate, inGate, toQueue, outGate, time] ( add( tm(!Blinker_T78 , OFF_Phase), (decr_queue(getParam_timeout(min(tmQueue)),popTrans(Blinker_T76 ,tmQueue) ) )

Professor Horst Cerjak, 19.12.2005

23

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-24
SLIDE 24

Institut für Softwaretechnologie

Model Transformation Model Transformation

Communication and Timing

  • Synchronization Process purposes:

– Communication within the system Timing control – Timing control – Run to Completion Step – Atomic firing of transitions g

Professor Horst Cerjak, 19.12.2005

24

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-25
SLIDE 25

Institut für Softwaretechnologie

Model Transformation Model Transformation

The Synchronization porcess

process Synchronization [alfaGate, inGate, toQueue, outGate, time] (stable Blinker: Bool stable HazardWButton: Bool (stable_Blinker: Bool, stable_HazardWButton: Bool, ….. , SyncTimeQueue: TmQueue): noexit:= <get_models_into_stable_state> [ ] <consume_timeout_event> [ ] <consume event> <consume_event> endproc

Professor Horst Cerjak, 19.12.2005

25

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-26
SLIDE 26

Institut für Softwaretechnologie

Model Transformation Model Transformation

The Synchronization porcess

<get_models_into_stable_state>

  • <fire completion trans>

<fire_completion_trans>

  • <empty_event_queue>
  • process SYNCHRONIZATION[<comm_gates>](<synch_params>)

Professor Horst Cerjak, 19.12.2005

26

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-27
SLIDE 27

Institut für Softwaretechnologie

Model Transformation Model Transformation

The Synchronization porcess

<consume_timeout_event> inGate ?tr:Transition ?msg:TmEvent [<tm_guard>]; g [ _g ]; <propagate_timing_info> <tm_guard>:= not(t_empty(SyncTimeQueue)) and ( msg == min(SyncTimeQueue)) <propagate_timing_info>:= time !getParam_timeout(min(SyncTimeQueue)) !<model_id>;

Professor Horst Cerjak, 19.12.2005

27

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

g _ ( ( y )) _

slide-28
SLIDE 28

Institut für Softwaretechnologie

  • UML State Charts
  • LOTOS

LOTOS

  • Model Description
  • Model Transformation

Model Transformation

  • Future Work
  • Conclusions

Conclusions

Professor Horst Cerjak, 19.12.2005

28

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-29
SLIDE 29

Institut für Softwaretechnologie

Future Work

  • application of verification and test case generation

techniques techniques

  • Generation of test purposes directly on the statechart
  • Generation of test purposes directly on the statechart

level

  • Application of abstraction techniques

Professor Horst Cerjak, 19.12.2005

29

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-30
SLIDE 30

Institut für Softwaretechnologie

  • UML State Charts
  • LOTOS

LOTOS

  • Model Description
  • Model Transformation

Model Transformation

  • Future Work
  • Conclusions

Conclusions

Professor Horst Cerjak, 19.12.2005

30

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-31
SLIDE 31

Institut für Softwaretechnologie

Conclusions

M d l t f ti i d t ll i th

Conclusions

  • Model transformation aimed at allowing the

application of techniques like test case generation provided by academic tools to systems described provided by academic tools to systems described using the widely industry accepted UML notation.

  • Considered distributed timed control oriented

systems using asynchronous communication y g y

  • Constructs for abstracting timing aspects

A i t b t ti h ld b li d d i th

  • Appropriate abstractions should be applied during the

modeling process

Professor Horst Cerjak, 19.12.2005

31

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria

slide-32
SLIDE 32

Institut für Softwaretechnologie

THANK YOU ! THANK YOU !

Professor Horst Cerjak, 19.12.2005

32

Valentin Chimisliu AST 2011 Kompetenznetzwerk Softnet Austria