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 ...
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