Modelowanie aktywności Jarosław Kuchta Programowanie Współbieżne Modelowanie aktywności
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
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
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
Elementy diagramu stanów sygnatura przejścia (zdarzenie) przejście stanów Włącz ● Wyłączone Włączone stan początkowy Zamknij stan Wyłącz ◉ stan końcowy Modelowanie aktywności
Modelowanie aktywności Opis przejścia sygnatura zdarzenia [warunek strzegący] / wyrażenie akcji Modelowanie aktywności
Modelowanie aktywności Rodzaje zdarzeń Zdarzenie wywołania Zdarzenie sygnałowe Zdarzenie zmiany Zdarzenie czasowe Modelowanie aktywności
Zdarzenie wywołania Zdarzenie polegające na wywołaniu operacji nazwa operacji (lista parametrów) Modelowanie aktywności
Modelowanie aktywności Zdarzenie sygnałowe «signal» Mouse pos: Point «signal» «signal» «signal» «signal» MouseDown MouseUp MouseMove MouseRoll btn: Button btn: Button dist: Point Modelowanie aktywności
Zdarzenie zmiany oznacza wystąpienie sytuacji, w której warunek zostaje spełniony when wyrażenie logiczne Modelowanie aktywności
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
Modelowanie aktywności 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
Modelowanie aktywności 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
Modelowanie aktywności Przykład przejścia MouseDown (btn, loc) [loc in Window] / object := Window.FindObject (loc); object.Select () Modelowanie aktywności
Akcje wejściowe i wyjściowe entry/ akcja wejściowa exit/ akcja wyjściowa do/ aktywność include/ wewnętrzna maszyna stanów zdarzenie/ akcja wewnętrzna Transakcja entry/ połącz z bazą danych exit/ rozłącz z bazą danych do/ przekazuj dane stan/ podaj stan Modelowanie aktywności
Modelowanie aktywności Stany złożone podstany rozłączne (sekwencyjne) podstany równoległe Modelowanie aktywności
Modelowanie aktywności Podstany rozłączne Wybieranie numeru Numer kierunkowy Numer błędny Cyfra (n) [n=0] Oczekiwanie ● ◉ entry / Akceptuj Cyfrę (n) do / Sprawdź numer Cyfra (n)/ Akceptuj Cyfrę (n) Błąd entry / Włącz sygnał błędu exit / Wyłącz sygnał błędu entry / Włącz sygnał centrali exit / Wyłącz sygnał centrali Cyfra (n) [n≠0] Numer kompletny Błąd Numer lokalny Błąd Numer zdalny 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
Modelowanie aktywności Stany równoległe Diagnostyka Diagnostyka w toku ● ◉ Diagnostyka Układu1 Pass Diagnostyka Układu2 Pass ● Passed Fail Fail ● ◉ Diagnostyka Układu3 Pass Diagnostyka Układu4 Pass Failed Fail Fail Modelowanie aktywności
Synchronizacja stanów równoległych Stan A1 Stan A2 Inicjalizacja Finalizacja Stan B1 Stan B2 belka synchronizacji Modelowanie aktywności
Modelowanie aktywności 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
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
Aktywności równoległe Obiekt 1 Obiekt 2 Obiekt 3 Inicjalizacja Aktywność A1 Aktywność B1 Aktywność C1 Aktywność A2 Aktywność C2 Finalizacja "tory pływackie" Modelowanie aktywności
Modelowanie aktywności 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