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.

eleva faptul ca nici unul dintre mecanismele studiate nu respecta <strong>în</strong> totalitate cele<br />

patru principii.<br />

Pentru fiecare mecanism particular <strong>de</strong> specificare a interactiunilor <strong>în</strong>tre obiecte<br />

concurente am propus exten<strong>si</strong>i ale limbajului <strong>de</strong> programare C++ care le<br />

implementeaza. Aceste exten<strong>si</strong>i vizeaza introducerea <strong>de</strong> instructiuni sau constructii<br />

<strong>de</strong> <strong>de</strong>clarare noi <strong>si</strong> ele pot fi utilizate <strong>în</strong> <strong>de</strong>zvoltarea <strong>de</strong> aplicatii prin construirea <strong>de</strong><br />

preprocesoare sau compilatoare speciale. Modul <strong>de</strong> utilizare a exten<strong>si</strong>ilor propuse<br />

este exemplificat prin <strong>implementare</strong>a unei clase concurente concrete, care specifica o<br />

coada cu numar finit <strong>de</strong> elemente.<br />

2.2. Principii <strong>de</strong> proiectare a limbajelor <strong>de</strong> programare orientate-obiect<br />

concurente<br />

În programarea orientata-obiect concurenta un <strong>si</strong>stem informatic este privit ca<br />

un mo<strong>de</strong>l fizic <strong>de</strong> <strong>si</strong>mulare a comportamentului unei parti din lumea reala sau<br />

conceptuala. Acest mo<strong>de</strong>l fizic este <strong>de</strong>finit prin intermediul unui limbaj <strong>de</strong><br />

programare <strong>si</strong> el se concretizeaza <strong>în</strong>tr-o aplicatie ce poate fi executata pe un <strong>si</strong>stem <strong>de</strong><br />

calcul.<br />

Obiectele sunt elemente cheie ale programarii orientate-obiect concurente <strong>si</strong><br />

ele reprezinta entitati individuale reale sau abstracte cu un rol bine <strong>de</strong>finit <strong>în</strong> contextul<br />

unui <strong>si</strong>stem. Un obiect are o i<strong>de</strong>ntitate, o stare <strong>si</strong> un comportament. Tot ceea ce<br />

obiectele cunosc (starea) <strong>si</strong> pot efectua (comportamentul) este exprimat prin<br />

intermediul unor multimi <strong>de</strong> proprietati (sau atribute) <strong>si</strong> operatii (sau meto<strong>de</strong>).<br />

Astfel, starea unui obiect este data <strong>de</strong> valorile proprietatilor acestuia la un moment<br />

dat. Operatiile sunt proceduri sau functii care permit modificarea acestor valori <strong>si</strong><br />

implementeaza comportamentul obiectelor.<br />

Aplicatiile orientate-obiect concurente sunt compuse dintr-o multime <strong>de</strong><br />

obiecte care interactioneaza <strong>si</strong> comunica <strong>în</strong>tre ele prin intermediul mesajelor. Un<br />

mesaj reprezinta o cerere adresata unui obiect <strong>de</strong> a executa o anumita operatie.<br />

Mesajul este compus din trei elemente distincte: i<strong>de</strong>ntitatea obiectului caruia îi este<br />

adresat mesajul, numele operatiei care se doreste a fi executata <strong>si</strong> o lista <strong>de</strong> parametri<br />

necesari executarii operatiei. Aceste trei informatii sunt suficiente pentru ca un obiect<br />

care receptioneaza un mesaj sa poata executa operatia dorita. Mecanismul transmi<strong>si</strong>ei<br />

13

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

Saved successfully!

Ooh no, something went wrong!