18.04.2013 Views

Tehnici de implementare a concurentei în analiza si proiectarea ...

Tehnici de implementare a concurentei în analiza si proiectarea ...

Tehnici de implementare a concurentei în analiza si proiectarea ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

În ActiveCASE exista doar doua tipuri <strong>de</strong> stari: pseudostari (<strong>de</strong> ie<strong>si</strong>re, intrare,<br />

istoric) - clasa FSMPseudoState- <strong>si</strong> stari concrete - clasa FSMConcreteState. O stare<br />

concreta poate contine una sau mai multe componente ortogonale (clasa<br />

FSMOrthogonalComponent). Aceste componente corespund substarilor ortogonale<br />

din mo<strong>de</strong>lul UML. Astfel, o stare concreta este concurenta daca contine mai mult <strong>de</strong><br />

o componenta ortogonala. Fiecare dintre aceste componente poate contine oricâte<br />

stari (aceste stari sunt practic vazute <strong>de</strong> catre proiectant ca <strong>si</strong> substari ale starii<br />

compuse care <strong>de</strong>tine componenta ortogonala). O stare se reprezinta grafic prin<br />

intermediul unui dreptunghi cu capetele rotunjite care are trei compartimente separate<br />

<strong>în</strong>tre ele prin linii orizontale.<br />

Prima sectiune va contine numele starii respective <strong>si</strong> un buton special utilizat<br />

<strong>în</strong> scalarea starii (afisarea sau ascun<strong>de</strong>rea componentelor ortogonale proprii).<br />

Scalarea permite tratarea unei stari compuse ca <strong>si</strong> o stare <strong>si</strong>mpla <strong>si</strong> ea este utila <strong>în</strong><br />

mo<strong>de</strong>le ce contin harti <strong>de</strong> stari <strong>de</strong> dimen<strong>si</strong>uni mari. În acest mod, atentia<br />

proiectantului va putea fi c<strong>analiza</strong>ta doar spre anumite parti a <strong>de</strong>scrierii<br />

comportamentului unui obiect activ. De asemenea, proprietatea <strong>de</strong> scalabilitate a<br />

starilor permite o mai buna testare <strong>si</strong> <strong>de</strong>panare a obiectelor active care au un<br />

comportament complex.<br />

Sectiunea a doua a reprezentarii grafice a unei stari va contine toate<br />

componentele ortogonale care compun starea, <strong>de</strong>spartite prin linii punctate, verticale.<br />

Componentele ortogonale nu au o reprezentare grafica propriu-zisa, ele fiind<br />

transparente proiectantului.<br />

Cea <strong>de</strong>-a treia sectiune va contine:<br />

- secventele <strong>de</strong> actiuni entry <strong>si</strong> exit asociate starii,<br />

- o expre<strong>si</strong>e booleana (invariant) care <strong>de</strong>fineste starea (pentru testarea<br />

con<strong>si</strong>stentei obiectelor),<br />

- evenimentele acceptate explicit <strong>de</strong> catre oricare dintre substari fara a se<br />

<strong>de</strong>clansa nici o tranzitie (vor fi acceptate implicit evenimentele<br />

corespunzatoare apelurilor <strong>de</strong> operatii <strong>de</strong>clarate ca observatori),<br />

- variabile <strong>de</strong> stare (variabile intermediare pentru stocarea anumitor valori <strong>în</strong><br />

timpul <strong>de</strong>clansarii unei tranzitii).<br />

O stare concreta va contine cel putin o componenta ortogonala. Daca aceasta<br />

nu contine nici o substare atunci este o starea concreta corespun<strong>de</strong> notiunii <strong>de</strong> stare<br />

136

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!