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.

comportamentului obiectelor active hartile <strong>de</strong> stari sunt potrivite. În cazul unor clase<br />

ce implementeaza obiecte cu un comportament complex utilizarea hartilor <strong>de</strong> stari<br />

este chiar necesara pentru <strong>în</strong>telegerea <strong>si</strong> gestionarea acestuia. Utilizarea <strong>în</strong>tr-un<br />

context orientat-obiect concurent <strong>în</strong>sa implica mai multe modificari <strong>si</strong> exten<strong>si</strong>i<br />

semantice, pentru a putea fi mo<strong>de</strong>lat un control general al interfetei.<br />

Maniera <strong>de</strong> utilizare a acestor harti <strong>de</strong> stari <strong>în</strong> diverse meto<strong>de</strong> <strong>de</strong> <strong>analiza</strong> <strong>si</strong><br />

proiectare nu este potrivita. Dupa cum am aratat <strong>si</strong> <strong>în</strong> sectiunea prece<strong>de</strong>nta, hartile <strong>de</strong><br />

stari sau variante ale acestora sunt utilizate relativ la mo<strong>de</strong>le <strong>de</strong> obiecte concurente<br />

particulare. Pe <strong>de</strong> alta parte, <strong>în</strong> cazul limbajului <strong>de</strong> mo<strong>de</strong>lare UML, hartile <strong>de</strong> stari nu<br />

se bucura <strong>de</strong> o <strong>de</strong>scriere riguroasa, precisa ceea ce conduce la o interpretare gre<strong>si</strong>ta a<br />

acestora. Acest neajuns implica impo<strong>si</strong>bilitatea realizarii <strong>de</strong> mo<strong>de</strong>le executabile ale<br />

comportamentului obiectelor. În momentul <strong>de</strong> fata majoritatea instrumentelor CASE<br />

<strong>de</strong> <strong>analiza</strong> <strong>si</strong> proiectare care sprijina UML nu permit generarea <strong>de</strong> cod din diagrame<br />

<strong>de</strong> tranzitie a starii, cele care totu<strong>si</strong> o fac implementând variante restrânse ale acestor<br />

diagrame [DOU99].<br />

Prin urmare trebuie <strong>de</strong>finita o modalitate <strong>de</strong> <strong>de</strong>scriere vizuala a<br />

comportamentului obiectelor active, având la baza hartile <strong>de</strong> stari al lui Harel,<br />

exten<strong>si</strong>ile semantice <strong>si</strong> vizuale introduse <strong>în</strong> UML <strong>si</strong> îmbogatite cu o semantica care sa<br />

permita realizarea <strong>de</strong> mo<strong>de</strong>le executabile.<br />

O astfel <strong>de</strong> harta <strong>de</strong> stari va permite <strong>de</strong>scrierea comportamentului tuturor<br />

instantelor unei clase concurente. Prin urmare vom con<strong>si</strong><strong>de</strong>ra ca <strong>si</strong>ngurele evenimente<br />

care au loc <strong>în</strong> cadrul unui <strong>si</strong>stem <strong>si</strong> care pot influenta comportamentul instantelor unei<br />

clase sunt mesajele <strong>de</strong> apelare a operatiilor clasei.<br />

În practica <strong>în</strong>sa un obiect activ nu î<strong>si</strong> va modifica interfata astfel <strong>în</strong>cât acest<br />

lucru sa fie vizibil din exteriorul sau. El va comunica cu celelalte obiecte din <strong>si</strong>stem<br />

prin intermediul unei interfete <strong>de</strong>finite static, urmând ca mesajele receptionate prin<br />

intermediul acestei interfete sa fie apoi procesate intern <strong>de</strong> catre gestionarul <strong>de</strong><br />

interfata.<br />

Harta <strong>de</strong> stari va <strong>de</strong>scrie atributiile gestionarului <strong>de</strong> interfata, <strong>de</strong>oarece ea va<br />

contine toate informatiile necesare pentru <strong>de</strong>terminarea oportunitatii acceptarii unui<br />

mesaj sau nu.<br />

127

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

Saved successfully!

Ooh no, something went wrong!