Documente Academic
Documente Profesional
Documente Cultură
▪ Introducere
▪ Stări
▪ Tranziţii
▪ Tipuri de evenimente
▪ Tipuri de stări
▪ Puncte de intrare și ieșire
2
Introducere
3
Exemplu: SalaCurs cu detalii
class SalaCurs {
private boolean libera;
4
Exemplu: Ceas digital
5
Stare
6
Tranzitie
7
Tranziție – Sintaxă
▪ Eveniment (trigger)
▪ Stimul exogen
▪ Poate declanșa o tranziție a unei stări
▪ Condiție (guard)
▪ Expresie booleană
▪ Dacă evenimentul are loc, condiția este verificată
▪ Arunci când condiția este adevărată
▪ Toate activitățile din starea actuală sunt încheiate
▪ Orice activitate de ieșire relevantă este executată
▪ Tranziția are loc
▪ Arunci când condiția este falsă
▪ Nu are loc nici o tranziție, evenimentul este anulat
▪ Activitate (efect)
8
▪ Secvența acțiunilor executate în timpul unei tranziții de stare
Tranziție – Tipuri (1/2)
ev1
9
Tranziție – Tipuri (2/2)
11
Eveniment - Tipuri (1/2)
12
Eveniment - Tipuri (2/2)
▪ Orice eveniment de primire
Se folostește pentru a modela tranzițiile de tip else
▪ Cuvânt cheie all
▪ Din stare S1 obiectul trece în starea S2 la producerea
evenimentului e1 și în S4 la producerea oricărui
eveniment
▪ Eveniment de finalizare
Generat automat atunci când tot ceea ce trebuie făcut
în starea curentă este finalizat
▪ Eveniment de schimbare
Se verifică permanent îndeplinirea unei condiții
▪ Ex: când(x > y), după(90min)
13
Eveniment de schimbare vs. Condiție
Verificat permanent
14
Stare inițială
15
Stare finală și nod de încheiere
Stare finală
▪ Este o stare reală
▪ Marchează încheierea secvenței de stări
▪ Obiectul poate rămâne într-o stare finală pentru totdeauna
Nodul de încheiere
▪ Este o pseudostare
▪ Încheie mașina de stări
▪ Obiectul modelat își încetează existența , adică este șters
16
Nod decizional
▪ Este o pseudostare
▪ Folosit pentru modelarea tranzițiilor alternative
echivalent?
echivalent?
≠
17
Exemplu: Nod decizional
18
Noduri de paralelizare și sincronizare
Nodul de paralelizare
▪ Este o pseudostare
▪ Împarte fluxul de control în mai multe fluxuri concurente
▪ Are un singur flux de intrare
▪ Are mai multe fluxuri de ieșire
Nodul de sincronizare
▪ Este o pseudostare
▪ Fuzionează fluxuri concurente multiple
▪ Are mai multe fluxuri de intrare
▪ Are un singur flux de ieșire
19
Stare compusă
Stare compusă
Substări
20
Stare ortogonală
▪ Starea compusă este împărțită în două sau mai multe regiuni separate
printr-o linie punctată
▪ O stare a fiecărei regiuni este întotdeauna activă în orice moment de
timp, (substări concurente)
▪ Intrare: trecerea la granița stării ortogonale activează stările inițiale ale
tuturor regiunilor
▪ Ieșire: starea finală trebuie atinsă în toate regiunile pentru a declanșa
evenimentul de finalizare
Utilizarea nodurilor de
paralelizare și sincronizare
pentru a intra în diferite stări
21
Starea submașină
Simbol specific
(opțional)
22
Puncte de intrare și ieșire
▪ Mecanism de încapsulare
▪ Se va intra sau se va ieși dintr-o stare compusă printr-o altă stare decât
stările inițiale și finale
▪ Tranziția externă nu trebuie să cunoască structura stării compuse
Vedere externa
External view
23
Exemplu: Puncte de intrare și ieșire
24
Elemente de notație (1/2)
Nume Notație Descriere
Descrierea unui „interval de timp”
specific în care un obiect se regăsește
Stare pe parcursul „ciclului său de viață”. În
cadrul unei stări, diferite activități pot fi
executate de obiect.
Tranziția de la o stare sursa S la o
Tranziție
stare țintă T
Începutul unei diagrame de mașini de
Stare inițială
stări
Încheierea unei diagrame de mașini de
Stare finală
stări
25
Elemente de notație (2/2)
Nume Notație Descriere
26