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.
<strong>de</strong>monstrat cu usurinta folo<strong>si</strong>nd, <strong>de</strong> exemplu, oricare dintre primitivele <strong>de</strong> interactiune<br />
concurenta orientate pe operatii).<br />
3.2.2. Cla<strong>si</strong>ficarea Zeng-Schach<br />
Cla<strong>si</strong>ficarea propusa <strong>de</strong> Zeng <strong>si</strong> Schach a fost realizata relativ recent, <strong>în</strong><br />
lucrarea [Zen97b]. Autorii propun aici o <strong>analiza</strong> a modului <strong>în</strong> care functioneaza<br />
mostenirea, mai precis a modului <strong>în</strong> care o subclasa poate specializa superclasa sa fara<br />
a lua <strong>în</strong> con<strong>si</strong><strong>de</strong>rare nici un mecanism <strong>de</strong> interactiune concurenta particular.<br />
Sintactic, o subclasa poate specializa clasele parinte <strong>în</strong> trei moduri distincte:<br />
prin <strong>de</strong>finirea <strong>de</strong> noi proprietati, prin <strong>de</strong>finirea <strong>de</strong> noi operatii sau prin rescrierea<br />
operatiilor mostenite.<br />
De<strong>si</strong> cele trei modalitati <strong>de</strong> specializare sunt ortogonale, adaugarea unei noi<br />
proprietati implica, <strong>în</strong> mod logic, <strong>de</strong>finirea sau re<strong>de</strong>finirea a cel putin unei operatii<br />
care sa actioneze asupra sa. De aceea Zeng <strong>si</strong> Schach con<strong>si</strong><strong>de</strong>ra ca aparitia<br />
anomaliilor <strong>de</strong> mostenire este strâns legata <strong>de</strong> ultimele doua modalitati <strong>de</strong> extin<strong>de</strong>re a<br />
unei superclase. Aceasta abordare este total diferita <strong>de</strong> cea din [MAT93], <strong>de</strong>oarece<br />
anomaliile <strong>de</strong> mostenire nu sunt privite <strong>în</strong> raport cu multimea starilor abstracte ale<br />
unui obiect ci cu operatiile nou <strong>de</strong>finite ale acestuia.<br />
Mai mult, sunt luate <strong>în</strong> con<strong>si</strong><strong>de</strong>rare <strong>si</strong>tuatiile <strong>în</strong> care sunt referite alte operatii<br />
ale unui obiect din cadrul unei operatii nou <strong>de</strong>finite. În tabelul 3.1. sunt prezentate<br />
cazurile <strong>analiza</strong>te <strong>în</strong> [ZEN97b] <strong>si</strong> care au fost con<strong>si</strong><strong>de</strong>rate ca potentiale <strong>si</strong>tuatii <strong>de</strong><br />
generare <strong>de</strong> re<strong>de</strong>finiri netriviale <strong>de</strong> operatii.<br />
Exten<strong>si</strong>i operatie rescriere referinte la oper.<br />
noua operatie super-clasei<br />
E1 nu da nu<br />
E2 nu da da<br />
E3 da nu nu<br />
E4 da nu da<br />
E5 da da nu<br />
E6 da da da<br />
Tabel 3.1. Po<strong>si</strong>bilitati <strong>de</strong> specializare a unei clase<br />
Acest fapt reprezinta unul dintre neajunsurile abordarii, <strong>de</strong>oarece s-a avut <strong>în</strong><br />
ve<strong>de</strong>re doar problema re<strong>de</strong>finirilor netriviale <strong>de</strong> operatii, ignorându-se un alt aspect<br />
caracteristic anomaliilor <strong>de</strong> mostenire, <strong>si</strong> anume acela al violarii <strong>în</strong>capsularii.<br />
63