Modelowanie aktywności Jarosław Kuchta Programowanie Współbieżne
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 stan Wyłącz stan końcowy Zamknij 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» MouseDown «signal» MouseUp «signal» MouseMove «signal» MouseRoll btn: Button btn: Button dist: Point Modelowanie aktywności 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 Oczekiwanie entry / Włącz sygnał centrali exit / Wyłącz sygnał centrali Cyfra (n) [n=0] Numer kierunkowy entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) Błąd Numer błędny entry / Włącz sygnał błędu exit / Wyłącz sygnał błędu Cyfra (n) [n 0] Numer kompletny Numer lokalny Błąd Numer zdalny Błąd entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) 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 Pass Diagnostyka Układu1 Układu2 Fail Fail Diagnostyka Pass Diagnostyka Układu3 Układu4 Fail Fail Pass Pass Failed Passed 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 Wprowadzanie PIN u [operacja = Zakończ] Wybór operacji [operacja = Podaj saldo] [operacja = Wypłać] Wprowadzenie kwoty Podanie salda 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ść A2 Aktywność C2 "tory pływackie" Finalizacja 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