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.
intra-obiect <strong>si</strong> executia concurenta <strong>de</strong>pen<strong>de</strong>nta <strong>de</strong> stare, neavând <strong>în</strong>sa instrumente<br />
specifice exprimarii executiilor concurente <strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> istoric.<br />
În ceea ce priveste respectarea principiului separarii codului <strong>de</strong> interactiune,<br />
aceasta <strong>de</strong>pin<strong>de</strong> <strong>de</strong> <strong>implementare</strong>a mecanismelor <strong>în</strong> limbajul <strong>de</strong> programare. În cazul<br />
<strong>în</strong> care meta-clasa poate fi utilizata ca <strong>si</strong> o rutina <strong>de</strong> vitalizare generalizata,<br />
neimplementându-se <strong>în</strong> cadrul ei cod care sa afecteze functionalitatea clasei <strong>de</strong> care<br />
este legata dinamic atunci codul <strong>de</strong> interactiune respecta principiul amintit. În caz<br />
contrar este evi<strong>de</strong>nt ca, codul <strong>de</strong> interactiune nu este separabil, <strong>si</strong> <strong>de</strong>ci pentru a<br />
modifica constrângerile <strong>de</strong> interactiune este necesara reprogramarea completa a meta-<br />
clasei.<br />
2.5. Concluzii<br />
Eforturile din ultimele doua <strong>de</strong>cenii <strong>de</strong> unificare a conceptelor orientate-obiect<br />
cu mecanismele <strong>de</strong> initiere <strong>si</strong> coordonare a <strong>concurentei</strong> s-au concretizet <strong>în</strong>tr-un numar<br />
mare <strong>de</strong> limbaje <strong>de</strong> programare <strong>si</strong> mo<strong>de</strong>le <strong>de</strong> concurenta. Cu toate acestea nu s-a<br />
ajuns <strong>de</strong>ocamdata la <strong>de</strong>zvoltarea unui mo<strong>de</strong>l i<strong>de</strong>al, care sa îmbine <strong>în</strong> mod armonios<br />
aceste doua directii diferite ale <strong>de</strong>zvoltarii aplicatiilor. Principiile enuntate <strong>în</strong> cadrul<br />
sectiunii 2.2 <strong>de</strong>scriu un astfel <strong>de</strong> mo<strong>de</strong>l i<strong>de</strong>al, ele fiind <strong>de</strong>terminate pe baza<br />
rezultatelor teoretice <strong>si</strong> a experientei practice <strong>în</strong> fiecare dintre cele doua ramuri ale<br />
programarii.<br />
Nici unul dintre limbajele <strong>de</strong>zvoltate pâna <strong>în</strong> prezent nu respecta <strong>în</strong> totalitate<br />
aceste principii, asa cum s-a aratat <strong>în</strong> sectiunea 2.4. În tabelul 2.1. sunt prezentate<br />
toate mecanismele <strong>de</strong> interactiune concurenta luate <strong>în</strong> con<strong>si</strong><strong>de</strong>rare <strong>în</strong> aceasta sectiune,<br />
pentru fiecare precizându-se principiile care sunt sau nu respectate.<br />
Pe parcursul analizei mecanismelor <strong>de</strong> limbaj au fost semnalate <strong>în</strong> <strong>de</strong>se rânduri<br />
conflicte care apar <strong>în</strong>tre mecanismele <strong>de</strong> coordonare a <strong>concurentei</strong> <strong>si</strong> mecanismul <strong>de</strong><br />
mostenire. Aceste tipuri <strong>de</strong> conflicte, <strong>de</strong>numite <strong>în</strong> literatura anomalii <strong>de</strong> mostenire, au<br />
fost intens studiate <strong>în</strong> ultimii ani. În capitolul 3 se va realiza o <strong>analiza</strong> formala a<br />
acestor anomalii <strong>si</strong> se va <strong>de</strong>monstra faptul ca respectarea celor patru principii<br />
contribuie la ameliorarea lor.<br />
53