Documente Academic
Documente Profesional
Documente Cultură
Cuprinsul cursului 8
22.11.2013
Curs 8 STR
Diagrama de stari
se utilizeaza pentru a
ela ora speci!icatii pe aza cazurilor de utilizare pentru a speci!ica comportamentul de ni"el inalt al sistemului in timpul etapei de analiza pentru a captura e"enimentele semni!icati"e care pot actiona asupra unui o iect #iagrama de stari e$prima comportamentul dinamic al unui element in maniera reacti"a% diri&ata de evenimente speci!ica un numar !init de stari ale unui element si modul in care se e$ecuta tranzitiile intra stari ca raspuns la evenimente
22.11.2013
Curs 8 STR
Comportament
22.11.2013
Curs 8 STR
Comportament
!iltre digitale
logica !uzz-
22.11.2013
Curs 8 STR
Comportament
dirijat de stare (engl. state driven)' comportamentul o iectului poate !i impartit in seturi dis&uncte util atunci cand un o iect (sistem)'
e$emplu' un ec poate !i
22.11.2013
Curs 8 STR
o masina de stare reprezinta o a stractizare a comportamentului dorit al unui sistem% cu actiuni% activitati si constrangeri operatiile unui o iect de!inesc in mod elementar posi ilitatile de comportament ale o iectului o masina de stare constrange utilizarea acestor operatii intr0o anumita sec"enta ast!el constrans% comportamentul o iectului este mai usor de inteles si poate !i testat
Masinile de stare reprezinta o perspecti"a mai a stracta de comportament% "izualizata din punctul de "edere al o iectului% nu al implementarii
22.11.2013
Curs 8 STR
22.11.2013
Curs 8 STR
stare 1 o conditie distincti"a% dis&uncta% a unui o iect% care persista o anumita perioada de timp
22.11.2013
Curs 8 STR
22.11.2013
Curs 8 STR
10
actiune 1 este un comportament care se e$ecuta pana la !inalizare. 2 iectul nu accepta si nu proceseaza nici un alt e"eniment pana cand nu se !inalizeaza actiunile asociate e"enimentului curent
22.11.2013
Curs 8 STR
11
Nume stare
Stari UML 2 !
o stare reprezinta o multime de com inatii de "alori corespunzatoare unui element. 3re un nume si comportament intern care "a !i e$ecutat pe aza e"enimentelor de!inite o stare este reprezentata su !orma unui dreptung/i cu colturi rotun&ite numele starii este scris in interiorul dreptung/iului o stare poate a"ea trei comportamente speciale% triggerate pe aza unor e"enimente prede!inite' comportament intrare (engl. entry behaviour). 4ste e$ecutat imediat la intrarea in starea respecti"a5 comportament iesire (engl. exit behaviour). 4ste e$ecutat imediat inainte de a iesi din starea respecti"a5 comportament e$ecutie (engl. do behaviour). 4ste e$ecutat atata timp cat starea este acti"a.
22.11.2013
Curs 8 STR
12
intr0un sistem pot e$ista mai multe stari concurente 0 terminologia UML 1 stari ortogonale o stare ortogonala se imparte intr0un numar ar itrar de regiuni independente% separate de linii punctate
Stare "inala 1 stare care descrie !inalizarea unei stari compuse sau a unei masini de stare
(stare initiala) (stare finala) iese din stare
Stare initiala 1 o pseudostare cu o tranzitie din e$terior Indreptata catre starea initiala
intra in stare (tranzitie default)
Stare a
terminare
Stare y
ievenim y
Stare b
terminare
22.11.2013
Curs 8 STR
13
Tranzitii UML 2 !
este o relatie directa intre doua stari si de!ineste un trigger si o conditie care% impreuna% conduc la o tranzitie de stare si la e$ecutia unui anumit comportament in timpul tranzitiei reprezentare' linie cu sageata% descrisa de urmatoarea sinta$a
numele evenimentului care triggereaza tranzitia lista de actiuni care trebuie executate cand se executa tranzitia
22.11.2013
Curs 8 STR
14
trigger 1 re!era un singur e"eniment si sta ileste o legatura cu un comportament eveniment 1 speci!ica o aparitie care poate !i masurata in spatiu si timp
Un trigger !ace legatura intre e"eniment si comportament. *ranzitia este acti"ata imediat ce apare e"enimentul
22.11.2013
Curs 8 STR
15
off
switchON()
on
eveniment de tip modi"icare (engl. change event). 3pare cand e$presia ooleana este e"aluata *9U4% atunci cand "aloarea asociata in sistem se modi!ica5 eveniment de tip semnal (engl. signal event). 3pare la receptionarea unui e"eniment5 eveniment de tip timp (engl. time event). Un e"eniment de timp relativ apare atunci cand starea din care este initiata tranzitia este acti"a de&a de un anumit timp (cu"ant c/eie after (<time>)). Un e"eniment de timp absolut apare atunci cand timpul este speci!icat in mod a solut (cu"ant c/eie at(<time>))
c !ange event
temperatura
temp ! "#$%
deconectat
signal event
trece
Semafor(rosu)
oprit
verde
dupa(& minute)
rosu
'i
la(apus)/sleep()
noapte
22.11.2013
Curs 8 STR
16
o diagrama de stare modeleaza di!eritele stari in care se poate a!la o clasa% tranzitiile intre stari% precum si punctul de inceput si punctul de s!arsit al unei sec"ente de modi!icari de stare e$emplu' modelarea functionarii unei masini de spalat vase
diagrama OMD
AbstractFactory
#is/;as/er
1 3cme:actor!an" #et
1 $eater
3cme*an<
3cme>et
3cme=eater
22.11.2013
Curs 8 STR
17
e":ull rinsing
tm(rinse*ime) ;as/ing normalMode tm(;as/*ime) draining e"Auic< e"Auic< @uic<Mode e"Intensi"e e"?ormal e"Intensi"e intensi"eMode e"?ormal
22.11.2013
Curs 8 STR
18
diagramele de stari de!inesc comportamentul o iectelor speci!icand modul in care acestea reactioneaza la e"enimente sau operatii reactia se concretizeaza intr0o tranzitie intre stari sau e$ecutia unor actiuni diagramele de stari de!inesc comportamentul instantelor unei clase la run0time. tranzitiile intre stari sunt pro"ocate de mesaje un mesaj poate !i !ie un eveniment% !ie o operatie trigger un o iect poate primi am ele tipuri de mesa&e trimise de alte o iecte un o iect "a putea primi intotdeauna un e"eniment pe care si l0a trimis el insusi
Curs 8 STR
In mod animatie% IBM 9ational 9/apsod- pune in e"identa tranzitiile intre stari.
22.11.2013
19
stare de (aza (engl. basic %leaf & state) 0 este o stare care nu are su stari
stare )R o stare poate !i !ormata din doua su stari e$clusi"e. 2 iectul se poate a!la doar in una dintre su stari la un moment dat
stare *+D 0 un o iect se poate a!la in oricare din su stari in mod concurent. :iecare dintre starile concurente poarta denumirea de componenta ortogonala
Curs 8 STR 20
22.11.2013
*ction on entr' C speci!ies t/e action t/at s/ould e e$ecuted ;/ene"er t/e s-stem enters t/is state% regardless o! /o; t/e s-stem arri"ed /ere *ction on e,it - speci!ies t/e action t/at s/ould e e$ecuted ;/ene"er t/e s-stem e$its t/is state% regardless o! /o; t/e s-stem e$its Reactions $n State 0 speci!ies t/e trigger% guard% and actions identi!ied in a transition la el. $" t&e trigger occurs and t&e guard is true- t&e action is e,ecuted
22.11.2013
Curs 8 STR
21
o ser"atie'
i! -ou speci!- action on entr- or e$it e/a"ior !or a state% t/e icon s/o;n in t/e !ollo;ing e$ample is added to t/e state displa-'
optiuni de a!isare pentru stari' states are displa-ed ;it/ a name or la el stereot-pes are displa-ed ;it/ a name% la el% or icon t/e e$it and entr- actions are displa-ed
22.11.2013
Curs 8 STR
22
4ntr- actions
4$it actions ?ota' a se observa ordinea de executie a actiunilor 3tentie' se verifica conditia guard inainte de executarea oricarei actiuni
22.11.2013 Curs 8 STR 23
Tipuri de evenimente
Signal .vent
3s-nc/ronous signal recei"ed e.g. e"2n% e"2!! 2peration call recei"ed% !or e$ample% opCall(a% %c) */is is <no;n as a !riggered Operation in 9/apsodC/ange in "alue occurred 3 solute time arri"ed 9elati"e time elapsed% !or e$ample% tm(,ulseDidt/*ime)
Call .vent
C&ange .vent
Time .vent
22.11.2013
Curs 8 STR
24
Cand un o iect intra intr0o anumita stare% se porneste Timeout0ul asociat starii. Cand Timeout0ul e$pira% masina de stare este noti!icata (primeste) printr0un e"eniment Cand o iectul iese dintr0o anumita stare% Timeout0ul care a !ost pornit la intrarea in starea respecti"a "a !i anulat ,entru !iecare stare se poate de!ini un singur Timeout5 daca sunt necesare mai multe timeouts% se "or !olosi stari nested
*ime e"ent
4ntr- action
z
4$it action
22.11.2013
Curs 8 STR
25
tm0dela'Time1
tm0dela'Time1 este speci!ic pentru 9/apsod-5 se genereaza in mod automat cod pentru a porni sau pentru a opri un timeout
!igura de sus poate !i reprezentata in mod ec/i"alent ca in !igura de &os5 aici se porneste un timer la intrarea in starea dela-% si "a !i oprit la iesirea din starea dela-5 Cand timer0ul e$pira% se "a trimite un e"eniment% de e$emplu% e"#elaUML de!ineste cu"an0 tul c/eie a!ter(#ela-)5 tm(#ela-) este notatia din 9/apsod-.
22.11.2013 Curs 8 STR 26
#aca un o iect se a!la in starea S% care raspunde e"enimentului cu numele e"E% se "a e$ecuta masina de stare ca raspuns la acest e"eniment
Se tranziteaza in starea speci!icata% daca e"enimentul triggereaza o tranzitie cu nume si daca guard0ul (daca e$ista un guard) pe aceasta tranzitie este e"aluat la *9U4. Se e$ecuta toate actiunile asociate acestei tranzitii
22.11.2013
Curs 8 STR
27
.,emplu animatie
/ttp'88;;;.i m.com8de"eloper;or<s8o!!ers8lp8demos8summar-8r0r/apsod-sim./tmlFdo;nload
Learn /o; to import a Mat/;or<s Simulin< model into IBMG 9ationalG 9/apsod- and t/en simulate t/e t;o models toget/er. Man- em edded and real0time s-stems /a"e to interact ;it/ a p/-sical s-stem t/at contains comple$ d-namic e/a"ior. */e Mat/Dor<s Simulin< is t/e leading tool !or d-namic control s-stems design% and 9ational 9/apsod- is a leading tool !or em edded and real0 time s-stems de"elopment. Integrating Simulin< models into 9ational 9/apsod- lets -ou include control algorit/ms and plant models de"eloped in Simulin< into a 9ational 9/apsod- design% t/ere ena ling a true /- rid modeling% e$ecution% and code generation en"ironment.
22.11.2013
Curs 8 STR
28