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.

distincte <strong>de</strong> mecanisme <strong>de</strong> interactiune concurenta orientate pe <strong>în</strong>capsulare: cu control<br />

extern, cu control mixt <strong>si</strong> cu control reflectiv.<br />

Mecanismele <strong>de</strong> interactiune cu control extern sunt caracterizate <strong>de</strong> faptul ca<br />

<strong>si</strong>stemul este cel care este direct raspunzator <strong>de</strong> interactiunea dintre obiecte. În acest<br />

caz, coordonarea interactiunii concurente nu este specificata explicit. Astfel,<br />

specificarea claselor <strong>de</strong> obiecte nu influenteaza ordinea <strong>de</strong> satisfacere a apelurilor<br />

concurente <strong>de</strong> operatii <strong>si</strong> nici nu poate <strong>de</strong>ci<strong>de</strong> care operatie va fi executata <strong>si</strong> care nu la<br />

un moment dat. Acest lucru este realizat implicit <strong>de</strong> catre <strong>si</strong>stem. Mecanismele care<br />

fac parte din aceasta subcategorie respecta principiul codului <strong>de</strong> interactiune orientat<br />

pe obiectul apelat. De asemenea, <strong>de</strong>oarece <strong>în</strong> cadrul claselor nu exista cod explicit<br />

care sa <strong>de</strong>scrie interactiunea concurenta dintre obiecte este evi<strong>de</strong>nt faptul ca sunt<br />

respectate <strong>si</strong> principiile cu privire la izolarea <strong>si</strong> separarea codului <strong>de</strong> interactiune. Un<br />

<strong>de</strong>zavantaj important al acestor mecanisme rezulta din po<strong>si</strong>bilitatile reduse <strong>de</strong><br />

specificare a <strong>concurentei</strong>, la un moment dat <strong>în</strong> cadrul unui obiect fiind permisa<br />

executia unei <strong>si</strong>ngure operatii. Daca <strong>în</strong> interiorul unui obiect exista o operatie <strong>în</strong><br />

executie, toate celelalte mesaje <strong>de</strong> apel <strong>de</strong> operatii receptionate <strong>de</strong> obiect vor fi<br />

amânate pâna când executia acesteia se <strong>în</strong>cheie. Aceasta restrictie conduce la crearea<br />

<strong>de</strong> programe concurente cu performante reduse.<br />

În cazul mecanismelor cu control mixt responsabilitatea coordonarii<br />

interactiunilor dintre activitatile concurente din cadrul unui obiect este împartita <strong>în</strong>tre<br />

<strong>si</strong>stem <strong>si</strong> <strong>de</strong>scrierea clasei obiectului. Astfel, codul scris pentru <strong>implementare</strong>a<br />

obiectelor contine portiuni care au ca unic scop specificarea interactiunilor concurente<br />

(mai precis realizarea modificarii dinamice a interfetei obiectului). Sistemul<br />

reactioneaza la rândul sau corespunzator acestor specificari. În general mecanismele<br />

cu control mixt respecta principiul codului <strong>de</strong> interactiune orientat pe obiectul apelat.<br />

Mecanismele <strong>de</strong> interactiune cu control reflectiv se caracterizeaza prin<br />

<strong>de</strong>sprin<strong>de</strong>rea totala a codului <strong>de</strong> interactiune <strong>de</strong> <strong>implementare</strong>a clasei. În acest caz se<br />

pot formula constrângeri <strong>de</strong> interactiune explicit, <strong>în</strong> cadrul unor asa-numite metaclase.<br />

În cele ce urmeaza vor fi <strong>de</strong>scrise <strong>si</strong> <strong>analiza</strong>te <strong>în</strong> <strong>de</strong>taliu fiecare dintre<br />

mecanismele enumerate <strong>în</strong> figura 2.3, rezultatele evaluarii acestora fiind prezentate <strong>în</strong><br />

finalul capitolului <strong>în</strong>tr-un format tabelar.<br />

26

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

Saved successfully!

Ooh no, something went wrong!