Jak funguje element deep history v UML

Podobné dokumenty
Objektově orientované technologie Dynamický náhled Stavový diagram. Pavel Děrgel, Daniela Ďuráková

Odpověď na dotaz ohledně asociační třídy v modelu měření

S KONFIGURACÍ POVOLENÝCH KOMBINACÍ DĚDICŮ

Návod k použití pro fóliovou klávesnici

Základy umělé inteligence

Návod k obsluze. Spínací člen

Pozn.: Monostabilní relé přepíná pouze v případě, že je přístroj pod napětím.

Třetí část odpovědi na mail ohledně zpracování případů užití, aneb jak je to s číslováním pořadí případů užití

Instrukce pro montáž, obsluhu a údržbu

Problém identity instancí asociačních tříd

ESCORT cz. Uživatelský manuál. Cz

PROGRAMOVÁNÍ OVLADAČE GALCON 80512

TR T0 T1 T0 T1 REŽIM SP1 A B REGULÁTOR TEPLOTY REGULÁTOR TEPLOTY DRT23. verze 12. 3sSTISK

Manuál pro ovládání a nastavení regulátoru ERAM spol s.r.o

VTB 05. Venkovní jednotka VTB-05. Uživatelský manuál domácího videotelefonu

Proč je analytický model IS nutným předpokladem pro zabránění tvorbě molochálních systémů

Druhá část odpovědi na mail ohledně zpracování případů užití

Záskokové automaty AUTOMATIZACE. Filosofie zařízení. Vnější signály. Řídící člen záskokového automatu. Ruční ovládání

OBSAH: Úloha č. 14.: Ovládání dvojčinného pneumotoru monostabilním rozvaděčem s pomocí relé se

Joystick pro PC a PS3

Návod k obsluze. ve verzi PDF

MONOTRON 200 série 23000

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

ADAPTÉR ROZHRANÍ PŘEHRÁVAČE D. KS-PD500 Než začnete používat tento adaptér

Úvod. Tlačítka. Typ baterie

Ovládací jednotka PRO EX modular. návod k obsluze

Návod na použití portálu 802

Čtvrtá část odpovědi aneb jak je to vlastně s interakcí <<include>>

Vítejte. Přehled. Obsah balení 1. Přenosná video lupa 2. Video kabel 3. USB kabel. Popis přístroje a funkce

Denní přehled naprogramovaných časů 5 = pátek. Stav kontaktů relé zap = On, vyp = OFF

CDI 100 MP3. Návod k obsluze. Čísla u popisů jednotlivých funkcí odpovídají obrázkům v původním návodu.

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA

ROZDÍL MEZI VZTAHEM EXTEND A INCLUDE V USE CASE DIAGRAMECH

Vítejte. Přehled. Obsah balení

DM2.3E odmagnetovací modul V AC /5A

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Návod na hodinky s kamerou model SY-195

Série NEP Uživatelský manuál

Calisto Hlasitý USB telefon. Návod k obsluze

Návod k obsluze trenažéru

NAUČTE SE MALOVAT SI INSTANCE!

Algoritmizace. 1. Úvod. Algoritmus

Elektronické programovací hodiny se sondou

Programovatelná řídící jednotka REG10. návod k instalaci a použití 2.část Regulátor předehřevu teplé vody VKK

Výčtový typ strana 67

DEFA SmartStart UŽIVATELSKÁ A MONTÁŽNÍ PŘÍRUČKA.

Sportovní hodinky s kamerou a detekcí pohybu

Diagramy stavů. Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, Second Edition, Pearson Prentice Hall, 2005

Vlastnosti elektronického systému

Ovládací jednotka K rain RPS1224. návod k obsluze

Identifikátor materiálu: ICT-4-01

Bezdrátová meteostanice WS Obj. č.:

Habermaaß-hra Zvířecí pyramida: A jsme zpět!

EMJ-01 odmagnetovací jednotka

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty.

8. Geometrie vrací úder (sepsal Pavel Klavík)

ELEKTRONICKÁ OVLÁDACÍ JEDNOTKA RAIN BIRD WTD-1900

1. Univerzální watchdog WDT-U2

Spínání světel. Stmívání světel. Ventilátory a střešní okna. Žaluzie, rolety, markýzy. Dveře a garážová vrata. Domovní brány a závory

Návody na montáž, obsluhu a údržbu

Pro správnou funkci jednotky je třeba aktivovat lithiovou baterii vytažením plastového pásku na pravé horní straně ovládacího panelu jednotky. Baterie

Úvod. Rozlišení režimů. Technická data

Čtečka karet a otisků SF101 UŽIVATELSKÝ MANUÁL

Praktické úlohy- programování PLC

Funkce jednotlivých tlačítek se mohou měnit podle toho, na jaké úrovni menu se právě nacházíte; vysvětlení viz následující tabulka.

Uživatelský návod - 1 -

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

DVR přijímač pro skryté kamery s dotykovým LCD

Úvod do objektově orientovaného programování s použitím jazyka C# pro střední školy

Bezpečnostní poplašný systém GSM-03 T511. Návod k použití

Instrukce kalibrace Paletové vozíky s váhou

PB153 Operační systémy a jejich rozhraní

Jak správně psát scénáře k případům užití?

SI-7E20A-002 SI-7E20A SERVISNÍ POKYNY SM-EC79. Kontrolní jednotka

Pokyny pro obsluhu souhrnný přehled platí pro standardní jednotku dálkového ovládání a pro ovládací panel na kotli

MFZ. Návod k obsluze zásuvné karty ZM-SKS B

Hromadná korespondence

Řídící jednotka AirBasic 2

Návod k obsluze trezorů Browning ProSteel Safe NEJPRVE POZORNĚ PROČTĚTE CELÝ NÁVOD

6. blok část C Množinové operátory

AURATON 3003 k obsluze Návod for software version F0F

Popis základního prostředí programu AutoCAD

TR12A011 RE / Rozšířené nabídky Pohon garážových vrat

Vztah typu Extend v UML a jeho zvláštnosti

Databox CONTACT 6 základní operace programu

Odpověď na dotaz ohledně asociační třídy v modelu měření

Zabezpečovací systém pro automobily Tytan DS400 CAN

LED mobilní semafor /code: /

Návod k obsluze zásuvné karty ZM-SKS B

Nyní uslyšíte několik pípnutí. Tlačítka jsou nyní zablokovaná. Stiskněte zelené tlačítko na 30 vteřin.

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

Elektronická časomíra SH3

ZÁSKOKOVÝ AUTOMAT MODI ZB pro jističe Modeion POPIS K790

PROJEKTOVÁNÍ INFORMAČNÍCH SYSTÉMŮ SEMINÁRNÍ PRÁCE

NÁVOD K MONTÁŽI A OBSLUZE PROSTOROVÉHO PŘÍSTROJE SIEMENS POL

Vaše nezávislé vytápění vozidla resp. nezávislá ventilace se může ovládat při použití DTMF-přenosu dat přes síť GSM.

UŽIVATELSKÝ MANUÁL INFRA OVLADAČ

Návod pro nastavení a seřízení digitálních hodin FMD 150

REG10 návod k instalaci a použití 2.část Univerzální časovač a čítač AVC/ 02

Transkript:

Jak funguje element deep history v UML autor RNDr. Ilja Kraval, http://www.objects.cz březen 2007 firma Object Consulting s.r.o. Úvod Již několikrát jsem v internetových diskusích a při školeních narazil na otázku, co je typ prvku deep history v UML? Tento článek se zabývá vysvětlením tohoto elementu. Typ prvku History obecně Typ prvku History se používá ve stavových diagramech, kde se vyskytuje tzv. skládání stavů do vyšších stavů a kdy opouštíme přechodem stav vyšší z hranice tohoto stavu, tj. například takto:

obrázek 1 Opuštění stavu z hranice Uvedený diagram stavového stroje semaforu znamená následující: 1. Stav u semaforu se skládá ze dvou vnitřních ( nižších stavů ), a, v něm se tyto dva stavy střídají, počáteční je stav. 2. Na událost se semafor přepne do stavu nezávisle na tom, v jakém nižším stavu je stav, zda je ve stavu nebo. Mimochodem to znamená, že přepínání mezi stavy a bude probíhat tak dlouho, dokud se neprovede vypnutí, a proto uvnitř stavu není koncový stav. Nyní chceme znázornit tu skutečnost, že se semafor vrátí zapnutím do stavu aktivní. Existují dvě možnosti, co by mohlo nastat a musíme vybrat tu variantu, jak chceme, aby se naprogramovaný semafor choval: Buď se semafor při přechodu do stavu začne opět od počátečního stavu ( od černého kolečka ), v tom případě namalujeme diagram takto: strana 2

Zapnutí obrázek 2 Vést přechod na hranu vyššího stavu znamená začít implicitním stavem, tj. černým kolečkem" Druhou možnou variantou je, že budeme chtít vyjádřit tu skutečnost, že se semafor vrátí do toho stavu, který při vypnutí opustil, tj. semafor si pamatuje tento stav při opuštění. K tomu slouží element History - ten se chová jako ona paměť, kam se odloží aktuální nižší stav, když se opouští vyšší stav. Vést přechod do elementu History (kolečko s H) znamená následující: Semafor se vrátí do toho nižšího stavu, který byl právě nastaven při opouštění stavu (v kolečku H je jakoby buffer stavu ): strana 3

Zapnutí obrázek 3 Semafor se nevrací automaticky do implicitního stavu, ale do toho stavu, který byl nastaven, když semafor opouštěl stav Co je to shallow a deep history V UML existují dva typy History, shallow history a deep history. Jaký je mezi nimi rozdíl? Oba dva prvky znamenají návrat do stavu, který byl opouštěn a zapamatován. Rozdíl je v chování stavového automatu vůči ještě nižším stavům, které jsou obsaženy v uvedených nižších stavech, tj. rozdíl se projeví, pokud tyto stavy jsou ještě dále složeny z nižších stavů. Pokud nižší stavy (v našem případě a ) nemají nižší stavy, rozdíl mezi typy prvků shallow a deep history nebude. Zaveďme tedy ještě podstavy, například semafor ve stavu zelená ještě začne před přepnutím na červenou blikat (má ještě nižší stavy nebliká - bliká). strana 4

nebliká bliká obrázek 4 Stav se skládá ještě ze dvou stavů Nyní existují dvě varianty, jak se může stavový stroj chovat: První: Pokud použijeme shallow history (kolečko s H a bez *), říkáme tím: Semafor se vrátí do toho stavu (, ), který byl opuštěn a tento stav začne od implicitního (tj. při zapnutí do Zelené se začne nebliká ). Druhá: Pokud použijeme deep history(kolečko s H a *), tak se provede násobná restaurace stavů a to všech podstavů celého stroje: strana 5

nebliká bliká obrázek 5 semafor se vrací při zapnutí do stavu, který byl opuštěn a to platí pro všechny podstavy stavů V předešlém modelu se semafor chová tak, že pokud byl vypnut ve stavu zelená a zelená blikala, tak po zapnutí se semafor dostane do stavu zelená a zelená bude blikat. Pokud bychom použili shallow history, tak se semafor bude chovat tak, že pokud byl vypnut ve stavu zelená a zelená blikala, tak po zapnutí se semafor dostane do stavu zelená a zelená nebude blikat (spadne totiž do implicitního stavu). Shallow history znamená restauraci do nižšího stavu, který byl zapamatován, ale ten začíná implicitním stavem. Deep history tedy znamená restauraci stroje do stavů, které byly nastaveny v daném stavu a to do všech úrovní podstavů. Konec článku strana 6