Diagramy czasowe - harmonogramowanie interakcji

Analizowane i projektowane interakcje w systemie realizowane są w określonym czasie. Spełnienie kryterium czasu przez interakcję jest ważnym czynnikiem oceny tych systemów - zwłaszcza systemów wbudowanych i systemów czasu rzeczywistego. Wychodząc naprzeciw tym oczekiwaniom, zaproponowano diagramy harmonogramowania.

Diagram harmonogramowania jest rodzajem diagramu interakcji, reprezentującym na osi czasu zmiany dopuszczalnych stanów, jakie może przyjmować instancja klasyfikatora uczestnicząca w interakcji.

Diagramy te stosuje się w celu sporządzenia harmonogramów interakcji, a więc specyfikacji interakcji instancji klasyfikatorów w aspekcie zmian czasu trwania ich stanów. Punktem wyjścia tych diagramów są podstawowe kategorie diagramów sekwencji oraz maszyn stanowych. Terminowa realizacja interakcji wymaga niekiedy wielkiej dokładności czasowej. W związku z tym na diagramach harmonogramowania można przedstawiać kolejność występowania stanów instancji klasyfikatorów oraz czas ich trwania. Wprowadzenie diagramów harmonogramowania w UML 2.0 jest istotną zmianą w stosunku do poprzednich wersji. Ich tworzenie i użytkowanie jest szczególnie zalecane w systemach o rozbudowanej dynamice.

Diagramy harmonogramowania dokumentują aspekt czasu interakcji. Stąd w diagramie harmonogramowania na osi poziomej zaznacza się skalę czasu w postaci ustalonych odcinków. Natomiast na osi pionowej przedstawia się poszczególne instancje klasyfikatorów biorące udział w interakcji, a przy każdej z nich jej stany. Z zasady diagramy harmonogramowania tworzy się po opracowaniu diagramów sekwencji lub komunikacji.

Kategorie pojęciowe


W podstawowej postaci diagramu harmonogramowania ilustrowane są jego podstawowe kategorie pojęciowe:

  • klasyfikator,
  • nazwa stanu,
  • linia zmiany stanów instancji klasyfikatora.

Lista możliwych stanów jest specyficzna dla każdej instancji klasyfikatora, jednak można wyróżnić kilka typowych stanów (ang. states), takich jak:

  • bezczynność,
  • czuwanie,
  • oczekiwanie,
  • wykonywanie,
  • obliczanie.

Linia zmiany stanów (ang. timeline) może przedstawiać stany instancji klasyfikatora lub określonej, mierzalnej zmiennej

Zaawansowane składniki diagramu

Zaawansowane kategorie:

  • zdarzenia,
  • ograniczenia czasowe,
  • alternatywne sposoby prezentacji stanów,
  • harmonizacja linii zmiany stanów dla kilku instancji klasyfikatorów biorących udział w interakcji,
  • przesyłanie komunikatów.

Zdarzenia i ograniczenia czasowe


Załamanie linii zmiany stanów instancji klasyfikatora oznacza wystąpienie zdarzenia powodującego zainicjowanie nowego stanu tej instancji. Sprecyzowano na nim stany instancji klasyfikatora Rezerwacja i czas ich trwania poprzez określenie ograniczeń czasowych (ang. constraints) w odniesieniu do stanów:

  • potwierdzanie - {<30 min},
  • sporządzanie - {30 min +/- 15 min},
  • opłacanie - {<=1 godzina}.

Alternatywne sposoby prezentacji stanów

Poza podstawową formą prezentacji diagramów harmonogramowania istnieje alternatywna konwencja ich dokumentowania. Obie notacje mogą być stosowane zamiennie i wzajemnie przekształcane.

Przesyłanie komunikatów

Diagramy harmonogramowania można wzbogacić o dokumentowanie interakcji w postaci komunikatów przesyłanych między instancjami klasyfikatorów. Źródłem tej informacji są odpowiednie diagramy sekwencji lub komunikacji.

Proces tworzenia diagramu harmonogramowania

Informacje przedstawiane na diagramach harmonogramowania są w znacznej mierze pochodną kategorii pojęciowych diagramów sekwencji, komunikacji oraz diagramów maszyny stanowej. Stąd w procesie tworzenia diagramów harmonogramowania wykorzystywane mogą być inne diagramy języka UML. Kluczowymi etapami tego procesu są:

  1. identyfikacja interakcji udokumentowanej diagramem sekwencji lub diagramem komunikacji,
  2. przeniesienie lub dobór klasyfikatorów,
  3. identyfikacja stanów każdej instancji klasyfikatora z wykorzystaniem diagramów maszyny stanowej,
  4. ustalenie horyzontu czasowego diagramu,
  5. wyspecyfikowanie linii zmiany stanu instancji klasyfikatorów,
  6. wprowadzenie ograniczeń czasowych dla poszczególnych stanów instancji klasyfikatora,
  7. nazwanie i wprowadzenie odpowiednich zdarzeń na podstawie diagramów maszyny stanowej,
  8. harmonizacja linii zmiany stanu wszystkich instancji klasyfikatorów interakcji prezentowanych na diagramie,
  9. przeniesienie lub wprowadzenie komunikatów przesyłanych pomiędzy instancjami klasyfikatorów uczestniczącymi w interakcji.

Ze względu na wykorzystywanie w procesie tworzenia diagramów harmonogramowania szeregu kategorii pojęciowych innych diagramów, bardzo istotne jest zachowywanie spójności pomiędzy nimi. Proces tworzenia diagramów harmonogramowania podlega regułom iteracyjno-przyrostowego cyklu życia systemu.

Zobacz przykład Zobacz przykład

Przykład diagramu czasowego - Aukcja internetowa



Diagram czasowy