Sunteți pe pagina 1din 26

Sisteme in Timp Real

Semestrul I 2013 2014 Curs 7

Cuprinsul cursului 7

modelul de interactiuni al unui sistem

UML diagrame de secvente

exemplu modelarea cu a utorul diagramelor de secvente

15.11.2013

Curs 7 STR

!artea I "iagrama de secvente

15.11.2013

Curs 7 STR

Model de interactiuni:

model de interactiuni # o perspectiva asupra sistemului care pune in evidenta comportamentul sistemului ca intreg $asa cum este va%ut acesta de catre utili%atorii externi&

utili%ea%a' diagrame de secvente $sequence diagrams& diagrame de activitati $activity diagrams& diagrama de interactiune $interaction overview diagrams& diagrame de stare $state machines diagrams& Model de interactiuni' sistemul este va%ut ca un black box( )unctionalitatile sale )iind exprimate din perspectiva utili%atorului va captura cerintele sistemului( )ara a a*orda o solutie de implementare

15.11.2013

Curs 7 STR

Diagrame de interactiune UML 2.0:


Tipurile de diagrame definite in UML 2.0

Diagrame de structura (structure)

Diagrame de comportament (behaviour)

Diagrama de clase (class)

Diagrama de componente (component)

Diagrama de implementare (deployment)

Diagrama de activitati (activity)

Diagrama cazurilor de utilizare (use case)

Diagrama de stare (state machine)

Diagrama de obiecte (object)

Diagrama de structura compusa (composite structure)

Diagrama de interactiuni (interaction)

Diagrama de pachete (package)

Diagrama de secvente (sequence)

Diagrama de comunicatie (communication)

Diagrama de interactivitate (interaction overview)

Diagrama de timp (timing)

15.11.2013

Curs 7 STR

SysML 2.0:
Tipurile de diagrame definite in !sML ".0

Diagrame de structura (structure)

Diagrama de cerinte (requirement )

Diagrame de comportament (behaviour)

Diagrama de definire a blocurilor (block definition)

Diagrama interna de blocuri (internal block)

Diagrama de pachete (package)

Diagrama de activitati (activity)

Diagrama de secvente (sequence)

Diagrama cazurilor de utilizare (use case)

Diagrama de stari (state machine)

La fel ca in UML 2 Diagrama de parametrizare Modificat fata de UML 2 Tip nou de diagrama

15.11.2013

Curs 7 STR

Model de interactiuni:

mesaj + mecanismul prin care o*iectele cola*orea%a $interactionea%a& intre ele pentru a reali%a comportamentul dorit al sistemului $speci)icat prin intermediul scenariilor *a%ate pe ca%uri de utili%are& de multe ori( un mesa poate )i implementat ca o simpla activitate e,g un o*iect apelea%a o operatie din alt o*iect dupa executarea activitatii( controlul este returnat apelantului( impreuna cu o valoare return
mesaj

#$omputer%ord

seteaza&iteza(valoare)

# istem$ontrol&iteza

15.11.2013

Curs 7 STR

Diagrame de sec ente:

modelea%a comportamentul asociat ca%urilor de utili%are( descriind modul in care grupuri de o*iecte interactionea%a pentru a indeplini un tasarata secventele de mesa e interactiuni intre instantele din sistem )iecare diagrama de%volta doar un set posi*il de mesa e scenariu nu tratea%a toate mesa ele posi*ile in sistem se citesc de la stinga la dreapta si de sus in os pun in evidenta des)asurarea evenimentelor in timp

Scenariu !: Log on to s.stem, /pprove log on, 0nter su* ect in searc1, 2et course list, "ispla. course list, Select courses, Con)irm availa*ilit., "isplat. )inal sc1edule,

Scenariu 2' Log on to s.stem, /pprove log on, 0nter su* ect in searc1, "n alid su#$ect. Re%enter su#$ect. 2et course list, "ispla. course list, Select courses, Con)irm availa*ilit., "ispla. )inal sc1edule,

15.11.2013

Curs 7 STR

Diagrame de sec ente % elemente:

diagrama de secvente descrie un model de interactiune intre o*iecte( aran ate in ordine cronologica pre%inta o*iectele care participa la interactiune prin 3linii de viata3 + lifelines + si mesajele pe care acestea le trimit intre ele

4 interactiune descrie o comunicatie intre liniile de viata( )iind *a%ata pe sc&im#ul de mesa$e su* )orma apelurilor de operatii sau semnale

#Tip (ctor

'biect"#$lasa"

)ume#Tip (ctor

instanta de executie

mesaj sicron

operator interac tiune

mesaj sicron

linie de viata mesaj asinc ron

valoare

distrugerea obiectului la finalizarea interac tiunii

15.11.2013

Curs 7 STR

Diagrame de sec ente % elemente:


instanta de executie

#Tip (ctor

'biect"#$lasa"

)ume#Tip (ctor

mesaj sicron

operator interac tiune

mesaj sicron

linie de viata mesaj asinc ron

valoare

distrugerea obiectului la finalizarea interac tiunii

o linie de viata repre%inta un partener de comunicatie intr+o interactiune descrie numele( tipul si ciclul de viata al elementului respectiv un partener de comunicatie repre%entat de o linie de viata este un rol diagrama arata cu cine este conectat $cu cine poate comunica& rolul respectiv toate liniile de viata se termina la s)arsitul interactiunii
Curs 7 STR 10

15.11.2013

Diagrame de sec ente % elemente:


instanta de executie

#Tip (ctor

'biect"#$lasa"

)ume#Tip (ctor

mesajele pot )i sincrone sau asincrone si pot invoca o operatie( pot transporta un semnal( sau pot crea un o*iect

mesaj sicron

notatie' o sageata indreptata de la linia de viata a transmitatorului catre linia de viata a receptorului
linie de viata

operator interactiune

mesaj sicron

valoare

mesaj asincron distrugerea obiectului la finalizarea interactiunii

Mesa$e sincrone' sageata plina transmitatorul asteapta pana cand receptorul procesea%a mesa ul mesa ul returnat la transmitator este repre%entat cu sageata punctata

Mesa$e asincrone' sageata deschisa transmitatorul nu asteapta raspunsul receptorului( ci isi poate continua activitatea $transmitatorul si receptorul se executa in procese separate&

15.11.2013

Curs 7 STR

11

#Tip (ctor

'biect"#$lasa"

)ume#Tip (ctor

Diagrame de sec ente % elemente:

instanta de executie

mesaj sicron

operator interactiune

mesaj sicron

frame de interactiune

de)inesc o expresie pentru )ragmente de interactiune

linie de viata mesaj asincron

valoare

distrugerea obiectului la finalizarea interactiunii

operatorii de interactiune de)inesc modul in care continutul descrie comportamentul( de exemplu

'lt' )iecare sectiune repre%inta o alternativa Re(' re)erinta la alt ca% de utili%are Loop' speci)ica o secventa de comportament care se repeta 12

15.11.2013

Curs 7 STR

Diagrame de sec ente operatori de interactiune:

alt' )iecare sectiune repre%inta o alternativa

e,g alt5x 6# 07
'Client '4)iciu8ancar

alt 5x6#07 open/ccount$&

else

close/ccount$& enter!I9$& pin$&

15.11.2013

Curs 7 STR

13

Diagrame de sec ente operatori de interactiune )e*emplu+:

15.11.2013

Curs 7 STR

14

Diagrame de sec ente operatori de interactiune:

re(' reutili%ea%a o diagrama de secvente de a existenta( pentru a evita duplicarea

'Client

'Co))eeMac1ine
'Client 'Co))eeMac1ine

t1eMessage$:Insert Coins:&
Coin$&

re)

"nsertCoins

4;$&

Co))ee$& Cupo)Co))ee$&

Re( ReturnCoins

Se< InsertCoins Se< Ma-eCo))ee


15.11.2013 Curs 7 STR 15

Diagrame de sec ente marca de timp:


09= '4* ect>1 '4* ect>2 '4* ect>3

Message>0$&

Marca de timp cu functii de utilitate


Message>1$& ? i) t@20ms utilit.$t& # 10A ?i) $tD#20ms and t@# B0ms& utilit.$t& # B A ?i) $tDB0ms& utilit.$t& # 0A

Marca simpla de timp

?@ 2msA Message>2$&

Message>3$&

partition lines are used to divide up scenarios into c1un-s and add annotations Message>4$&

a
Marca eveniment

Message>B$& Message>C$&

Message>7$&

d d,
?dE d @ 3B msA Marca simpla de timp
15.11.2013 Curs 7 STR 16

Diagrama de sec ente "-M Rational R&apsody:

15.11.2013

Curs 7 STR

17

Diagrama de sec ente "-M Rational R&apsody:

15.11.2013

Curs 7 STR

18

Diagrame de sec ente relatia cu diagrama de ca.uri de utili.are:

&ome alarm

exemplu' Fome /larm

occupation simulation

H0xtendsI detect intrusions sound alarm intruder

arming and disarming

1omeoGner

code entr.

c1anging code

15.11.2013

Curs 7 STR

19

/*emplu % 0ome'larm:

use case' Detect "ntrusion in alarm Jill detect tGo t.pes o) intrusion' 1, K1e door Gill alloG a temporised dela. )or entering into t1e 1ouse and disarming t1e alarm, 2, / movement detection Gill action t1e alarm immediatel.,

use case' 1ccupation Simulation in alarm J1en t1e alarm is armed( t1e 1ouse lig1ts can *e sGitc1ed on and o)) to simulate presence, 4ne upstairs and one doGnstairs lig1t( Gill *e sGitc1ed onLo)) independentl. G1en ever t1e alarm is active, K1e timing o) sGitc1ing on and o)) t1e lig1ts is to *e de)ined

15.11.2013

Curs 7 STR

20

/*emplu % 0ome'larm:

use case' 'rming and Disarming in alarm

K1e 1ome alarm can *e armed and disarmed via a simple remote control t1at 1as tGo -e.s :arm: and :disarm: K1e alarm can also *e armed and disarmed *. using a simple -e.pad installed in t1e 1ouse, 4nce armed t1e 1omeoGner 1as B seconds to exit t1e 1ouse, J1en entering t1e 1ouse( t1e 1omeoGner 1as B seconds to disarm t1e code, Ko arm ' press 4 -e.s to enter code press -e. on

Ko disarm ' press 4 -e.s to enter code press -e. o)) J1en armed t1e red led Gill *e on, use case' Sound 'larm in alarm J1en an instrusion 1as *een detected t1e siren Gill *e activated,
15.11.2013 Curs 7 STR 21

/*emplu % 0ome'larm:

use case' Code /ntry in alarm K1e -e.pad 1as ten -e.s num*ered 0 t1roug1 M, / code is an. )our digits, 8. de)ault t1e code is 1234 I) at an. time a mista-e is made( t1e 4)) -e. can *e pressed to restart entering t1e code, use case' C&anging Code in alarm Ko c1ange t1e code( t1e 1omeoGner must do t1e )olloGing ' -e. on enter old code -e. on enter neG code -e. on I) t1e code is success)ull. c1anged t1e green led Gill )las1 )our times,

15.11.2013

Curs 7 STR

22

'1omeoGner
Obiecte

'Fome/larm
Mesaje

/*emplu % 0ome'larm:

*roprietarul armeaza alarma prin introduc erea c odului si apoi apasa tasta ')

-e.$1& -e.$2& -e.$3&


Dupa c e s+a apasat o tasta, proprietarul are la dispozitie @ B sec D 1 secunde pentru a introduce codul si a apasa tasta ')

Daca s+a introdus c orect codul, dupa un dela! (-./T0T/M-), alarma va fi armata

-e.$4& -e.4n$& @ 3 secD

Dupa c e s+a introdus codul, tasta ') va fi mentinuta apasata timp de 2 sec unde

diagrama de secvente asociata ca%ului de utili%are 'rming and Disarming scenariu armarea alarmei

Led+ul se va aprinde si stinge pana la e3pirarea intervalului -./T0T/M/n acest timp, vor fi ignorate atat desc hiderea usilor, cat si orice misc are din c asa

redLed4n$& redLed4))$& redLed4n$& redLed4))$& @ 0NIK>KIM0 D

Led+ul se va aprinde cu o frec venta de 24z

istemul de alarma este pornit si va detec ta deschiderea usilor si orice miscare din camera

redLed4n$&

Timp

15.11.2013

Curs 7 STR

23

'1omeoGner

'Fome/larm

/*emplu % 0ome'larm:

K1e 1omeoGner can c1ange t1e code to do so 1eLs1e must )irst press t1e on -e., K1is must *e done at least B seconds a)ter an. numeric -e. 1as *een pressed, $ unless t1e o)) -e. is )irst pressed to exit )rom t1e code entr. mode &, K1e 1omeoGner must noG enter t1e correct code )olloGed *. t1e on -e.,

-e.4))$& -e.4n$&

-e.$1& -e.$2& -e.$3& -e.$4& -e.4n$& @ 10 sec D

diagrama de secvente asociata ca%ului de utili%are C&anging Code scenariu sc1im*area codului

I) t1e code is correct( t1en t1e 1omeoGner must enter a neG )our digit code again )olloGed *. t1e on -e.,

-e.$n& -e.$n& -e.$n& -e.$n& -e.4n$&

I) t1e code is success)ull. c1anged( t1en t1e green led Gill *e )las1ed )our times, greenLed4))$& greenLed4n$& @ B00mS D

15.11.2013

Curs 7 STR

24

'intruder

'Fome/larm

/*emplu % 0ome'larm:

Initiall. t1e alarm is armed

K1e intruder opens a door, / dela. is started )or entr. time, "uring t1is time( t1e red L0" is )las1ed indicating t1at t1e alarm is arming

detect"oor4pen$& redLed4))$& redLed4n$& redLed4))$& redLed4n$& siren4n$& @ /L/OM>KIM0 D

@ 09KOP>KIM0 D

L0"Es Gill )las1 at a rate o) 2F%

diagrama de secvente asociata ca%ului de utili%are Detect "ntrusions scenariu detectarea desc1iderii usii

/)ter a certain dela.( t1e siren is sGitc1ed o)) to stop anno.ing neig1*ours, "uring anot1er dela. an. movement L doors opening Gill *e ignored, siren4))$&

/)ter t1e SIL09C0>KIM0 dela.( t1e s.stem Gill again react to an. movement or an. doors opening

@ SIL09C0>KIM0 D

15.11.2013

Curs 7 STR

25

'intruder

'Fome/larm

/*emplu % 0ome'larm:

Initiall. t1e alarm is armed

K1e intruder enters into a room Immediatel. t1e siren is activated

detectMovement$& siren4n$&

@ /L/OM>KIM0 D

diagrama de secvente asociata ca%ului de utili%are Detect "ntrusions scenariu detectarea unei miscari

/)ter a certain dela.( t1e siren is sGitc1ed o)) to stop anno.ing neig1*ours, "uring anot1er dela. an. movement L doors opening Gill *e ignored,

siren4))$& @ SIL09C0>KIM0 D

/)ter t1e SIL09C0>KIM0 dela.( t1e s.stem Gill again react to an. movement or an. doors opening

15.11.2013

Curs 7 STR

26