9(45) Diagram maszyny stanów

background image

1

Diagram maszyny stanów

Diagram maszyny stanów

background image

2

Plan wykładu

• Podstawowe określenia
• Stan złożony sekwencyjny
• Stan złożony współbieżny
• Sygnał, przejście, czynność
• Przykłady diagramów stanu

background image

3

Podstawowe określenia

background image

4

Klasyfikacja diagramów UML 2.0

1. Diagramy struktury
• Diagram klas (class diagram)
• Diagram komponentów (component diagram)
• Diagram struktur złożonych, diagram składowych, (composite

structure diagram)

• Diagram wdrożenia (deployment diagram)
• Diagram obiektów (object diagram)
• Diagram pakietów (package diagram)
2. Diagramy zachowania

• Diagram czynności (activity diagram)
• Diagram przypadków użycia (use case diagram)

Diagram maszyny stanów (state machine diagram)

• Diagramy interakcji
- Diagram sekwencji (sequence diagram
- Diagram komunikacji (communication diagram)
- Diagram przeglądu interakcji; diagram opisu interakcji

(interaction overview diagram)

- Diagram czasowy,diagram następstwa (timing diagram)

background image

5

Maszyny stanowe -

podstawowe pojęcia

Stan

- okoliczność lub sytuacja, w jakiej

obiekt się znajduje, kiedy spełnia jakiś
warunek, wykonuje jakąś czynność lub
czeka na jakieś zdarzenie
; zwykle obiekt
pozostaje w pewnym stanie przez skończony
czas.

Maszyna stanowa

- określa ciąg

stanów przyjmowanych przez obiekt w
odpowiedzi na zdarzenia zachodzące w
czasie jego życia, a także reakcje obiektu
na te zdarzenia
; bardzo przydatne, gdy
bieżące zachowanie obiektu zależy od jego
przeszłości

background image

6

Diagram maszyny stanów

Diagram maszyny stanów

 stan obiektu trwa w czasie aż do
momentu zajścia zdarzenia
, które
spowoduje zmianę aktualnego stanu na
inny;
 stan może mieć nazwę, ale często
jest charakteryzowany jedynie poprzez
wewnętrzne operacje;

background image

7

Diagramy stanów

• Są

grafami

stanów i przejść między nimi

Opisują reakcje

obiektu na otrzymane

komunikaty i zdarzenia zewnętrzne

Modelują

zachowanie obiektów danej

klasy w oderwaniu od reszty systemu

– Wszystkie obiekty danej klasy

znajdujące się w tym samym stanie
reagują w jednakowy sposób na
otrzymanie tego samego komunikatu lub
zdarzenia

background image

8

Diagramy stanów

Zawierają

:

stany zwykłe(proste) i złożone
przejścia ze zdarzeniami i akcjami

•Najczęściej wykorzystywane

do modelowania

obiektów reaktywnych

(sterowanych zdarzeniami -

ang. event-driven)

zachowanie

obiektów reaktywnych jest najlepiej

charakteryzowane przez ciąg odpowiedzi na zdarzenia
wywołane w jego otoczeniu, przy czym obiekt taki jest zwykle
bezczynny do chwili zajścia zdarzenia

reakcja

na konkretne zdarzenie najczęściej zależy od

wcześniejszych zdarzeń

Nacisk

kładziony jest na stany stabline, zdarzenia

uruchamiające przejścia i akcje wykonywane po każdej
zmianie stanu

background image

9

Składniki stanów

Nazwa

stanu- odróżnia poszczególne stany (nie

może zawierać dwukropka); może też być stan
bez nazwy – anonimowy.
Nazwę stanu podaje się w

formie rzeczownika

lub wyrażenia rzeczownikowego
pochodzącego ze słownictwa modelowanego
systemu.

Przejścia

wewnętrzne

- realizowane bez

zmiany stanów

background image

10

Diagramy maszyny stanów w
UML

stan jest reprezentowany przez

prostokąt z

zaokrąglonymi rogami

przejście z jednego stanu w inny jest

oznaczone
przez

linię ciągłą z grotem strzałki

Stany mogą mieć podstany:

sekwencyjne

(jeden następuje po drugim),

współbieżne

(pojawiające się w tym

samym czasie).

background image

11

Rodzaje stanów

Prosty

(zwykły) -

nie posiada
wewnętrznej struktury

Finalny

- pseudostan

oznaczający punkt

końcowy

Początkowy

-

pseudostan oznaczający

punkt startowy -

miejsce rozpoczęcia

działania maszyny

stanowej lub podstanu

background image

12

Rodzaje stanów

Złożony
sekwencyjny

- złożony

z jednego lub więcej
podstanów, z których
tylko jeden jest
aktywny, gdy aktywny
jest stan złożony

Złożony współbieżny

-

podzielony na dwa lub

więcej współbieżnych

podstanów; wszystkie

podstany są

jednocześnie aktywne,

gdy aktywny jest stan

złożony (jako całość)

background image

13

Stan złożony

sekwencyjny

background image

14

STAN ZŁOŻONY SEKWENCYJNIE

STAN ZŁOŻONY SEKWENCYJNIE

 każdy z podstanów dziedziczy przejścia
nadstanu;
 tylko jeden z podstanów może być aktywny
w danym momencie.

background image

15

Maszyna stanów dla klasy Samochód

zbudowana w oparciu o stany proste

background image

16

Maszyna stanów dla klasy Samochód

ze stanem złożonym sekwencyjnym w

notacji UML

background image

17

Stan złożony

współbieżny

background image

18

Podstany współbieżne

•Umożliwiają tworzenie dwu lub więcej maszyn
stanowych,

działających

równolegle

w ramach

jednego obiektu

•Czynności podstanów współbieżnych przebiegają
równolegle i ostatecznie każda z nich osiąga swój
stan końcowy;

jeżeli jeden dotrze do swego stanu

końca wcześniej to czeka na pozostałe

i dopiero

wtedy następuje połączenie przepływu sterowania

•Zagnieżdzona współbieżna maszyna

stanowa nie

ma jako całość

ani stanu początkowego ani

końcowego

; natomist mogą je mieć składowe

podstany sekwencyjne

background image

19

Współbieżność w ramach

jednego obiektu

background image

20

STAN ZŁOŻONY WSPÓŁBIEŻNIE

STAN ZŁOŻONY WSPÓŁBIEŻNIE

rodzajem stanów złożonych są stany składające się ze
współbieżnych podstanów;

synchronizacja wewnętrzna

:

synchronizacja
zewnętrzna

:

Wyjście ze stanu - w
typowej sytuacji - następuje
wtedy, gdy we wszystkich
podstanach został
osiągnięty ich stan
końcowy

Oba diagramy

równoważne

background image

21

Współbieżność w ramach obiektu

zagregowanego

Diagram dla obiektu

całość

” budowany jest

w oparciu o diagramy
stanów

dla obiektów

składowych

.

Maszyny stanów dla
obiektów klas

Zapłon,

Biegi,, Hamulec i Gaz

determinują zmiany
stanu dla
zagregowanego obiektu
klasy Samochód

background image

22

Sygnał, przejście, czynność

background image

23

stan1

stan2

zdarzenie[ warunek ] / akcja

PRZEJŚCIA

PRZEJŚCIA

przejście zewnętrzne

stan

zdarzenie[ warunek ] / akcja

samoprzejście

przejście wewnętrzne

zdarzenie [warunek] /
akcja

stan1

stan2

[ warunek ] / akcja

przejście automatyczne (wszystkie
operacje wyspecyfikowane po
słowach kluczowych ‘entry’, ‘exit’ i
‘do’ zostały ukończone)

background image

24

Składniki przejść

Akcja

- wykonywalna niepodzielna procedura

obliczeniowa, która może mieć bezpośredni wpływ
na obiekt będący właścicielem maszyny stanowej i
pośredni wpływ na inne obiekty znajdujące się w
jego zasięgu

•może to być wywołanie operacji (obiektu lub innych
dostępnych obiektów), utworzenie lub zniszczenie
obiektu oraz wysłanie sygnału
do obiektu
nie może być przerwana przez zdarzenie - zawsze
jest wykonywana w całość

Stan docelowy

- stan obiektu po zakończeniu

przejścia

background image

25

Elementy diagramów stanów 1/2

Stany

mogą mieć nazwy i być definiowane na

trzy sposoby

Wartość

atrybutów obiektów

Czas, gdy obiekt oczekuje

na nadejście

jakiegoś zdarzenia

Czas, w którym obiekt wykonuje

jakieś

czynności

background image

26

Elementy diagramów stanów 2/2

Przejścia

– wskazują, że obiekt przejdzie z jednego

stanu do drugiego, ilekroć zajdzie określone

zdarzenie i będą spełnione warunki

entry/akcja

– oznacza wykonanie akcji podczas

wejścia do stanu

exit/akcja

– oznacza wykonanie akcji podczas

wyjścia ze stanu

do-

służy do wskazania prac wykonywanych w

danym stanie od chwili zakończenia akcji

wejściowej (może to być uruchomienie innej

maszyny stanowej lub ciąg akcji, rozdzielonych

średnikami)

Przejście zewnętrzne – wykonanie akcji exit zmiana

stanu i wykonanie akcji enter

Przejście wewnętrzne – wykonanie akcji exit i entry

bez zmiany stanu

background image

27

Diagram maszyny stanów

Diagram maszyny stanów

stan

nazwa stanu

entry/ akcja1/akcja2/...
exit/ akcja1/akcja2/...
do/ czynnosc

entry

– każda akcja stowarzyszona ze zdarzeniem

entry jest wykonywana przy każdym wejściu do
stanu

exit

- akcja stowarzyszona ze zdarzeniem exit jest

wykonywana przy każdym wyjściu ze stanu

do/czynność

– wykonanie czynności w trakcie,

wskazanej za pomocą etykiety

background image

28

Rodzaje zdarzeń

 otrzymanie przez obiekt synchronicznego

żądania wykonania operacji –

podstawowe

;

 wygenerowane po upływie pewnego czasu,

oznaczane słowem kluczowym ‘

after

’;

 wygenerowane po spełnieniu pewnego

warunku, oznaczane słowem kluczowym

when

’;

 otrzymania przez obiekt asynchronicznego

żądania wykonania operacji –

sygnał

;

background image

29

Złożone elementy stanów i przejść

Zdarzenia odroczone

- lista zdarzeń,

których zajście w stanie jest odroczone do
czasu, aż stan, w którym nie są odroczone,
uaktywni się - dopiero wtedy te zdarzenia
powodują przejścia, jakby właśnie zaszły;
zdarzenia takie oznacza się specjalnym
rodzajem akcji „

defer

”.

background image

30

Złożone elementy stanów i

przejść

background image

31

Przykłady diagramów

stanu

background image

32

Ilustracja odwołania do innego stanu

background image

33

Diagram stanów typu "historia życia obiektu" dla

klasy Urządzenie

background image

34

Diagramy maszyny stanów

logowania się do sieciowego systemu bankowego

background image

35

Przykład obiektu klasy ”Konto Bankowe”

background image

36

Diagramy maszyny stanów

background image

37

Literatura

Literatura

 G.Booch, J.Rumbaugh, I.Jacobson – „UML
przewodnik użytkownika”,
 J.Schmuller– „UML dla każdego”,


Document Outline


Wyszukiwarka

Podobne podstrony:
W14 Diagram maszyny stanów
Diagram maszyny stanowej id 135 Nieznany
Diagram maszyny stanów
Diagram maszyny stanowej
05 Diagram maszyny stanowej
8(45) Diagramy klas cz2
7(45) Diagramy klas wprowadzenie
11(45) Diagram interakcji cz2id 12714 ppt
10(45) Diagramy interakcjiL cz1id 11241 ppt
5(45) Diagramy przypadków użycia
12(45) Diagram struktury cz1
METODY ERGONOMICZNEJ OCENY MASZYN I STANOWISK PRACY
6(45) Diagram czynności
45 Stany i monarchia stanowa
8(45) Diagramy klas cz2
7(45) Diagramy klas wprowadzenie
11(45) Diagram interakcji cz2id 12714 ppt
10(45) Diagramy interakcjiL cz1id 11241 ppt

więcej podobnych podstron