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.
un<strong>de</strong>:<br />
- o stare <strong>si</strong>mpla este o stare care are o <strong>si</strong>ngura componenta ortogonala,<br />
iar aceasta este vida.<br />
- starea compusa (XOR – stare) are o <strong>si</strong>ngura componenta ortogonala,<br />
nevida.<br />
- starea ortogonala (AND-stare) are mai multe componente ortogonale<br />
nevi<strong>de</strong>.<br />
Definitie 5. Definim hartile <strong>de</strong> stari scalabile <strong>de</strong> grad 1 ca fiind tuplul:<br />
HSS 1 = (M, S, O, sR, SF, (stSucc, stInit, ortSucc), T; Sa, C),<br />
- M este o multime finita <strong>de</strong> mesaje care pot fi receptionate <strong>de</strong> catre<br />
obiectele clasei mo<strong>de</strong>late <strong>de</strong> harta <strong>de</strong> stari,<br />
- S este multimea finita a starilor,<br />
- O este o multime finita <strong>de</strong> componente ortogonale,<br />
- sR ? S este starea radacina a ierarhiei <strong>de</strong> stari,<br />
- SF – multimea finita a starilor finale. Penru a pastra con<strong>si</strong>stenta mo<strong>de</strong>lului<br />
vom impune ca toate starile finale sa se afle <strong>în</strong> componente ortogonale ale<br />
starii radacina sR, adica ? sf ? SF, stPred(ortPred(sf)) = sR. Vom elimina<br />
astfel tranzitiile <strong>de</strong> terminare specificate <strong>în</strong> UML, fara <strong>în</strong>sa a restrânge<br />
puterea <strong>de</strong> mo<strong>de</strong>lare a hartilor <strong>de</strong> stari.<br />
- functii <strong>de</strong> <strong>de</strong>finire a ierarhiei <strong>de</strong> stari <strong>si</strong> componente ortogonale:<br />
- stSucc : O ? ? (S? SF), un<strong>de</strong> stSucc(o) = {s1, s2, ... , sn} reprezinta<br />
multimea substarilor componentei ortogonale o, cu restrictia ca ? o1,<br />
o2 ? O vom avea stSucc(o1) ? stSucc(o2) = ? ;<br />
- stInit : O\{o : stSucc(o)=? } ? S, stInit(o) = s0 ? stSucc(o), sub-<br />
starea initiala a componentei ortogonale o (functia se aplica doar<br />
pentru componentele ortogonale nevi<strong>de</strong>);<br />
- ortSucc : S ? ? (O) \ {? }, un<strong>de</strong> ortSucc(s) = {o1, o2, ... , om}<br />
reprezinta multimea componentelor ortogonale ale starii s, cu<br />
restrictia ca ? s1, s2 ? S vom avea ortSucc(s1) ? ortSucc(s2) = ? (o<br />
stare are cel putin o componenta ortogonala);<br />
- T ? ? (S\{sR}) ? M ? ? (S\{sR}) multime finita <strong>de</strong> tranzitii. O tranzitie<br />
({s1’, ..., <strong>si</strong>’}, m, { s1’’, ..., sj’’}) ? T semnifica faptul ca, <strong>în</strong> cazul <strong>în</strong> care un<br />
115