Diagram maszyny stanów

background image

Diagram stanów

Jeżeli system wchodzi w interakcję z
użytkownikami lub z innym systemem
wówczas tworzące go obiekty w wyniku tej
interakcji zmieniają się. Chcąc modelować
system, trzeba dysponować

mechanizmem modelowania zmian

.

Jednym ze sposobów scharakteryzowania
zmiany systemu jest stwierdzenie, że jego

obiekty zmieniają stan w odpowiedzi
na zdarzenia i interakcje

.

background image

Przykłady stanów

Kilka prostych przykładów zmian:

Po zmianie przełącznika światło zmienia swój stan z

wyłączonego na włączone (lub odwrotnie).

Po naciśnięciu przycisku na pilocie do zdalnego sterowania

telewizor zmieni stan, pokazując program innego kanału.

Po upływie odpowiedniego przedziału czasu pralka zmieni

swój stan z Prania na Płukanie.

Tego rodzaju zmiany są pokazywane na diagramie

stanów.

Diagram stanów prezentuje

stany obiektu i

przejścia między nimi od rozpoczynającego

ciąg stanu początkowego po ostatni w

kolejności stan końcowy

.

background image

Diagram stanów

Diagram stanów (state machine

diagram)

służy do

modelowania

dynamicznych

aspektów systemu

.

Diagram stanów przedstawia

maszynę

stanów.

Diagram stanów przedstawia

przepływ

sterowania między

stanami.

background image

Diagram stanów

Diagram stanów składa się z:

stanów zwykłych i złożonych

przejścia ze zdarzeniami i akcjami

Diagram stanów stosuje się do
modelowania obiektów, których
działania są najlepiej określane przez ciąg
odpowiedzi na zdarzenia wywołane w ich
otoczeniu.

background image

Diagram stanów

Diagramy stanów mogą być związane

z:

obiektami

klasami

przypadkami użycia

całymi systemami

background image

Diagram stanów

Diagram przedstawia maszynę
stanową z uwypukleniem przepływu
sterowania między stanami
.

Maszyna stanowa

to ciąg stanów

przyjmowanych przez obiekt w
odpowiedzi na zdarzenia
zachodzące w czasie jego życia
.

background image

Diagram stanów

W diagramie stanów występują następujące

symbole:

stany obiektu (state)

początek (initial)

koniec (final)

przejścia między stanami (transition)

zdarzenia (trigger)

akcje (effect)

historia (history)

rozwidlenie/złączenie (fork/join)

punkt synchronizacji (synch)

rozgałęzienie decyzyjne (decision)

background image

Stan obiektu

Stan obiektu to

sytuacja, w której

obiekt znajduje się w określonej chwili,
kiedy spełnia jakiś warunek, wykonuje
jakąś czynność lub czeka na jakieś
zdarzenie

.

background image

Stan obiektu

Stan jest kolekcją powiązań obiektu z
innymi obiektami i typami
obiektowymi
.

Stan jest kolekcją egzemplarzy
odwzorowań danego obiektu.

Stan jest kolekcją atrybutów i
związków dotyczących danego
obiektu.

background image

Stan obiektu

Przykładowy system z dwoma
stanami obiektu:

Stan jest kolekcją egzemplarzy odwzorowań danego
obiektu.

Stan jest kolekcją atrybutów i związków dotyczących
danego obiektu.

Zwyczajowo nazwę stanu piszemy z wielkiej litery w formie
rzeczowników odczasownikowych, np. Faksowanie, Wykręcanie
numeru.

background image

Stan obiektu

Stany Osoby na

podstawie tego, czy

istnieje powiązanie

pracuje w

Stany Osoby na

podstawie tego, czy

istnieje powiązanie

posiada

Stany Osoby na

podstawie daty

urodzenia i bieżącej

daty

Zatrudniony
Niezatrudniony

Nie posiadający
majątku
Właściciel

Niemowlę
Dziecko
Nastolatek
Dorosły

background image

Ikona stanu

Nazwa

Zmienne

Czynności

background image

Semestr

Sesja

koniecSemestru
[uregulowaneOpłaty]/rozpocznij
Sesję

Stany obiektu Student

background image

Podawanie szczegółów w ikonie
stanu

UML pozwala umieszczać na symbolach

informacje szczegółowe: nazwę stanu,

zmienne i czynności.

Zmienne stanu, np. liczniki i zegary,

czasami bywają przydatne.

Czynności to zdarzenia i akcje. Najczęściej

używane są trzy:

entry

(wejdź – określa, co

się dzieje przy wejściu do stanu),

exit

(wyjdź

– określa, co się dzieje przy wychodzeniu ze

stanu) i

do

(wykonaj – określa, co się dzieje,

gdy system pozostaje w danym stanie)

background image

Aparat faksowy - stany

Aparat faksowy jest przykładem obiektu, którego stan ma i

zmienne i czynności.

Gdy wysyłamy faks, tzn. aparat jest w stanie

Faksowanie

,

notuje on datę i czas rozpoczęcia wysyłania (wartości

zmiennych stanu „data” i „czas”) oraz własny numer

telefoniczny i nazwisko/nazwę właściciela (wartości

zmiennych stanu „numer telefonu” i „właściciel”).

W stanie

Faksowanie

aparat wykonuje następujące

czynności: dodawanie do faksu znacznika daty, znacznika

czasu, numeru telefonu i nazwiska (lub nazwy) właściciela.

Inne czynności to odczytywanie po kolei wszystkich

faksowanych stron, podzielenie faksu na strony i wykonanie

pełnej transmisji.

W stanie

Bezczynnym

aparat faksowy wyświetla na konsoli

datę i czas.

background image

Faksowanie

Data = Data bieżąca
Czas = Czas rozpoczęcia
faksowania Numer = Własny
numer telef. aparatu Właściciel =
Nazwisko właściciela

entry/wpiszNumerFaksuAdresat
a exit/zakończTransmisję
do/dodajZnacznikDaty
do/dodajZnacznikCzasu
do/dodajWłasnyNumerTelefonic
zny do/dodajWłaściciela
do/przeciągnijWszystkieStrony
do/podzielNaStrony

Bezczynny

Data = Data bieżąca
Czas = Czas bieżący
Numer = Własny numer telef.
aparatu Właściciel = Nazwisko
właściciela

entry/zakończFaksowanie
exit/rozpocznijFaksowanie
do/pokażDatę
do/pokażCzas

background image

Przykład - graficzny interfejs
użytkownika

GUI może znajdować się w trzech stanach:

Włączanie

Działanie

Wyłączanie

Po włączeniu PC następuje start systemu. Włączenie

jest tu zdarzeniem uruchamiającym, które powoduje

przejście w stan Wyłączanie, a start systemu jest

akcją, która zostaje podjęta w wyniku tego zdarzenia.

W rezultacie wykonania wszystkich akcji stanu

Włączanie następuje przejście w stan Działanie. Gdy

chcemy wyłączyć komputer należy doprowadzić do

zajścia zdarzenia uruchamiającego przejście w stan

Wyłączenie.

background image

Włączanie

Działani
e

Wyłączeni
e

Wyłąc
z

Stany i przejścia graficznego interfejsu
użytkownika

Na rys pokazane są: zdarzenie uruchamiające, akcje i przejścia
bez zdarzenia uruchamiającego.

Na diagramie stanów GUI zostało pominięte wiele istotnych spraw
m.in. Jeżeli pozostawimy włączony komputer lub siedzimy obok
niego bezczynnie, włącza się wygaszacz ekranu oszczędzający
monitor. Opisując to jako zmianę stanów można powiedzieć, że po
upływie określonego czasu bez żadnego uderzenia w klawisze i bez
żadnego poruszania myszą GUI przechodzi ze stanu Działanie do
stanu Oszczędzanie Monitora.

background image

Włączanie

Działani
e

Wyłączeni
e

Wyłąc
z

Stany i przejścia graficznego interfejsu
użytkownika ze stanem Oszczędzanie Monitora i
warunkiem dozoru

Czas po którym następuje wyłączenie wygaszacza ekranu jest
określany w Panelu sterowania Windows. Zwykle po 15 minutach.
Każde uderzenie w klawisz lub ruch myszą powoduje przejście
monitora w stan Działanie.

Ten 15-minutowy upływ czasu jest warunkiem dozoru – gdy zostanie
spełniony, następuje przejście z jednego stanu w drugi.

Uwaga: warunek dozoru [czasMinął] jest wyrażeniem logicznym.

Oszczędzani
e
Monitora

[czasMiną
ł]

Uderzenie klawisza lub
poruszenie myszą

background image

Podstany sekwencyjne

Oczekiwani

e na

działanie

użytkownik

a

Rejestrowani

e działania

użytkownika

Wizualizacj

a działania

użytkownik

a

Działanie

Działanie
użytkownik
a

Podstany sekwencyjne występują kolejno – jeden po drugim.
Porządkując podstany stanu Działanie GUI można wskazać
następującą listę:

Oczekiwanie na działanie użytkownika

Rejestrowanie działania użytkownika

Wizualizacja działania użytkownika

background image

Podstany współbieżne

Oczekiwani

e na

działanie

użytkownik

a

Rejestrowani

e działania

użytkownika

Wizualizacj

a działania

użytkownik

a

Działanie

Działanie
użytkownik
a

Podstany współbieżna występują równolegle w tym samym czasie.
Współbieżność przedstawiamy na diagramie za pomocą linii
przerywanej.

Śledzenie

zegara

systemowe

go

Uaktualnian

ie obrazu

[minąłWyznaczonyCzas]

background image

Stan obiektu

Złożone elementy stanu obiektu
obejmują akcje zachodzące w
konkretnym stanie.

background image

Stan obiektu

entry

– gdy obiekt przyjmie dany stan

zostanie wykonana akcja wejściowa

do

– czynność, która jest wykonywana

ciągle od zakończenia akcji wejściowej
do rozpoczęcia akcji wyjściowej

exit

– gdy obiekt opuści stan zostanie

wykonana akcja wyjściowa

background image

Początek i koniec

Początek jest rozpoczęciem diagramu
stanów. Od niego rozpoczyna się
wędrówka zdarzeń i stanów obiektu.

Koniec jest zakończeniem działań
obiektu.

background image

Podstany

Podstan (sub state/composite state) to
stany zagnieżdżone w innym stanie.

background image

Przejście między stanami

Przejście to związek między dwoma
stanami, wskazujący, że obiekt
znajdujący się w pierwszy stanie
wykona pewne akcje i przejdzie do
drugiego stanu
,
za każdym razem kiedy zajdzie
określone zdarzenie i będą spełnione
odpowiednie warunki.

background image

Przejście między stanami

Przejście między stanami zawiera:

zdarzenie uruchamiające (trigger)

warunek dozoru (guard)

akcja (effect)

background image

Przejście między stanami

Zdarzenie uruchamiające

jest

wystąpieniem bodźca

, który może

uruchomić przejście między

stanami

Warunek dozoru

to

wyrażenie logiczne

obliczane jedynie zajściu zdarzenia

Akcja

to

wykonywalna procedura

obliczeniowa

. Może to być wywołanie

operacji na obiekcie, utworzenie /
zniszczenie innego obiektu lub wysłanie

komunikatu.

background image

background image

Przejście między stanami

Przejście automatyczne

Przejście zwrotne

background image

Zdarzenie i akcja

Zdarzenie (trigger) uruchamia
przejście między stanami obiektu.

Akcja (effect) to niepodzielna czynność
przy przejściu między stanami obiektu.

background image

Historia

Stan wznowienia – bieżące
zachowanie obiektu zależy od jego
przeszłości. Definiuje zatem zbiór
poprawnych stanów, przez które obiekt
może przejść w czasie swojego życia.

Jest to punkt w którym system pamięta
swój poprzedni krok.

background image

Historia

Podstan z historią pamięta do którego
stanu przejść, jeżeli wcześniej ekstra
zdarzenie przerwało normalną drogę
przebiegu stanów obiektu.

background image

Rozwidlenie/Złączenie

Rozwidlenie (fork) rozdziela strumień
działań na dwie współbieżne drogi
postępowania.

Złączenie (join) łączy strumienie
współbieżne do jednej pojedynczej
drogi postępowania w diagramie
stanów.

background image

Rozwidlenie/Złączenie

background image

Punkt synchronizacji

Punkt
synchronizacji
wskazuje miejsce
w którym
współbieżne
strumienie
zostaną
zsynchronizowan
e.

background image

Rozgałęzienie decyzyjne

Rozgałęzienie decyzyjne opisuje ścieżki
alternatywne zachowania systemu.
Do wyboru jednej ze ścieżek
postępowania dochodzi na podstawie
wartości pewnego wyrażenie
logicznego.

background image

Diagram stanów

Diagramy stanów używa się do

specyfikowania dynamiki
poszczególnych obiektów.

Diagramy stanów ukazuje jak obiekt

zmienia stany, definiując jego
zachowanie, w czasie życia systemu.

background image

Rodzaje akcji na diagramach
stanów

Akcja

Opis

Składnia

przypisanie przypisanie wartości do

zmiennej

zmienna:= wyrażenie

wołanie

Wywołanie operacji na obiekcie

z oczekiwaniem na jej

zakończenie; operacja może

zwrócić wartość

nazwa_op (arg, …)

utwórz

nowy

utworzenie nowego obiektu

create nazwa_klasy (arg,

…)

usuń

usunięcie obiektu

destroy()

wyślij

utworzenie wystąpienia

sygnału i wysłania go do

obiektu (obiektów)

nazwa_sygnału (arg, …)

zakończ

Samodestrukcja obiektu

terminate

background image

stm złóż zamówienie

początek

Sprawdzanie

Oczekiwanie

Wysyłka

Dostarczone

/pobierz pierwsza pozycje

[wszystkie pozycje
sprawdzone i niektórych
pozycji brak w magazynie]

pobierz nastepna
pozycje [nie
wszystkie pozycje
sprawdzone]

[wszystkie pozycje sprawdzone i dostepne]

pozycja otrzymana
[wszystkie pozycje
dostepne]

dostarczone

pozycja otrzymana
[niektórych pozycji
brak w magazynie]

background image

stm Samochód

J azda do przodu na 1-

szym biegu

Samochod zatrzymany

J azda do przodu na 2-

gim biegu

J azda do tylu

wybrano następny bieg

wybrano poprzedni bieg

naciśnięto hamulec

wybrano wsteczny bieg

naciśnięto hamulec

wybrano 1-szy bieg

naciśnięto hamulec

background image

stm rejestruj pojazd

urządzenie

niesprzedane

urządzenie sprzedane

Initial

Final

kupno urządzenia przez klienta

zwrot urządzenia przez klienta

background image

stm rejestruj pojazd

Wprowadzanie hasla

+ entry / ustaw echo na gwiazdke
+ entry / zeruj haslo
+ exit / ustaw normalne echo
+ do / obsluz znak(do)
+ do / zeruj znak
+ do / wyswietl pomoc

background image

Diagram stanów

background image

Diagram stanów - Ćwiczenie

Stwórz diagram maszyny stanów dla
dowolnego obiektu z diagramu
obiektów.


Document Outline


Wyszukiwarka

Podobne podstrony:
W14 Diagram maszyny stanów
Diagram maszyny stanowej id 135 Nieznany
9(45) Diagram maszyny stanów
Diagram maszyny stanowej
05 Diagram maszyny stanowej
METODY ERGONOMICZNEJ OCENY MASZYN I STANOWISK PRACY
Opis zawodu Maszynista maszyn introligatorskich, Opis-stanowiska-pracy-DOC
Opis zawodu Maszynista maszyn dźwigowych, Opis-stanowiska-pracy-DOC
7 Diagram stanów
Opis zawodu Operator maszyn do prod. gumy, Opis-stanowiska-pracy-DOC
Opis zawodu Operator maszyn do tektury, Opis-stanowiska-pracy-DOC
Identyfikacja zagrożeń na stanowisku formowania i zalewania ręcznego oraz formowania maszynowego (2
instrukcja bhp na stanowisku maszynisty lokomotywy na torach bocznicowych zakladu
instrukcja bhp na stanowisku maszynista lokomotywy spalinowej w transporcie szynowym na terenie zakl
diagram stanow2
Opis zawodu Operator samojezdnych maszyn rolniczych i leśnych, Opis-stanowiska-pracy-DOC
Instrukcja bhp na stanowisku pracownika obsługującego maszynę szwalniczą

więcej podobnych podstron