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.

<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

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

Saved successfully!

Ooh no, something went wrong!