Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 7
Przegl dowe diagramy interakcji Przegl dowe diagramy interakcji wi» ze sob kilka ró»nych inteakcji w pojedynczy kompletny obraz interakcji obejmuj cych pewnien okre±lony obszar systemu. Przegl dowy diagram interakcji jest form diagramu aktywno±ci, w którym w zªy reprezentuj diagramy interakcji. Diagram interakcji mo»e zawiera diagram sekwencji, diagram komunikacji, diagramy czasowe, czy te» przegl dowy diagram interakcji. Notacja przegl dowych diagramów interakcji w zasadzie jest taka sama jak dla diagramów aktywno±ci plus dodatkowe dwa elemnty: wyst pienia interakcji (ang. interaction occurrence) i elementy interakcji (ang. interaction element).
Przegl dowe diagramy interakcji Wyst pienie interakcji jest referencj do istniej cych diagramów interakcji. Wyst pienie interakcji jest pokazywane jako ramka z opisem "ref" w lewym górnym rogu. Nazwa diagramu, do którego jest odwoªanie pokazana jest w ±rodku ramki.
Przegl dowe diagramy interakcji Elementy interakcji s podobne do wyst pienia interakcji w tym,»e wy±wietlaj isteniej ce diagramy interakcji wewn trz ramki. Ró»ni si tym,»e pokazuj nie odniesienie do diagramu, ale jego zawarto±.
Przegl dowe diagramy interakcji
Diagram maszyny stanowej Maszyna stanowa (ang. state machine) to zbiór stanów przyjmowanych przez obiekt w odpowiedzi na zdarzenia zachodz ce w czasie jego»ycia, a tak»e reakcje obiektu na te zdarzenia. Rodzaje maszyn stanowych: maszyny zachowania - repezentuj przej±cia mi dzy stanami wielu obiektów w szerszym kontek±cie zachowania systemu, podsystemu czy te» przypadku u»ycia. maszyny protokoªowe - reprezentuj dozwolone przej±cia pomi dzy stanami danego obiektu.
Diagram maszyny stanowej - stany I Stan (ang. state) - modeluje moment w zachowaniu obiektu, w którym pewien warunek jest prawdziwy. Stany s reprezentowane przez prostok ty z zaokr glonymi naro»nikami. Ka»dy stan ma swoj nazw. Stan mo»e by : aktywny - gdy przechodzimy do niego przy u»yciu przej±cia nieaktywny - gdy wychodzimy z niego Ze stanem mog by zwi zane akcje, wykonywane w okre±lonym momencie: entry - akcja wykonywana podczas, gdy obiekt przyjmuje dany stan; akcja taka jest wykonywana jeden raz.
Diagram maszyny stanowej - stany II do - akcja wykonywana nieprzerwanie w czasie, gdy obiekt przebywa w tym stanie. exit - akcja wykonywana podczas, gdy obiekt opuszcza dany stanu; akcja taka jest wykonywana jeden raz. event - reprezentuje akcj wykonywan w momencie nadej±cia zdarzenia okre±lonego typu. include - wywoªanie zagnie»d»onej maszyny stanu.
Diagram maszyny stanowej - stany III Stan pocz tkowy (ang. initial state) - stan, od którego zaczyna funkcjonowa maszyna stanowa. Stan pocz tkowy jest pseudostanem, gdy» nie posiada wszystkich atrybutów wªa±ciwych stanowi. Oznacza to,»e jest to element nietrwaªy, przej±ciowy, który u»ywany jest tylko do zapewnienia poª cze«pomi dzy stanami (tutaj rozpocz cia diagramu) bez wymogu akcji. Poniewa» stan pocz tkowy jest pseudostanem, przej±cie ze stanu pocz tkowego do stanu pierwszego nie mo»e zawiera zdarzenia uruchamiaj cego.
Diagram maszyny stanowej - stany IV Stan ko«cowy (ang. nal state) - stan, jaki jest przyjmowany w sytuacji zako«czenia dziaªania maszyny stanowej. Ze stanu ko«cowego nie ma przej±cia do stanu nast pnego.
Diagram maszyny stanowej - tranzycje Przej±cie (ang. transition) to zwi zek pomi dzy dwoma stanami, wskazuj cy,»e obiekt znajduj cy si w pierwszym stanie wykona pewn akcj i przejdzie do drugiego stanu ilekro znajdzie okre±lone zdarzenie i b d speªnione okre±lone warunki. Przej±cie jest niepodzielne, tzn. nie mo»na go przerwa, i trwa minimalny okres czasu. (1) (2)
Diagram maszyny stanowej - tranzycje Notacja opisu przej±cia: wyzwalacz[warunek dozoru]/akcja trigger[guard condition]action Wyzwalacz/zdarzenie uruchamiaj ce (ang. trigger) to zdarzenie, którego otrzymanie oznacza uruchomienie przej±cia pod warunkiem speªnienia warunku dozoru. Warunek dozoru (ang. guard condition) to wyra»enie logiczne, które musi by speªnione, by przej±cie mogªo by zrealizowane. Akcja jest niepodzieln procedur, która jest wykonywana podczas przej±cia. Akcja mo»e mie bezpo±redni wpªyw na obiekt, który jest wªa±cicielem maszyny stanowej.
Diagram maszyny stanowej - tranzycje
Stany zªo»one - region Stan zªo»ony (ang. composite state) - stan zawieraj cy jeden lub wi ksz liczbi regionów. Stan zªo»ony zawiera swój wªasny zestaw stanów i regionów.
Stany zªo»one - region
Stany zªo»one - region Aby utworzy region, nale»y zaznaczy stan, klikn prawym przyciskiem myszy i z menu podr cznego wybra Add Horizontal Region lub Add Vertical Region.
Stany zªo»one - region Po utworzeniu regionu w stanie zªo»onym, aby doda jeszcze jeden region, nale»y zaznaczy stan, klikn prawym przyciskiem myszy i z menu podr cznego wybra Add region
Submachine state Podmaszyna stanowa (ang. submachine state) jest maszyn stanow wstawian jako stan do innej maszyny stanowej. Ta sama maszyna stanowa mo»e by wprowadzana wi cej ni» jeden raz.
Submachine state Aby doda do maszyn stanow do stanu Submachine state nale»y zaznaczy ten stan, klikn prawym przyciskiem myszy i z menu podr cznego wybra Submachine -> Create state machine
Submachine state Po utworzeniu podmaszyny stan submachine zmienia si na: Aby zobaczy podmaszyn stanow, nale»y wyda polecenie: Submachine -> Open state machine.
Submachine state
Punkt wej±ciowy (ang. entry point) Punkt wej±ciowy (ang. entry point) to punkt wej±cia do maszyny stanowej z pomini ciem standardowego stanu pocz tkowego.
Punkt wyj±cia Pseudostan punkt wyj±cia (ang. exit point) to alternatywny punkt wyj±cia z maszyny stanowej lub stanu zªo»onego. Wej±cie do punktu wyj±cia ka»dego regioniu stanu zªo»onego lub maszyny stanowej wskazywanej przez stan typu "submachine" zakªada wyj±cie z tego stanu zªo»onego lub maszyny stanowej i odpalenie przej±cia, które ma ten punkt wyj±cia jako ¹ródªa w maszynie stanowej zawieraj c dan podmaszyn lub stan zªo»ony.
W zeª wyboru W zeª wyboru, to element umo»liwiaj cy dokonanie wyboru spo±ród kilku mo»liwo±ci. W zeª wyboru jest reprezentowany przez romb. W zeª wyboru mo»e mie jedno wej±cie dla przepªywu steruj cego i minimalnie dwa wyj±cia przepªywów.
W zeª skrzy»owanie (ang. junction) W zeª skrzy»owanie stosowany jest do ª czenia jednej lub wielu tranzycji wej±ciowych oraz ich rozdzielenie na jedn lub szereg tranzycji wyj±ciowych. W zeª skrzy»owanie realizuje statyczne rozgaª zienie warunkowe, w przeciwie«stwie do w zªa wyboru, które realizuje dynamiczne rozgaª zienie warunkowe.
W zeª zniszczenia (ang. terminate) Wej±cie do stanu zniszczenia wskazuje,»e linia»ycia danej maszyny stanu si zako«czyªa. Stan zniszczenia reprezentowany jest przez krzy».
Stan pªytkie wznowienie (ang. shallow history) Stan pªytkie wznowienie sªu»y do zapami tania ostatniego aktywnego stanu maszyny stanowej, w którym zostaªa ona przerwana. Stan pªytkie wznowienie nie przechowuje informacji o podstanach ostatniego aktywnego stanu maszyny stanowej, w którym zostaªa ona przerwana. Stan pªytkie wznowienie reprezentowany jest przez liter H w kóªeczku.
Stan pªytkie wznowienie - ródªo: www.sparxsystems.com/enterprise_architect_user_guide/10/standard_uml_models/historystate.html
Stan gª bokie wznowienie (ang. deep history) Stan gª bokie wznowienie sªu»y do zapami tania ostatniej konguracji aktywnego stanu zªo»onego. Stan gª bokie wznowienie wskazuje na ostatni aktywny stan obiektu przed wznowieniem, przechowuj c zarazem informacje o podstanach tego stanu. Stan gª bokie wznowienie reprezentowany jest przez liter H z gwiazdk w kóªeczku.
W zeª rozwidlenia i scalenia I W zeª rozwidlenia (ang. fork node) pozwala na reprezentacj wspóªbie»no±ci stanów. W zale»no±ci od sytuacji mo»e by u»yty jako linia pionowa lub pozioma. W zeª rozwidlenia stosowany jest, gdy w czasie wykonywania sekwencyjnej ±cie»ki wyst puje podzielenie ±cie»ki na równolegªe (minimum dwie) ±cie»ki, których przepªywy s wykonywane w tym samym czasie. W zeª rozwidlenia nie jest elementem synchronizuj cym, a jedynie wskazuj cym pocz tek przepªywów równolegªych. Do zsynchronizowania ±cie»ek mo»na u»y w zªa scalenia (ang. join node), którego notacja jest identyczna jak w zªa rozwidlenia.
W zeª rozwidlenia i scalenia II
Pomoce Maszyna stanowa w VP: http://www.visual-paradigm.com/vpgallery/ diagrams/state.html Zawarto± stanu w VP: http://www.visual-paradigm. com/tutorials/showdetailedstate.jsp Michaª Wolski: http://www.michalwolski.pl/ diagramy-uml/diagram-maszyny-stanowej