Diagramy stanów i diagramy aktywności
Download
Report
Transcript Diagramy stanów i diagramy aktywności
Jarosław Kuchta
Programowanie Współbieżne
Modelowanie
aktywności
[email protected]
[email protected]
Pojęcia podstawowe (1/3)
behawioryzm – ogół zachowania obiektów,
reakcje obiektów na zdarzenia.
stan – sytuacja w czasie życia obiektu, w którym
spełniony jest pewien warunek, wykonywana jest
pewna aktywność lub obiekt czeka na pewne
zdarzenie.
Modelowanie aktywności
2
Pojęcia podstawowe (2/3)
akcja – wykonanie operacji w niepodzielnym na
danym poziomie abstrakcji momencie czasu.
aktywność – wykonywanie operacji przez
obiekt w czasie, gdy znajduje się on w
określonym stanie. Zakończenie aktywności jest
wyznaczane przez zdarzenie zewnętrzne
względem danej aktywności lub wewnętrzne.
Modelowanie aktywności
3
Pojęcia podstawowe (3/3)
przejście stanów – zmiana stanu wywołana
określonym zdarzeniem, uzależniona od
warunku strzegącego, powiązana z wykonywaną
podczas przejścia akcją.
maszyna stanów – abstrakcyjna maszyna
reprezentowana przez zbiór stanów, przez które
obiekt przechodzi w czasie, powiązanych
przejściami stanów. Prezentowana przez diagram
przejść stanów.
Modelowanie aktywności
4
Elementy diagramu stanów
sygnatura przejścia (zdarzenie)
przejście stanów
Włącz
●
stan
początkowy
Wyłączone
Włączone
Zamknij
stan
Wyłącz
◉
stan
końcowy
Modelowanie aktywności
5
Opis przejścia
sygnatura zdarzenia [warunek strzegący]
/ wyrażenie akcji
Modelowanie aktywności
6
Rodzaje zdarzeń
Zdarzenie wywołania
Zdarzenie sygnałowe
Zdarzenie zmiany
Zdarzenie czasowe
Modelowanie aktywności
7
Zdarzenie wywołania
Zdarzenie polegające na wywołaniu operacji
nazwa operacji (lista parametrów)
Modelowanie aktywności
8
Zdarzenie sygnałowe
«signal»
Mouse
pos: Point
«signal»
«signal»
«signal»
«signal»
MouseDown
MouseUp
MouseMove
MouseRoll
btn: Button
btn: Button
Modelowanie aktywności
dist: Point
9
Zdarzenie zmiany
oznacza wystąpienie sytuacji, w której warunek
zostaje spełniony
when wyrażenie logiczne
Modelowanie aktywności
10
Zdarzenie czasowe
upłynięcie określonego czasu od określonego
innego zdarzenia (najczęściej momentu wejścia
w dany stan):
after wyrażenie czasowe
wystąpienie określonego czasu:
when wyrażenie czasowe
Modelowanie aktywności
11
Wyrażenie strzegące
wyrażenie logiczne, w którym występują:
parametry zdarzenia wyzwalającego
atrybuty i powiązania obiektu – właściciela maszyny
stanów
może występować test stanu (in nazwa stanu)
wyrażenie strzegące jest sprawdzane po
wystąpieniu zdarzenia, a przed „odpaleniem”
(firing) przejścia
Modelowanie aktywności
12
Wyrażenie akcji
Ciąg operacji oddzielonych średnikami
Operacje są wykonywane sekwencyjnie.
Rozpoczęcie następnej po zakończeniu
poprzedniej.
Mogą występować parametry zdarzenia.
Modelowanie aktywności
13
Przykład przejścia
MouseDown (btn, loc) [loc in Window]
/ object := Window.FindObject (loc); object.Select ()
Modelowanie aktywności
14
Akcje wejściowe i wyjściowe
Transakcja
entry/ połącz z bazą danych
exit/ rozłącz z bazą danych
do/ przekazuj dane
stan/ podaj stan
entry/ akcja wejściowa
exit/ akcja wyjściowa
do/ aktywność
include/ wewnętrzna maszyna
stanów
zdarzenie/ akcja wewnętrzna
Modelowanie aktywności
15
Stany złożone
podstany rozłączne (sekwencyjne)
podstany równoległe
Modelowanie aktywności
16
Podstany rozłączne
Wybieranie numeru
Numer kierunkowy
●
Oczekiwanie
Cyfra (n)
[n=0]
entry / Włącz sygnał centrali
exit / Wyłącz sygnał centrali
Błąd
entry / Włącz sygnał błędu
exit / Wyłącz sygnał błędu
◉
Numer kompletny
Cyfra (n) [n≠0]
Numer lokalny
entry / Akceptuj Cyfrę (n)
do / Sprawdź numer
Cyfra (n)/ Akceptuj Cyfrę (n)
Numer błędny
Błąd
entry / Akceptuj Cyfrę (n)
do / Sprawdź numer
Cyfra (n)/ Akceptuj Cyfrę (n)
Błąd
Numer zdalny
entry / Akceptuj Cyfrę (n)
do / Sprawdź numer
Cyfra (n)/ Akceptuj Cyfrę (n)
Numer kompletny
Numer kompletny
◉
Modelowanie aktywności
17
Stany równoległe
Diagnostyka
Diagnostyka w toku
●
●
Diagnostyka
Układu1
Pass
Fail
●
Diagnostyka
Układu3
Fail
◉
Diagnostyka Pass
Układu2
Fail
Pass
◉
Diagnostyka Pass
Układu4
Passed
Failed
Fail
Modelowanie aktywności
18
Synchronizacja stanów
równoległych
Stan A1
Stan A2
Inicjalizacja
Finalizacja
Stan B1
Stan B2
belka synchronizacji
Modelowanie aktywności
19
Diagramy aktywności
Specjalna postać diagramu stanów, w którym:
stany reprezentują wykonanie akcji lub
podaktywności
przejścia stanów są wyzwalane przez zakończenie
akcji lub podaktywności
Modelowanie aktywności
20
Przykład diagramu aktywności
[operacja = Podaj saldo]
●
Wprowadzanie
PIN’u
Wybór
operacji
Podanie
salda
[operacja = Wypłać]
[operacja = Zakończ]
◉
Wprowadzenie
kwoty
Sprawdzenie
salda
Czy saldo wystarczające?
[nie]
[tak]
Odliczanie kwoty
Drukowanie
potwierdzenia
Odbiór kwoty
Modelowanie aktywności
21
Aktywności równoległe
Obiekt 1
Obiekt 2
Obiekt 3
Inicjalizacja
Aktywność A1
Aktywność B1
Aktywność C1
Aktywność C2
Aktywność A2
Finalizacja
"tory pływackie"
Modelowanie aktywności
22
Literatura
Booch G, Rumbaugh J, Jacobson I: UML.
Przewodnik użytkownika, WNT, Warszawa 2002
Dennis A., Haley Wixom B., Tegarden D.: System
Analysis & Design. An Object-Oriented Approach
with UML, John Wiley & Sons, Inc., USA 2001
Modelowanie aktywności
23