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.

mo<strong>de</strong>lata concurenta intra-obiect permitând ca dupa efectuarea unei tranzitii obiectul<br />

sa se afle <strong>în</strong> mai multe stari din care ulterior pot avea loc in<strong>de</strong>pen<strong>de</strong>nt noi tranzitii.<br />

Mo<strong>de</strong>lul ofera po<strong>si</strong>bilitatea tratarii exceptiilor <strong>si</strong> specificarea <strong>de</strong> constrângeri <strong>de</strong> timp-<br />

real.<br />

Mo<strong>de</strong>lul OSA are o putere <strong>de</strong>osebita <strong>de</strong> <strong>analiza</strong>, dar din pacate nu este foarte<br />

clar <strong>de</strong>finita modalitatea <strong>de</strong> tranzitie <strong>de</strong> la un mo<strong>de</strong>l <strong>de</strong> <strong>analiza</strong> la un mo<strong>de</strong>l <strong>de</strong><br />

proiectare <strong>si</strong>, eventual, la <strong>implementare</strong>.<br />

ObjChart. ObjChart reprezinta un set <strong>de</strong> notatii vizuale pentru <strong>de</strong>scrierea obiectelor <strong>si</strong><br />

al comportamentului reactiv al acestora [GAN93]. Aici un <strong>si</strong>stem este privit ca fiind<br />

format dintr-o colectie <strong>de</strong> obiecte care comunica a<strong>si</strong>ncron <strong>si</strong> care sunt reprezentate<br />

<strong>în</strong>tr-o ierarhie <strong>de</strong> tip parte-intreg (mostenirea nu este mo<strong>de</strong>lata). La rândul sau,<br />

fiecare obiect din <strong>si</strong>stem <strong>de</strong>tine o ma<strong>si</strong>na finita <strong>de</strong> stari care îi <strong>de</strong>fineste<br />

comportamentul reactiv relativ la mesajele receptionate. Mesajele obtinute <strong>de</strong> catre<br />

un obiect reprezinta evenimente care <strong>de</strong>clanseaza tranzitii <strong>de</strong> stari. Fiecare tranzitie<br />

este asociata cu o actiune care transmite unul sau mai multe mesaje a<strong>si</strong>ncrone<br />

obiectului <strong>în</strong>su<strong>si</strong> sau componentelor sale. Relatiile dintre obiecte pot fi exprimate atât<br />

prin utilizarea <strong>de</strong> invarianti functionali asupra proprietatilor cât <strong>si</strong> prin specificarea<br />

<strong>de</strong>pen<strong>de</strong>ntelor comportamentale dintre obiecte prin intermediul ma<strong>si</strong>nilor cu stari<br />

finite.<br />

Caracteristica ce <strong>de</strong>osebeste ObjChart <strong>de</strong> celelalte meto<strong>de</strong> este aceea ca<br />

mo<strong>de</strong>lele construite aici sunt executabile, adaugarea unei noi specificatii putând fi<br />

testata imediat. Fiecare obiect contine o <strong>si</strong>ngura ma<strong>si</strong>na <strong>de</strong> stari. De<strong>si</strong> proprietatea <strong>de</strong><br />

ortogonalitate nu este mo<strong>de</strong>lata, prevenire cresterii explo<strong>si</strong>ve a numarului <strong>de</strong> stari se<br />

realizeaza prin compunerea obiectelor. De<strong>si</strong> comportamentul fiecarui obiect este<br />

controlat (sau mo<strong>de</strong>lat) <strong>de</strong> o ma<strong>si</strong>na <strong>de</strong> stari <strong>de</strong>terminista, orice obiect are un<br />

comportament ne<strong>de</strong>terminist datorita <strong>concurentei</strong> interne. Avantajul formalismului<br />

ObjChart este acela ca face referire la o multime minimala <strong>de</strong> notatii, acestea având o<br />

semantica precisa. Minimalitatea <strong>si</strong> precizia confera mo<strong>de</strong>lelor ObjChar coerenta <strong>si</strong><br />

executabilitate.<br />

102

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

Saved successfully!

Ooh no, something went wrong!