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 ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
O ma<strong>si</strong>na <strong>de</strong> stari este compusa din tranzitii <strong>si</strong> stari. Starile continute <strong>de</strong> o<br />
ma<strong>si</strong>na <strong>de</strong> stari formeaza un graf ale carui arce sunt tranzitiile <strong>în</strong>tre aceste stari. O<br />
ma<strong>si</strong>na <strong>de</strong> stari mo<strong>de</strong>leaza comportamentul unui anumit element din mo<strong>de</strong>l. Acest<br />
element reprezinta contextul ma<strong>si</strong>nii <strong>de</strong> stari. Pentru o ma<strong>si</strong>na <strong>de</strong> stari exista o<br />
<strong>si</strong>ngura stare (compusa sau nu), numita Top care are ca <strong>si</strong> parinte direct ma<strong>si</strong>na <strong>de</strong><br />
stari. Toate celelalte stari continute <strong>de</strong> ma<strong>si</strong>na <strong>de</strong> stari reprezinta <strong>de</strong> fapt exten<strong>si</strong>a<br />
starii compuse Top.<br />
Clasa abstracta StateVertex reprezinta clasa <strong>de</strong> baza pentru toate tipurile <strong>de</strong><br />
stari <strong>de</strong>finite <strong>în</strong> UML, relatiile outgoing <strong>si</strong> incoming specificând faptul ca o stare poate<br />
fi sursa <strong>si</strong> <strong>de</strong>stinatia unui numar ne<strong>de</strong>finit <strong>de</strong> tranzitii.<br />
Clasa SubmachineState reprezinta o ma<strong>si</strong>na <strong>de</strong> stari <strong>în</strong>cuibarita (sub-ma<strong>si</strong>na <strong>de</strong><br />
stari). Asa cum se precizeaza <strong>si</strong> <strong>în</strong> documentatia UML o subma<strong>si</strong>na <strong>de</strong> stari este<br />
echivalenta din punct <strong>de</strong> ve<strong>de</strong>re semantic cu o stare compusa precizându-se ca ea a<br />
fost introdusa cu scopul <strong>de</strong> a usura <strong>în</strong> primul rând reutilizabilitatea. Din pacate nu se<br />
precizeaza <strong>si</strong> modul <strong>în</strong> care s-ar putea realiza efectiv reutilizarea unei subma<strong>si</strong>ni <strong>de</strong><br />
stari <strong>si</strong> nici nu sunt impuse anumite constrângeri care sa granteze in<strong>de</strong>pen<strong>de</strong>nta<br />
subma<strong>si</strong>nilor.<br />
5.2.2. Mo<strong>de</strong>larea hartilor <strong>de</strong> stari scalabile <strong>în</strong> ActiveCASE<br />
Asa cum am aratat, hartile <strong>de</strong> stari scalabile se bazeaza diagramele <strong>de</strong> tranzitie<br />
a starii <strong>de</strong>scrise <strong>în</strong> UML. ActiveCASE implementeaza aceste harti <strong>de</strong> stari, oferind<br />
po<strong>si</strong>bilitatea mo<strong>de</strong>larii comportamentului obiectelor active. Modulul care<br />
implementeaza hartile <strong>de</strong> stari scalabile reprezinta <strong>de</strong>ocamdata un modul distinct,<br />
neintegrat <strong>în</strong>tr-un context mai larg care sa permita realizarea tuturor mo<strong>de</strong>lelor<br />
specificate <strong>în</strong> documentatia UML. Cu toate acestea, acest modul ofera suport pentru<br />
patru dintre cele mai importante etape ale ciclului <strong>de</strong> viata a unei aplicatii, <strong>si</strong> anume:<br />
<strong>analiza</strong>, <strong>implementare</strong>, testare <strong>si</strong> <strong>de</strong>panare.<br />
Asa cum am amintit <strong>în</strong> introducere, modulul <strong>de</strong> mo<strong>de</strong>lare a obiectelor active<br />
urmeaza sa fie integrat <strong>în</strong> cadrul instrumentului Rocase, <strong>de</strong>zvoltat la Laboratorul <strong>de</strong><br />
Cercetare <strong>în</strong> Informatica al Univer<strong>si</strong>tatii "Babes-Bolyai" din Cluj-Napoca. Rocase<br />
reprezinta un instrument <strong>de</strong> <strong>analiza</strong> <strong>si</strong> proiectare a aplicatiilor orientate obiect, care<br />
sprijina UML ca <strong>si</strong> limbaj <strong>de</strong> mo<strong>de</strong>lare <strong>si</strong> care ofera suport pentru toate etapele din<br />
ciclul <strong>de</strong> viata al unei aplicatii premergatoare implementarii (mo<strong>de</strong>lare statica,<br />
134