Programozási technológia I. Szendrei Rudolf
Programozási technológia I. Dinamikus modell: állapotdiagram, szekvencia diagram Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok
Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem
Példák
1
Programozási technológia I.
Tartalom
Szendrei Rudolf
1 Dinamikus modell 2 Állapotdiagram
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja
Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Állapot általános fogalma
3 Szekvenciadiagram
Szekvenciadiagram Osztályszerep, osztályszerep életvonala
Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
2
Programozási technológia I.
Dinamikus modell
Szendrei Rudolf
Bevezeto˝ Dinamikus modell
Dinamikus modell
Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója
Interakciós
Állapot
Tevékenység
Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvencia
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
3
Együttmuködési ˝
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Alapfogalmak • Állapot:
Az objektum állapotát az attribútumok konkrét értékeinek n-esével jellemezzük. (Például pont esetén annak koordinátái)
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója
• Esemény:
Eseménynek nevezzük azt a tevékenységet, történést, amely valamely objektum állapotát megváltoztatja.
Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója
(Egy pont esetén például annak eltolása)
Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja
Állapot
Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala
t
Osztályszerep aktivációs életvonala
˝ o˝ események megeloz (pre-events)
Objektum aktivációja Üzenettípusok Példák
4
rákövetkezo˝ események (post-events)
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Állapot informális definíciója
Az állapot a következo˝ tulajdonságokkal rendelkezik: 1
˝ Az állapotnak van azonosítója, így megkülönböztethetok egymástól, például van nevük (pl.: veremnél: „normál”, „tele”, ...). Az azonosító lehet egy vagy több attribútumának értéke is, illetve ezen értékeket meghatározó állítás, állapotinvariáns.
2
Az állapot általában esemény, eseménysorozat hatására jön létre. Speciális állapot a kezdo˝ állapot.
3
Az állapot addig marad fenn, amíg az objektumok attribútumainak értékei kielégítik az állapothoz rendelt invariánst (vagyis a belso˝ átmenetek nem változtatják meg az objektum állapotát).
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala
belso˝ átmenet
Objektum aktivációja Üzenettípusok Példák
Állapot 5
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Állapot informális definíciója – (folyt.) 4
Az állapotokat gyakran a belso˝ tevékenység, muvelet ˝ nevével azonosítjuk.
Dinamikus modell
A
Állapotdiagram Alapfogalmak
do / <muvelet ˝ neve>
Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója
5
Esemény, akció, az esemény fázisai
Az állapot megszunése ˝ esemény hatására következik be, ilyenkor egy másik állapotba kerül az objektum.
Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
A
Szekvenciadiagram
Állapotátmenet
B
Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala
6
Objektum aktivációja Üzenettípusok Példák
6
Az objektum megszunése ˝ szintén állapotátmenet hatására következik be. Ekkor egy rendszeren kívüli befejezo˝ állapotba kerül.
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Állapot leírása • state:
;
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója
• comment: ;
Állapot leírása Esemény informális definíciója
• pre-events:
Esemény leírása Állapotdiagram definíciója
azonosítói>;
Esemény, akció, az esemény fázisai
• invariant: ;
Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
• post-events:
Szekvenciadiagram
események>
Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
7
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Állapot leírása – példa (ébreszto˝ óra „csengetés” állapota) • state:
ébreszto˝ csengetés; • comment:
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója
˝ ˝ amikor az elozetesen beállított idopont bekövetkezik, a csengo˝ megszólal, és 10 mp-ig csörög;
Állapot leírása Esemény informális definíciója
• pre-events:
Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja
˝ ido˝ beállítás (ébresztési ido); minden más esemény, ami nem „ido˝ beállítás törlés”; ˝ aktuális ido˝ = ébresztési ido;
Állapot általános fogalma
• invariant:
Szekvenciadiagram Osztályszerep, osztályszerep életvonala
ido˝ beállítás bekapcsolva és ébresztési ido˝ ≤ aktuális ido˝ ≤ ébresztési ido˝ + 10mp;
Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok
• post-events:
Példák
aktuális ido˝ = ébresztési ido˝ + 10 mp → visszaállítás ˝ (ébresztési ido). 8
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Esemény informális definíciója
Az eseményeket a következo˝ tulajdonságok jellemzik: Dinamikus modell Állapotdiagram
1
lehet paraméter nélküli (például az „enter” gomb megnyomása);
2
lehet paraméteres (például vermek esetén a push(s,e));
3
az események között sorrendiség állhat fenn, azaz beszélhetünk
Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása
• megeloz ˝ o˝ eseményrol, ˝ illetve • rákövetkezo˝ eseményrol; ˝
Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala
4
Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
9
˝ az eseménynek elofeltétele is lehet.
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Esemény leírása Dinamikus modell
• event: <esemény neve, azonosítója>;
Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója
• comment: ; • parameters: ;
Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai
• precondition:
Állapotok általánosítása
˝ o˝ állítás>; megeloz
Állapotok aggregációja Állapot általános fogalma
• preevents: .
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
10
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Az állapotdiagram definíciója
Az állapotdiagram egy egyszeresen összefüggo˝ irányított gráf, amelynek csomópontjaihoz az állapotokat, éleihez pedig az eseményeket rendeljük. Dinamikus modell Állapotdiagram
Jelölések
Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója
• Állapot
Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja
• Állapotátmenetet
okozó esemény • Kezdo˝ állapot
Üzenettípusok Példák
• Befejezo˝ állapot 11
Állapot neve
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Esemény és akció • Sokszor az esemény végrehajtása idobe ˝ telik, ezért
célszeru˝ megkülönböztetni az akciótól. • Ekkor az akció az, ami egy idopillanathoz ˝ ˝ kötodik.
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása
A
esemény/akció
B
Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai
Az események fázisai
Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala
• entry – a belépés akciója, amely elindítja az állapotot
létrehozó eseményt / eseménysorozatot • event – az állapothoz kötod ˝ o˝ belso˝ események sorozata, ˝ o˝ belso˝ állapotokat jelenti amely az adott állapothoz kötod
Objektum aktivációja
• exit – az az exit akció, amely az esemény befejezését, az
Üzenettípusok Példák
állapotból való kilépést eredményezi. 12
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Az események fázisai (folyt.) A entry / event / exit /
• Az esemény
fázisainak jelölése Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója
• Az esemény
<esemény neve>
folyamatosságának szemléltetése
entry A
exit
Esemény, akció, az esemény fázisai Állapotok általánosítása
˝ Példa – repülojárat-nyilvántartás leegyszerusített ˝ modellje
Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok
do / repül felszáll.entry regisztráció.entry
Példák
13
felszáll.exit regisztráció.exit do / felszállásra vár
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Az állapotdiagram bonyolultsága Dinamikus modell Állapotdiagram
• Az állapotdiagram egyszeru˝ esetekben is
Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
14
áttekinthetetlenné válhat (pl. adott 5 állapot, ahol ˝ van átmenet mindegyikbe) mindegyikbol • A bonyolultság csökkentésére két általános módszer létezik: • az állapotok általánosítása és • az állapotok aggregációja.
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Állapotok általánosítása 1 Dinamikus modell
2
Állapotdiagram Alapfogalmak Állapot informális definíciója
• attribútumait (állapotjellemzoit); ˝ • eseményeit, akcióit.
Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója
3
Az általánosított állapot állapotinvaránsa a részállapotok állapotinvariánsainak diszjunkciója (azaz az objektum az általánosított állapotban mindig valamelyik részállapotban van).
4
A részállapotokhoz az az állapotdiagram tartozik, amelyben szereplo˝ állapotátmenetek az általánosított állapotot nem változtatják meg.
5
A részállapotok lehetnek általánosított állapotok is.
Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala
Az általánosított állapot véges számú részállapot összessége A részállapotok örökölhetik az általánosított állapot tulajdonságait:
Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
15
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Állapotok általánosítása (folyt.) 6
Az állapotdiagramban kell lennie olyan részállapotnak, amely az általánosított állapot „entry” akcióját örökli.
7
Az állapotdiagramban kell lennie olyan részállapotnak, amely az általánosított állapot „exit” akcióját örökli. Az általánosított állapot megfelelo˝ objektuma az „entry” akció hatására létrejön, a megfelelo˝ objektum pedig az állapotdiagram „exit” akciójának hatására semmisül meg.
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója
8
Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
16
<állapotdiagram>
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Állapotok aggregációja
Dinamikus modell
1
Az aggregációval létrejövo˝ állapot egymástól független részállapotok egy véges halmaza.
2
A részállapotok lehetnek általánosított állapotok is, amelyekhez tehát állapotdiagramok tartoznak.
3
Minden állapotdiagram kell lennie olyan részállapotnak, amelybe az aggregátum „entry” esemény hatására kerül, ˝ kilépéskor az „exit” esemény és olyannak, amelybol hatására szunik ˝ meg.
4
Az aggregációval létrejött állapot invaránsa a részállapotok invariánsainak konjunkciója, azaz az aggregációs állapot objektuma az aggregációt alkotó részállapotokban egyidejuleg ˝ létezik. Az állapotok aggregációja az állapoton belüli állapotdiagramok közötti párhuzamosság egy megjelenési formája.
Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala
5
Objektum aktivációja Üzenettípusok Példák
17
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Állapotok aggregációja <Állapot neve>
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai
Példa – Gépkocsi
Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram
Modellezzünk egy leegyszerusített ˝ gépkocsit, ami a következo˝ ˝ áll: fék, indító, sebességváltó. egységekbol
Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala
gépkocsi
Objektum aktivációja Üzenettípusok Példák
fék 18
indító
sebváltó
Programozási technológia I.
Állapotdiagram – Gépkocsi példa
Szendrei Rudolf
gépkocsi állapotok fék állapot
Dinamikus modell
indító állapot
fék állapot behúz
sebváltó állapot
be
ki kienged
Állapotdiagram Alapfogalmak Állapot informális definíciója
indító állapot
Állapot leírása
sebváltó állapot
Esemény informális definíciója
üres
Esemény leírása
üres
hátramenet
Állapotdiagram definíciója
gyújtás [sebváltó in üres]
Esemény, akció, az esemény fázisai
˝ menet elore
Állapotok általánosítása
leállítás
Állapotok aggregációja
indítás
E
Állapot általános fogalma
kulcs elengedés
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
19
menet
egyes
H
E kettes
H
hármas
Programozási technológia I.
Állapotdiagram
Szendrei Rudolf
Az állapot általános fogalma 1
Az állapotnak van azonosítója.
Dinamikus modell
2
Állapotdiagram
3
Esemény hatására következik be. Mindaddig fennmarad, amíg az objektumok attribútumai az állapot invariánsát kielégítik. ˝ Az állapot megszunéséhez ˝ eseménysorozat kötodik.
Alapfogalmak Állapot informális definíciója Állapot leírása
4
Esemény informális definíciója Esemény leírása Állapotdiagram definíciója
5
Az állapot lehet részállapotok általánosítása. Ilyenkor az állapothoz állapotdiagram is tartozik.
6
Az állapot lehet más állapotok aggregációja. Az állapot lehet pszeudoállapot:
Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
7
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok
• Kezdéskor a külso˝ állapot. • Befejezéskor a külso˝ állapot. • Hisztorizációs állapot, melyhez hisztorizációs indikátor
társul.
Példák
20
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Dinamikus modell
A szekvenciadiagram alapfogalmai, komponensei
Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója
• Osztályszerep • Osztályszerep életvonala
Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai
• Aktivációs életvonal • Üzenet
Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
21
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Osztályszerep • Az osztály szerepét az osztályok közötti üzenetben
megtestesítheti az osztály egy vagy több objektuma, amelyek az üzenetküldés szempontjából konform módon járnak el.
Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója
• Az osztályszerep megnyilvánulhat az osztályok egy
˝ halmazának megtestesítojeként is (pl. generic form). • Jelölése:
Esemény leírása Állapotdiagram definíciója
<szerep neve> :
Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Osztályszerep életvonala
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala
• Az életvonal az
Objektum aktivációja Üzenettípusok
˝ osztályszerep idoben való létezését jelenti.
Példák
22
<szerep neve> :
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Az osztályszerep aktivációs életvonala • Az aktivációs életvonal az Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója
osztályszerepnek azt az állapotát jelöli, amelyben az osztályszerep ˝ muveletet megtestesítoi ˝ hajtanak végre, és más objektumok vezérlése alatt állnak.
objektum : osztály
Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai
Objektum létrehozása és megsemmisítése
Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
23
• Egy objektum létrejöhet egy
másik objektum létrehozó üzenetének a hatására és megsemmisülhet, ha a másik objektum egy törlést jelento˝ üzenetet ad ki.
obj : C 1
1
<üzenet1 >
obj : C 2
<üzenet2 >
2
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Az objektum aktivációja • Életvonala során az Dinamikus modell Állapotdiagram Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása
objektum aktív módon viselkedhet, amíg valamilyen tevékenységet végez. ˝ Ezt eloidézheti, de meg is szüntetheti egy másik objektum.
obj : C 1
1
obj : C 2
2
<üzenet1> <üzenet2>
Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
24
objektum : osztály
• Az objektum saját magát is
aktiválhatja (rekurzív aktiváció).
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Az objektum aktivációja (folyt.) Dinamikus modell
A : aktor
Állapotdiagram
• Az aktiváció centrális, ha
Alapfogalmak Állapot informális definíciója Állapot leírása Esemény informális definíciója
: C1
minden objektumot egy aktor objektum aktivizál.
Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
25
• Az aktor egy másik jelölése A : aktor
: C2
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Üzenettípusok • Aszinkron üzenet
Egy aktív objektum üzenetet küld egy passzív objektumnak és folytatja a munkáját
Dinamikus modell Állapotdiagram
küldo˝
Alapfogalmak
fogadó
Állapot informális definíciója Állapot leírása
• Válasz üzenet
Esemény informális definíciója Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai
A küldo˝ válasz üzenetet kap egy korábbi aszinkron üzenetére.
Állapotok általánosítása
küldo˝
Állapotok aggregációja
fogadó
Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja
• Szinkronizációs üzenet
Az üzenet elküldésekor a küldo˝ blokkolt állapotba kerül, amíg a fogadó nem válaszol az üzenetre.
Üzenettípusok Példák
küldo˝
26
fogadó
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Üzenettípusok (folyt.) • Létrehozó üzenet
Dinamikus modell Állapotdiagram
A küldo˝ objektum létrehozza egy új objektumot.
Alapfogalmak Állapot informális definíciója Állapot leírása
küldo˝
Esemény informális definíciója
fogadó
Esemény leírása Állapotdiagram definíciója Esemény, akció, az esemény fázisai
• Megsemmisíto˝ üzenet
A küldo˝ objektum megsemmisíti a fogadó objektumot.
Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja Üzenettípusok Példák
27
fogadó küldo˝
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Üzenettípusok (példák) • Adott egy nyomtató, amit többen is szeretnének használni • A nyomtatóhoz, mint eroforráshoz ˝ kölcsönös kizárással
lehet, amit szinkronizációs üzenettel oldjuk meg
Dinamikus modell
• A kölcsönös kizárás osztálydiagramja
Állapotdiagram Alapfogalmak Állapot informális definíciója
kölcsönös kizárás rendszere
Állapot leírása Esemény informális definíciója
*
Esemény leírása Állapotdiagram definíciója
folyamat
Esemény, akció, az esemény fázisai
˝ eroforrás használ
Állapotok általánosítása Állapotok aggregációja Állapot általános fogalma
• A kölcsönös kizárás két folyamat esetén
Szekvenciadiagram Osztályszerep, osztályszerep életvonala Osztályszerep aktivációs életvonala Objektum aktivációja
író : folyamat
író : folyamat
1
2
szöveg
1
Üzenettípusok
szöveg
Példák
˝ nyomtató : eroforrás 28
2
Programozási technológia I.
Szekvenciadiagram
Szendrei Rudolf
Üzenettípusok (példák) • Szemléltessük az ATM készülék muködését ˝ • Most elegendo˝ csak az üzenetek idoben ˝ lejátszódó
sorrendjét szemléltetni
Dinamikus modell Állapotdiagram
: ügyfél
: ATM
Alapfogalmak Állapot informális definíciója
: konzorcium
: bank
kártya be
Állapot leírása Esemény informális definíciója
jelszó?
Esemény leírása
jelszó
Állapotdiagram definíciója
˝ ellenorzés
Esemény, akció, az esemény fázisai Állapotok általánosítása
kérés típusa?
Állapotok aggregációja
rendben
˝ ellenorzés rendben
Állapot általános fogalma
típus
Szekvenciadiagram Osztályszerep, osztályszerep életvonala
összeg?
Osztályszerep aktivációs életvonala
összeg
Objektum aktivációja
tranzakció
tranzakció
Üzenettípusok Példák
• (A feladat egyben példa a decentralizáltan vezérelt
rendszerre.) 29