INSTRUKCJA LABORATORIUM Modelowanie systemów SysML Tworzenie diagramu kontekstowego i bloków wewnętrznych SysML003
Tworzenie diagramu kontekstowego Diagramy kontekstowe pokazują kontekst systemu, czyli system w jego środowisku. Rozpoczniemy od bardzo prostego kontekstu, który będzie rozwijany w miarę postępów naszych prac. W SysML diagram kontekstowy realizowany jest za pomocą diagramu definiowania bloków (bdd). Dodawania aktorów i bloków Poprzednio utworzyliśmy diagram definiowania bloków w pakiecie Kontekst modelu zabawkowej katapulty. Na diagramie znajduje się jak na razie tylko jeden aktor - Budowniczy. Otwieramy ten diagram do edycji (Rysunek 1). Rysunek 1: Diagram definiowania bloków z poprzednich zajęć Dodajemy do diagramu elementy aktorów (Rodzic i Dziecko) i bloków (Kontekst zabawki, System zabawkowej katapulty i Pocisk) - efekt pokazuje Rysunek 2. Rysunek 2: Nowe elementy kontekstu systemu W celu oddania na diagramie zależności między elementami kontekstu systemu na diagramie definiowania bloków, z palety Connection przybornika edytora wybieramy kompozycję Rysunek 3: Wybór kompozycji z przybornika edytora Str 2/9
(Association (Composite)) - Rysunek 3. Tworzymy kompozycji między blokiem Kontekst zabawki a pozostałymi elementami (Rysunek 4) klikając najpierw na elemencie nadrzędnym (blok Kontekst zabawki), potem podrzędnym. Przytrzymanie Ctrl przy wyborze rodzaju połączenia i tworzeniu połączeń na diagramie utrzyma zaznaczenie w przyborniku. Inaczej za każdym razem trzeba będzie wybierać Association (Composite). Na koniec wybieramy z przybornika Select (lub wciskamy Esc), żeby zwolnić wybrane połączenie. Rysunek 4: Kompozycje na diagramie kontekstowym Czytelność diagramu w bieżącej formie jest wątpliwa, więc w następnych krokach spróbujemy ją poprawić. Formatowanie asocjacji Zaznaczmy wszystkie asocjacje (trzymając Ctrl lub przez opcję Select z menu kontekstowego diagramu) - Rysunek 5. Rysunek 5: Wszystkie asocjacje zaznaczone na diagramie W palecie właściwości w zakładce Graphics zmieniamy typ łącznika (Router) z pochyłego (Oblique) na prosty (Rectilinear) - Rysunek 6. Rysunek 6: Zmiana typu łącznika asocjacji Str 3/9
Proszę zauważyć, że proste opcje graficzne (np. tym łącznika) dostępne są również w menu kontekstowym elementów diagramu w pod-menu Graphics Properties. Następnie wybieramy wszystkie widoczne elementy asocjacji i przenosimy je do listy elementów ukrytych po prawej (Rysunek 7). Rysunek 7: Ukrywanie elementów Diagram wygląda już nieco czytelniej, zależnie od różnic w ułożeniu elementów na przykład tak jak pokazuje Rysunek 8. bdd [package] Kontekst [Kontekst] ^ Rysunek 8: Diagram na bieżącym etapie edycji Przeciągając myszą odpowiednie elementy połączeń (ewentualnie także same elementy diagramu), staramy się uzyskać jak najlepszą formę prezentacji (zalecaną pokazuje Rysunek 9). Rysunek 9: Ostateczny układ diagramu Jeżeli nie udaje nam się odpowiednio zmodyfikować łącznika, być może pomoże jawna zmiana jego typu na łamany (Forest). Diagram należy rozumieć w następujący sposób: Kontekst zabawki składa się z trzech aktorów (Budowniczy, Rodzic i Dziecko) oraz dwóch bloków (System zabawkowej katapulty i Pocisk). Str 4/9
Zobaczmy też, jak wygląda nasz rozrastający się model (Rysunek 10). Rysunek 10: Struktura modelu z elementami kontekstu Aktorzy, bloki i asocjacje, które stworzyliśmy są elementami modelu w pakiecie Kontekst. Diagram jest oddzielny (względem modelu), jednak jest pokazany jako dziecko pakietu Kontekst. Nazwy asocjacji zostały automatycznie wygenerowane w momencie ich utworzenia zgodnie z ustaloną konwencją (możliwa do zmiany w opcjach). Jeżeli chcemy się nimi jawnie posługiwać, możemy je oczywiście zmienić w naszym modelu. Str 5/9
Tworzenie diagramu bloków wewnętrznych Diagram bloków wewnętrznych (internal block diagram, ibd) pozwala pokazać wewnętrzną strukturę elementów systemu (bloków). Na naszym diagramie kontekstowym (będącym diagramem definiowania bloków) wybieramy blok Kontekst zabawki. Dodajemy do niego diagram bloków wewnętrznych (klikając dwukrotnie). Skorzystamy teraz z prawidłowo zdefiniowanego uprzednio kontekstu - Kontekst zabawki jest już połączony z kilkoma elementami - zaznaczmy więc opcję inicjalizowania diagramu istniejącymi obiektami modelu (Initialize the diagram with existing model objects, Rysunek 11). Zatwierdzamy przez OK. Rysunek 11: Dodawanie diagramu bloków wewnętrznych Zazwyczaj z opcji inicjalizowania diagramu istniejącymi obiektami modelu ze względów bezpieczeństwa się nie korzysta (i jest domyślnie odznaczona). Jednak nasz model jest prosty i wszystkie obiekty dodane automatycznie do diagramu bloków wewnętrznych nam się po prostu przydadzą. Utworzony i automatycznie otwarty do edycji diagram bloków wewnętrznych zawiera obiekty odpowiadające elementom powiązanym z blokiem Kontekst zabawki na diagramie definiowania bloków. Obiekty te najprawdopodobniej będą wyświetlone jeden na drugim - porozsuwajmy je (Rysunek 12). Rysunek 12: Nowy diagram bloków wewnętrznych Str 6/9
Zobaczmy, co się zmieniło w strukturze modelu (Rysunek 13). Blok Kontekst zabawki zawiera pewną liczbę części (określonych jako właściwości - properties). Te części są efektem dodania kompozycji na diagramie definiowania bloków i zainicjalizowania diagramu bloków wewnętrznych istniejącymi obiektami. Nazwy części są nazwami odpowiednich bloków pisanymi małą literą (jak obiekt tworzony z klasy - konwencja Javowa"). Starajmy się stosować tę konwencję w dalszych pracach nad naszym modelem (nie jest to oczywiście konieczne, ale wygodne). Rysunek 13: Bieżąca struktura modelu Dodanie i edycja łączników Diagramy bloków wewnętrznych pozwalają na stosowanie bardzo ograniczonej liczby łączników. Z palety edytora wybierzmy zwykły łącznik (Connector, Rysunek 14) i jak poprzednio, używając klawisza Ctrl, połączmy odpowiednie obiekty (Rysunek 15). Rysunek 14: Łączniki dostępne na diagramie bloków wewnętrznych Rysunek 15: Połączone obiekty na diagramie bloków wewnętrznych Teraz kolejno wybieramy łączniki i zmieniamy nazwy na bardziej znaczące. Nazwy powinny określać wzajemne role obiektów. Uporządkowany diagram bloków wewnętrznych i przykłady Str 7/9
Rysunek 16: Diagram bloków wewnętrznych z nazwanymi łącznikami Następnie dodajmy komentarz do diagramu. Rysunek 17 pokazuje komentarz informujący, że pociski nie są częścią systemu zabawkowej katapulty. Ale być może kiedyś zmienimy zdanie na ten Za pomocą komentarzy można wyrazić dowolną meta-informację, formalnie niebędącą częścią modelu, jednak istotną dla jego odczytania i zrozumienia. Rysunek 17: Komentarz na diagramie bloków wewnętrznych Str 8/9
Część zaliczeniowa W ramach wykonywanego równolegle projektu zespołowego należy analogicznie do przykładu uzupełnić w modelu diagram kontekstowy, a następnie wewnątrz kontekstu dodać diagram bloków wewnętrznych pokazujący współzależności między elementami kontekstu. Str 9/9