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.
concurenta a fost propusa o exten<strong>si</strong>e a limbajului C++ <strong>si</strong> a fost prezentat un exemplu<br />
<strong>de</strong> <strong>implementare</strong> a unei cozi cu numar finit <strong>de</strong> elemente.<br />
Neajunsurile <strong>de</strong>terminate <strong>în</strong> mod unitar la nivelul mo<strong>de</strong>lelor <strong>de</strong> obiecte<br />
concurente au stat la baza <strong>de</strong>finirii notiunii <strong>de</strong> anomalie <strong>de</strong> reutilizare. S-a aratat ca<br />
anomaliile <strong>de</strong> reutilizare reprezinta un concept care surprin<strong>de</strong> atât anomaliile <strong>de</strong><br />
mostenire cât <strong>si</strong> conflictele care apar <strong>în</strong>tre mecanismele <strong>de</strong> specificare a <strong>concurentei</strong> <strong>si</strong><br />
relatiile <strong>de</strong> asociere, agregare <strong>si</strong> <strong>de</strong>legare <strong>în</strong>tre obiecte. Anomaliile <strong>de</strong> reutilizare sunt<br />
mo<strong>de</strong>late prin extin<strong>de</strong>rea unui <strong>si</strong>stem formal utilizat <strong>în</strong> cla<strong>si</strong>ficarea mecanismelor <strong>de</strong><br />
mostenire <strong>în</strong> programarea orientata-obiect concurenta.<br />
Tratarea formala a anomaliilor <strong>de</strong> reutilizare a permis <strong>de</strong>terminarea unui mo<strong>de</strong>l<br />
<strong>de</strong> obiecte concurente general care sta la baza <strong>de</strong>finirii unui formalism vizual <strong>de</strong><br />
mo<strong>de</strong>lare. Acest formalism reprezinta o exten<strong>si</strong>e a hartilor <strong>de</strong> stari <strong>de</strong>finite pentru<br />
mo<strong>de</strong>larea comportamentului <strong>si</strong>stemelor reactive. Formalismul vizual propus este un<br />
formalism executabil <strong>si</strong> el a fost numit harta <strong>de</strong> stari scalabila.<br />
În finalul tezei este <strong>de</strong>scrisa <strong>implementare</strong>a unui instrument <strong>de</strong> mo<strong>de</strong>lare a<br />
aplicatiilor orientate-obiect concurente. Acest instrument, numit ActiveCASE,<br />
vali<strong>de</strong>aza executabilitatea hartilor <strong>de</strong> stari scalabile <strong>si</strong> realizeaza generarea automata<br />
<strong>de</strong> cod sursa <strong>în</strong> limbajul C++, utilizând o ierarhie <strong>de</strong> clase concurente proprie. De<br />
asemenea instrumentul permite <strong>si</strong>mularea <strong>si</strong> <strong>de</strong>panarea grafica a executiei aplicatiilor<br />
orientate-obiect concurente.<br />
6.2. Perspective<br />
6.2.1. Anomalii <strong>de</strong> reutilizare<br />
Problema eliminarii anomaliilor <strong>de</strong> reutilizare din limbajele <strong>de</strong> programare<br />
orientate-obiect concurente ramâne <strong>în</strong> continuare <strong>de</strong>schisa. Notiunile <strong>de</strong> tip introduse<br />
<strong>în</strong> mo<strong>de</strong>lele obiect <strong>de</strong>zvoltate pâna <strong>în</strong> prezent nu rezolva aceasta problema. Solutiile<br />
<strong>de</strong> ameliorare a efectelor acestor anomalii propuse <strong>în</strong> teza vizeaza izolarea <strong>si</strong><br />
separarea codului contrângerilor <strong>de</strong> <strong>si</strong>ncronizare <strong>de</strong> codul <strong>de</strong> <strong>implementare</strong> a<br />
functionalitatii, precum <strong>si</strong> generarea automata <strong>de</strong> cod sursa.<br />
O alta po<strong>si</strong>bila abordare <strong>de</strong> ameliorare a anomaliilor <strong>de</strong> reutilizare este aceea<br />
<strong>de</strong> introducere a unui mecanism <strong>de</strong> sub-tipizare care nu conserva comportamentul.<br />
152