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