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.

problema re<strong>de</strong>finirii, uneori integrale, a codului mostenit, calitatile mostenirii <strong>si</strong><br />

<strong>în</strong>capsularii fiind astfel anulate.<br />

De<strong>si</strong> anomaliile <strong>de</strong> mostenire au beneficiat <strong>de</strong> o atentie <strong>de</strong>osebita <strong>în</strong> ultimii ani,<br />

ele sunt <strong>în</strong>ca vag <strong>de</strong>finite <strong>si</strong> <strong>de</strong>seori interpretate gre<strong>si</strong>t. Dintre cele mai importante<br />

lucrari <strong>în</strong> care au fost propuse solutii <strong>de</strong> evitare <strong>si</strong> ameliorare ale anomaliilor <strong>de</strong><br />

mostenire amintim: [QUI97], [PAP96], [LEC96], [FER95], [AKS94], [MIT94],<br />

[THO94], [MES93]. Rezultatele obtinute <strong>în</strong> aceste lucrari sunt contradictorii <strong>si</strong><br />

incomplete, <strong>de</strong>oarece ele se limiteaza la o abordare informala a anomaliilor, fiind <strong>în</strong><br />

principal <strong>analiza</strong>te pe baza exemplelor particulare introduse <strong>în</strong> [MAT93]. Prin urmare<br />

nu exista o metoda satisfacatoare <strong>de</strong> evaluare a diverselor propuneri (<strong>de</strong> limbaje,<br />

mecanisme sau mo<strong>de</strong>le obiect) existente.<br />

În cadrul urmatoarei sectiuni sunt prezentate doua dintre cele mai importante<br />

cla<strong>si</strong>ficari ale anomaliilor <strong>de</strong> mostenire, realizate <strong>în</strong> [MAT93] <strong>si</strong> [ZEN97b], care au la<br />

baza o <strong>analiza</strong> informala. Vom <strong>de</strong>monstra <strong>în</strong> finalul acestei sectiuni ca aceste<br />

cla<strong>si</strong>ficari sunt incomplete, <strong>si</strong> vom propune o alta abordare care nu va lua <strong>în</strong><br />

con<strong>si</strong><strong>de</strong>rare numai conflictele dintre concurenta <strong>si</strong> mostenire, ci <strong>si</strong> conflinctele dintre<br />

concurenta <strong>si</strong> alte trei relatii importante <strong>în</strong>tre clase, cum sunt relatiile <strong>de</strong> asociere,<br />

agregare <strong>si</strong> <strong>de</strong>legare. Aceste tipuri <strong>de</strong> conflicte au o legatura strânsa cu anomaliile <strong>de</strong><br />

mostenire, <strong>si</strong> <strong>de</strong> aceea am propus abordarea lor unitara. O astfel <strong>de</strong> abordare poate<br />

<strong>de</strong>termina o recon<strong>si</strong><strong>de</strong>rare a conflictelor <strong>de</strong> acest tip dintr-o cu totul alta perspectiva, <strong>si</strong><br />

ar putea conduce la solutii <strong>de</strong> ameliorare a efectelor acestora. De asemenea, vom<br />

propune o noua <strong>de</strong>numire pe care o con<strong>si</strong><strong>de</strong>ram mult mai potrivita pentru a <strong>de</strong>scrie<br />

aceste tipuri <strong>de</strong> conflicte, <strong>si</strong> anume aceea <strong>de</strong> anomalie <strong>de</strong> reutilizare.<br />

În cadrul sectiunii a treia am realizat o exten<strong>si</strong>e a <strong>si</strong>stemului formal utilizat <strong>în</strong><br />

[CRN98] pentru cla<strong>si</strong>ficarea mecanismelor <strong>de</strong> mostenire <strong>în</strong> programarea orientata<br />

obiect concurenta. Exten<strong>si</strong>a se refera la <strong>de</strong>scrierea anomaliilor <strong>de</strong> mostenire pentru<br />

mo<strong>de</strong>lele obiect cu concurenta interna (ca urmare a respectarii principiului<br />

expre<strong>si</strong>bilitatii <strong>concurentei</strong>). De asemenea, <strong>si</strong>stemul formal introdus <strong>în</strong> [CRN98] a<br />

permis mo<strong>de</strong>larea mecanismului <strong>de</strong> mostenire pentru limbajele <strong>de</strong> programare<br />

orientate-obiect concurente care respecta principiile izolarii <strong>si</strong> separarii codului <strong>de</strong><br />

interactiune <strong>în</strong>tre activitati concurente. Pe baza acestui mo<strong>de</strong>l am <strong>de</strong>monstrat una<br />

dintre concluziile <strong>de</strong>sprinse <strong>în</strong> cadrul analizei mecanismelor <strong>de</strong> interactiune <strong>în</strong>tre<br />

activitati concurente <strong>în</strong> cadrul capitolului doi, <strong>si</strong> anume ca respectarea celor doua<br />

56

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

Saved successfully!

Ooh no, something went wrong!