1 PB007: State Machine Diagram Martin Macák 2 State Machine Diagram Stavový Diagram ̶ Modeluje dynamické chovanie (životný cyklus) jedného objektu ̶ Trieda (objekt) ̶ Use case ̶ Systém ̶ Subsystém ̶ Komponent ̶ … ̶ Tvoria ho: ̶ Stavy (States) ̶ Prechody (Transitions) ̶ Udalosti (Events) Stav Udalosť Prechod 3 State Machine Diagram Stavový Diagram – Stavy ̶ Reprezentuje sémanticky dôležitú situáciu ̶ V prípade objektu ide o hodnoty atribútov, vzťahy, aktivitu Vstupná aktivita Vykonaná pri vstupu do stavu Výstupná aktivita Vykonaná pri výstupu zo stavu Interná aktivita Vykonaná v stave Deferrable Trigger Udalosť, ktorá je zaregistrovaná, ale jej spracovanie je nechané na inom stave Interný prechod Prechod, ktorý sa spracuje bez vystúpenia zo stavu 4 State Machine Diagram Stavový Diagram – Prechody ̶ Definujú, akým spôsobom sa dostať z jedného stavu do druhého ̶ Syntax: udalosť [podmienka] / akcia ̶ Sémantika : Pri výskytu udalosti, ak je splnená podmienka, vykonaj akciu a prejdi do nového stavu. Udalosti Podmienka (bool) Akcie 5 State Machine Diagram Stavový Diagram – Udalosti ̶ Podnet, na ktorý sa reaguje zmenou stavu alebo vykonaním operácie ̶ Typy udalostí: ̶ Call event – Volanie operácie daného objektu. ̶ Signal event – Asynchrónne odoslanie a príjem signálu medzi objekty. ̶ Change event – Pravdivostný výraz. K udalosti dôjde pri zmene z hodnoty false na true. ̶ Time event – Udalosť nastane v určitú dobu t (when(t)) alebo po určitej dobe t (after(t)). 6 State Machine Diagram Stavový Diagram – Udalosti (Výsek z diagramu) 7 Simple composite state Zložené stavy – Jednoduchý zložený stav ̶ Vhodný pre zjednodušenie diagramu ̶ Zachytenie dedičnosti medzi stavmi 8 Orthogonal composite state Zložené stavy – Ortogonálny zložený stav ̶ Zachytenie paralelného behu ̶ Tvorí ho dva a viac regiónov 9 Stavový Diagram v objektovom svete ̶ V rámci nášho modelovania použijeme stavový diagram pre reprezentáciu životného cyklu objektu ̶ Kontext je teda iba inštancia triedy z class diagramu ̶ Všetky metódy a udalosti musia mať podporu v class diagrame ̶ Prechod z iniciálneho stavu je volanie konštruktoru ̶ Prechod do koncového stavu je zmazanie zo systému 10 Stavový Diagram v objektovom svete 11 Úloha na tento týždeň ̶ Zapracujte spätnú väzbu ̶ Zvoľte si vhodný objekt, ktorý budete modelovať ̶ S netriviálnym životným cyklom ̶ Keby ste zúfalí, píšte na Discorde ☺ ̶ Vytvorte k nemu stavový diagram ̶ Podľa potreby upravte návrhový diagram tried ̶ Ak by vám nestačilo, v materiáloch je bonusová úloha ☺