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.
({Plina}, ) ? ? ?<br />
? 1<br />
({F},? ).<br />
125<br />
({Goala},) ? ? ?<br />
? 1<br />
HSS 2<br />
Sticla = (M, S, O, P, E, sR, SF, (stSucc, stInit, ortSucc,), inv, T; eval, par, C)<br />
M = { Umple, Goleste, Sparge, Capacitate, AdaugaEticheta, ScoateEticheta}<br />
S = { Sticla, Normal, Goala, Plina, FaraEticheta, CuEticheta}<br />
O = { o1, o2, o3, o4, o5, o6, o7 }<br />
P = {capacitate, continut, eticheta}<br />
E = {e1=(0? continut ? continut ? capacitate), e2=(continut < capacitate),<br />
e3 = (continut = capacitate), e4 = (continut + 5 < capacitate),<br />
e5 = (continut + 5 ? capacitate), e6 = (eticheta),<br />
e7 = (? eticheta), e8 = ( true )}<br />
sR = Sticla<br />
S F = { F }<br />
stSucc : { oi, i=1..7 } ? ? ({ Sticla, Normal, Goala, Plina, F}),<br />
stSucc(o 1) = {Normal, F}, stSucc(o 2) = {Goala, Plina},<br />
stSucc(o3) = {FaraEticheta, CuEticheta},<br />
stSucc(o 4) = stSucc(o 5) = stSucc(o 6) = stSucc(o 7) =? ;<br />
stInit : { o1, o2, o3} ? { Sticla, Normal, Goala, Plina, CuEticheta, FaraEticheta},<br />
stInit(o1) = Normal, stInit(o2) = Goala, stInit(o3) = FaraEticheta,<br />
ortSucc : { Sticla, Normal, Goala, Plina } ? ? ({ o i, i=1..7 }) \ {? },<br />
ortSucc (Sticla) = {o 1 }, ortSucc (Normal) = { o 2 , o 3 },<br />
ortSucc (Goala) = {o4 }, ortSucc (Plina) = {o5 },<br />
ortSucc (FaraEticheta) = {o 6 }, ortSucc (CuEticheta) = {o 7 },<br />
inv : S ? E,<br />
inv(Sticla) = e 1, inv(Normal) = e 8, inv(Goala) = e 2,<br />
inv(Plina) = e3, inv(CuEticheta) = e6, inv(FaraEticheta) = e7,<br />
T = {({Goala}, Umple , e 4, {Goala}), ({Goala}, Umple, e 5, {Plina}),<br />
({Plina}, Goleste, {Goala}),<br />
({FaraEticheta}, AdaugaEticheta, e8, { CuEticheta }),<br />
({CuEticheta }, ScoateEticheta, e 8, { FaraEticheta }),<br />
({Normal}, Sparge, e8, {F}) }<br />
Figura 4.15. Exemplu <strong>de</strong> harta <strong>de</strong> stari HSS 2<br />
4.5.3. Executabilitatea hartilor <strong>de</strong> stari scalabile<br />
Ciclul <strong>de</strong> viata a unei aplicatii are mai multe etape distincte: <strong>de</strong> specificare,<br />
<strong>analiza</strong>, proiectare, <strong>implementare</strong>, testare <strong>si</strong> <strong>în</strong>tretinere.<br />
În cadrul acestei sectiuni ne-am preocupat <strong>în</strong> principal <strong>de</strong> trecerea <strong>de</strong> la un<br />
mo<strong>de</strong>l abstract al unei aplicatii, rezultat <strong>în</strong> urma etapelor <strong>de</strong> <strong>analiza</strong> <strong>si</strong> proiectare, la<br />
mo<strong>de</strong>lul <strong>de</strong> <strong>implementare</strong> al acesteia. Acest lucru a fost realizat prin <strong>de</strong>finirea<br />
riguroasa a notiunii <strong>de</strong> executie a hartii <strong>de</strong> stari scalabile.<br />
Implementarea unui prototip al unei aplicatii pe baza unui mo<strong>de</strong>l nece<strong>si</strong>ta o<br />
perioada relativ mare <strong>de</strong> timp. Aceasta <strong>de</strong>oarece <strong>de</strong>zvoltatorul este pus <strong>în</strong> <strong>si</strong>tuatia <strong>de</strong> a<br />
exprima <strong>în</strong>tr-un limbaj <strong>de</strong> programare conceptele abstracte care compun mo<strong>de</strong>lul. De