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

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

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

Saved successfully!

Ooh no, something went wrong!