Stavový diagram
Naspäť na | Softvérové inžinierstvo |
- Stavový diagram (State Diagram)
- je spôsob grafického zápisu vývoja systému, ktorý má konečný počet stavov.
Príklad diagramu: konečný automat (stavový automat), ktorý vyjadruje stav určitého objektu a prechody medzi jeho stavmi.
Stavový diagram obsahuje:
- stavy,
- udalosti
- prechody medzi stavmi.
Grafické prvky stavových diagramov:
- Vyplnená kružnica, znamenajúca štart.
- Kružnica s bodom uprostred, znamenajúca stop alebo koniec. Nie je nevyhnutné zakresľovať.
- Obdĺžnik znamenajúci stav. Hore sa zapisuje názov stavu. Môže obsahovať horizontálnu čiaru v strede, pod ktorou je napísané, čo v danom stave je vykonané.
- Šípka znamenajúca prechod. Môže byť označená výrazom uzavretým v hranatých zátvorkách („[]“), ktorý reprezentuje spúšťač daného prechodu.
Stav
Stav charakterizuje trvanie konfigurácie nemenných podmienok v systéme. Stavom môže byť označená situácia, kedy sa čaká na udalosť alebo sa objekt nejakým spôsobom chová. Stavy sú okrem počiatočného pseudostavu a koncového stavu znázornené pomocou obdĺžnika so zaoblenými rohmi a s názvom stavu umiestneným v hornej časti.
Stav je v danom konkrétnom okamžiku určený nasledujúcimi faktormi:
- hodnotami atribútov daného objektu,
- reláciami s ďalšími objektami,
- aktuálne vykonávanou aktivitou.
Každý stav môže obsahovať ľubovoľný počet akcií a aktivít.
- Akcia
- proces, ktorý prebehne rýchlo a je neprerušiteľný.
- Aktivita
- dlhšie trvajúci proces, ktorý sa dá prerušiť.
Prechod
Prechod je priame prepojenie jednotlivých stavov. Smeruje od zdrojového stavu k cieľovému. Prechod zo stavu je reakciou na vznik udalosti alebo ukončenia činnosti (alebo činností) v aktívnom stave. Nad každým prechodom môže byť voliteľný opis s nasledujúcou syntaxou:
Udalosť [podmienka] / Akcia
Každá časť je voliteľná.
- Udalosť
- interný alebo externý výskyt, ktorý zaháji prechod. Môže to byť i 'completion event' (automatický prechod).
- Podmienka (guard)
- booleovský výraz, ktorého splnenie podmieňuje prechod.
- Akcia
- vykoná sa pri zahájení prechodu.
Udalosť
Udalosť je niečo významného, čo sa stane v určitom čase a priestore a čo nemá trvanie. Typy udalostí:
- Udalostné volanie
- požiadavka na vyvolanie konkrétnej operácie inštancie kontextovej triedy. Príjem udalostného volania potom spúšťa požadovanú operáciu.
- Udalosť zmeny
- nastáva pri splnené booleovskej podmienky
- Časová udalosť
- nastáva po uplynutí určitej doby alebo po splnení určitej časovej podmienky
Príklad stavových diagramov
Uvažujme priemyselný protokol MODBUS Implementácia protokolu MODBUS/uBUS. Protokol MODBUS je priemyselný protokol typu master/klient. V tejto architektúre začína komunikáciu vždy uzol master a oslovuje jeden konkrétny uzol slava (unicastová komunikácia) alebo všetky uzly slave naraz (broadcastová komunikácia). Pri unicastovej komunikácii sa od uzla slave očakáva odpoveď na prijatú požiadavku. Pri komunikáci broadcast uzly slave na požiadavku neodpovedajú.