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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

parte acestea. Acest i<strong>de</strong>ntificator unic va fi utilizat <strong>în</strong> special <strong>în</strong> generarea <strong>de</strong> cod <strong>si</strong> <strong>în</strong><br />

procesul <strong>de</strong> <strong>si</strong>mulare.<br />

Autotranzitia <strong>de</strong> la nivelul clasei FSMTran<strong>si</strong>tion ataseaza fiecarei tranzitii câte<br />

o dublura, utila <strong>în</strong> cazul scalarii (minimizarii sau maximizarii) starilor compuse.<br />

Astfel, <strong>în</strong> figura 5.4. este dat un exemplu <strong>în</strong> care o astfel <strong>de</strong> dublura este necesara.<br />

Tranzitiile etichetate cu m1, respectiv m3 fac legatura <strong>în</strong>tre stari aflate la nivele<br />

diferite <strong>de</strong> <strong>în</strong>cuibarire. În momentul <strong>în</strong> care se doreste ignorarea continutului starii<br />

State2 <strong>de</strong> exemplu, substarile acesteia vor fi "ascunse", fapt care implica automat <strong>si</strong><br />

"ascun<strong>de</strong>rea" celor doua tranzitii amintite. Aceasta operatie <strong>de</strong> "ascun<strong>de</strong>re" conduce<br />

<strong>în</strong>sa la modificarea comportamentului obiectului mo<strong>de</strong>lat: obiectul nu va putea<br />

accepta un mesaj m1 <strong>în</strong> cazul <strong>în</strong> care se afla <strong>în</strong> starea State1, sau un eveniment m2<br />

atunci când se afla <strong>în</strong> starea State2. Aceasta este <strong>în</strong>sa un efect nedorit, <strong>de</strong>oarece<br />

scalarea starilor are doar rolul <strong>de</strong> a reduce complexitatea unei harti <strong>de</strong> stari din punct<br />

<strong>de</strong> ve<strong>de</strong>re al proiectantului <strong>si</strong> nu <strong>de</strong> a modifica comportamentul mo<strong>de</strong>lat.<br />

Prin urmare este necesara introducerea unor tranzitii suplimentare care sa<br />

conserve acest comportament. Aceste tranzitii sunt <strong>de</strong> fapt dublurile tranzitiilor<br />

originale, <strong>si</strong> ele fac legatura <strong>în</strong>tre starile State1 <strong>si</strong> State2. Aceste tranzitii vor avea<br />

acela<strong>si</strong> i<strong>de</strong>ntificator ca <strong>si</strong> tranzitiile originale pentru a nu perturba procesul <strong>de</strong><br />

<strong>si</strong>mulare, iar ele nu vor influenta generarea <strong>de</strong> cod sursa. Tot <strong>în</strong> scopul conservarii<br />

comportamentului, clonele tranzitiilor care au ca stare sursa o stare "ascunsa" vor avea<br />

conditia <strong>de</strong> <strong>de</strong>clansare ca o conjunctie <strong>în</strong>tre conditia originala <strong>si</strong> invariantul starii sursa<br />

(cazul tranzitiei etichetate cu m3, care va avea acum conditia <strong>de</strong> <strong>de</strong>clansare c3 && c4,<br />

un<strong>de</strong> && reprezinta operatorul <strong>si</strong>-logic din limbajul <strong>de</strong> programare C++).<br />

5.3. Descrierea aplicatiei ActiveCASE<br />

Instrumentele CASE <strong>de</strong> <strong>analiza</strong> <strong>si</strong> proiectare orientata-obiect a aplicatiilor<br />

ofera sprijin pentru cele mai importante etape ale ciclului <strong>de</strong> viata a unei aplicatii.<br />

Acestea sunt:<br />

- Analiza - <strong>în</strong> cadrul careia se realizeaza i<strong>de</strong>ntificarea caracteristicilor<br />

esentiale tuturor solutiilor corecte po<strong>si</strong>bile,<br />

- Proiectarea - care adauga mo<strong>de</strong>lelor <strong>de</strong> <strong>analiza</strong> noi elemente care <strong>de</strong>finesc<br />

o solutie particulara, pe baza optimizarii anumitor criterii,<br />

139

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

Saved successfully!

Ooh no, something went wrong!