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 ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
În multe cazuri respectarea principiilor este realizata doar <strong>în</strong> cazul <strong>în</strong> care se<br />
impune o anumita disciplina <strong>de</strong> programare, constructiile <strong>de</strong> limbaj neputând garanta<br />
acest lucru.<br />
Mecanism <strong>de</strong> interactiune Principiul<br />
Principiul Principiul Principiul<br />
concurenta<br />
expre<strong>si</strong>bilitatii orientarii pe apelat izolarii separarii<br />
<strong>si</strong>ncronizare prin terminare concurenta intra-obiect<br />
executie <strong>de</strong>p. <strong>de</strong> stare<br />
nu nu nu<br />
semafoare, mutex <strong>si</strong> lock concurenta intra-obiect nu (câteodata da) nu nu<br />
regiuni critice conditionale executie <strong>de</strong>p. <strong>de</strong> stare nu (câteodata da) nu nu<br />
<strong>si</strong>ncronizare piggy-backed executie <strong>de</strong>p. <strong>de</strong> stare nu nu nu<br />
monitor nu da da da<br />
variabile <strong>de</strong> conditie executie <strong>de</strong>p. <strong>de</strong> stare da nu nu<br />
asteptare conditionala executie <strong>de</strong>p. <strong>de</strong> stare da nu nu<br />
coada <strong>de</strong> asteptare executie <strong>de</strong>p. <strong>de</strong> stare da nu nu<br />
inclu<strong>de</strong>re/exclu<strong>de</strong>re op. executie <strong>de</strong>p. <strong>de</strong> stare da nu nu<br />
abstrac. comportamentului executie <strong>de</strong>p. <strong>de</strong> stare<br />
executie <strong>de</strong>p. <strong>de</strong> istoric<br />
concurenta intra-obiect<br />
da nu nu<br />
mo<strong>de</strong>lul Actor<br />
executie <strong>de</strong>p. <strong>de</strong> stare<br />
executie <strong>de</strong>p. <strong>de</strong> istoric<br />
conc intra-obiect (uneori)<br />
da<br />
nu<br />
nu<br />
meto<strong>de</strong> cu garzi<br />
executie <strong>de</strong>p. <strong>de</strong> stare<br />
da<br />
da (nu e<br />
da<br />
executie <strong>de</strong>p. <strong>de</strong> istoric<br />
complet izolat)<br />
multimi <strong>de</strong> acceptare executie <strong>de</strong>p. <strong>de</strong> stare<br />
da da (nu e<br />
da<br />
executie <strong>de</strong>p. <strong>de</strong> istoric<br />
complet izolat)<br />
expre<strong>si</strong>i <strong>de</strong> cale concurenta intra-obiect<br />
executie <strong>de</strong>p. <strong>de</strong> istoric<br />
da da nu<br />
rutina <strong>de</strong> vitalizare pos. conc. intra-obiect<br />
da da (nu e<br />
nu<br />
executie <strong>de</strong>p. <strong>de</strong> stare<br />
complet izolat)<br />
rutina generalizata concurenta intra-obiect<br />
executie <strong>de</strong>p. <strong>de</strong> stare<br />
da da da<br />
operatii neserializate conc. intra-ob. restrictiva da da da<br />
protocol cititor/scriitor conc. intra-ob. restrictiva da da da<br />
control reflectiv concurenta intra-obiect<br />
executie <strong>de</strong>p. <strong>de</strong> stare<br />
da da nu (po<strong>si</strong>bil da)<br />
Tabel 2.1.<br />
În alta ordine <strong>de</strong> i<strong>de</strong>i, alaturi <strong>de</strong> nerespectarea principiilor <strong>de</strong> proiectare ale<br />
limbajelor, care sunt direct legate <strong>de</strong> conceptele <strong>de</strong> baza ale programarii orientate-<br />
obiect <strong>si</strong> programarii concurente, multe dintre limbajele <strong>de</strong> programare studiate au<br />
<strong>de</strong>zavantaje majore concretizate prin dificultatea testarii <strong>si</strong> <strong>de</strong>panarii aplicatiilor <strong>si</strong><br />
slaba lizibilitate a codului sursa.<br />
Aceste <strong>de</strong>zavantaje pot fi minimizate prin utilizarea <strong>de</strong> instrumente care sa<br />
automatizeze procesul <strong>de</strong> <strong>implementare</strong>a a aplicatiilor pe baza unor mo<strong>de</strong>le ale<br />
structurii <strong>si</strong> comportamentului claselor <strong>de</strong> obiecte concurente. Aceasta i<strong>de</strong>e va fi<br />
<strong>de</strong>zvoltata pe larg <strong>în</strong> capitolele 4 <strong>si</strong> 5.<br />
54