Io-6-wyk-Slajd20

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Stany złożone

Stany złożone


Dotychczas była mowa o stanach prostych. Są one niepodzielne – znalezienie się obiektu w takim stanie ma zawsze taki sam efekt i pomija ewentualne zmieniające się zewnętrzne okoliczności.

W niektórych sytuacjach wewnątrz stanu można jednakże wyróżnić podstany. Innymi słowy, wewnątrz stanu znajduje się inny diagram stanu.

Diagram podstanów jest przetwarzany w sposób zbliżony do zwykłego diagramu stanu. Jednak w ogólnym przypadku stan złożony dopuszcza także istnienie podstanów współbieżnych, co oznacza, że obiekt znajdując się w jednym stanie jednocześnie znajduje się w kilku podstanach. Wówczas podstany równoległe tworzą niezależne regiony wewnątrz stanu zewnętrznego, w których przejścia następują niezależnie od siebie.

Wejście do stanu powoduje także wejście wszystkich podstanów początkowych we wszystkich regionach. Następnie przejścia są realizowane równolegle i niezależnie we wszystkich regionach, aż do podstanów końcowych. Przejście do stanu końcowego we wszystkich regionach powoduje uruchomienie zdarzenia zakończenia stanu i skojarzonych z nim wyzwalaczy.

Przykład dotyczy stanu Otwarta, reprezentującego otwarty stan Rezerwacji książek. Rezerwacja może objąć do 4 książek jednocześnie. Stan Rezerwacji pozostaje otwarty w trakcie dodawania kolejnych książek, jednak wyróżniono w nim podstany: Wyszukanie informacji o książce, Weryfikację, czy danej książki już wcześniej nie zarezerwowano oraz Aktualizację danych Rezerwacji. Wszystkie podstany prowadzą do opuszczenia stanu przez Rezerwację, co jest związane np. z próbą dodania do niej nowej książki.


<< Poprzedni slajd | Spis treści | Następny slajd >>