Model systemu wspomagania decyzji nawigacyjnych na statku morskim



Podobne dokumenty
Zeszyty Naukowe UNIWERSYTETU PRZYRODNICZO-HUMANISTYCZNEGO w SIEDLCACH Seria: Administracja i Zarządzanie Nr

Podstawy programowania III WYKŁAD 4

Spis treúci. 1. Wprowadzenie... 13

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Modelowanie i analiza systemów informatycznych

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

UML w Visual Studio. Michał Ciećwierz

Michał Adamczyk. Język UML

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Podstawy inżynierii oprogramowania

System AIS. Paweł Zalewski Instytut Inżynierii Ruchu Morskiego Akademia Morska w Szczecinie

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Diagram przypadków użycia

OD SYSTEMÓW INFORMACYJNYCH DO SYSTEMÓW WSPOMAGANIA DECYZJI - SYSTEM NAVDEC

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Modelowanie obiektowe - Ćw. 3.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

KARTA MODUŁU KSZTAŁCENIA

UML cz. II. UML cz. II 1/38

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

PRZEWODNIK PO PRZEDMIOCIE

Modelowanie i analiza systemów informatycznych Spis treści

Diagramy przypadków użycia

UML cz. III. UML cz. III 1/36

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

PRZEWODNIK PO PRZEDMIOCIE

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI

Tytuł pracy: PRACA MAGISTERSKA AUTOR: KRAKÓW, Marzec 2011 Promotor pracy :

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

Podstawy języka UML2 w realnych projektach

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Narzędzia CASE dla.net. Łukasz Popiel

MODELOWANIE SYSTEMU OCENY WARUNKÓW PRACY OPERATORÓW STEROWNI

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

MODELOWANIE OBIEKTOWE

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

System Automatycznej Identyfikacji. Automatic Identification System (AIS)

Akademia Morska w Szczecinie, Instytut Nawigacji Morskiej Szczecin, ul. Wały Chrobrego 1 2, tel ,

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Inżynieria Ruchu Morskiego wykład 01. Dr inż. Maciej Gucma Pok. 343 Tel //wykłady tu//

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Model przestrzenny Diagramu Obiegu Dokumentów. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Rysunek 1: Przykłady graficznej prezentacji klas.

TECHNOLOGIE OBIEKTOWE. Wykład 3

Tom 6 Opis oprogramowania

Identyfikacja i modelowanie struktur i procesów biologicznych

Analiza biznesowa a metody agile owe

Zalety projektowania obiektowego

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Język UML w modelowaniu systemów informatycznych

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Kontrola spójności modeli UML za pomocą modelu. Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Podsumowanie wyników ankiety

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

UML cz. I. UML cz. I 1/1

PRZEWODNIK PO PRZEDMIOCIE

Faza analizy (modelowania) Faza projektowania

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Unified Modeling Language

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

ORGANIZACJA PROCESÓW DYSTRYBUCJI W DZIAŁALNOŚCI PRZEDSIĘBIORSTW PRODUKCYJNYCH, HANDLOWYCH I USŁUGOWYCH

Identyfikacja i modelowanie struktur i procesów biologicznych

Zintegrowany system wizualizacji parametrów nawigacyjnych w PNDS

Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2)

Modelowanie i analiza systemów informatycznych

Narzędzia Informatyki w biznesie

Metoda wizualizacji danych z AIS na potrzeby nawigatora

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

SPECYFIKACJA WYMAGAŃ

Zagadnienia Semestr IV Inżynieria Oprogramowania WSZiB

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji.

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Tom 6 Opis oprogramowania

Załącznik Nr 1. Istotne warunki zamówienia do przetargu nieograniczonego na wykonanie pakietu usług programistycznych

Architektura oprogramowania w praktyce. Wydanie II.

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Projektowanie systemów informatycznych. wykład 6

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

NOWE ROZWIĄZANIA W ZAKRESIE STEROWANIA I KONTROLI STANU ROZJAZDU

Wprowadzenie do UML, przykład użycia kolizja

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

Transkrypt:

Scientific Journals Maritime University of Szczecin Zeszyty Naukowe Akademia Morska w Szczecinie 2008, 13(85) pp. 65 73 2008, 13(85) s. 65 73 Model systemu wspomagania decyzji nawigacyjnych na statku morskim Model of navigational decision support system on a sea-going vessel Zbigniew Pietrzykowski, Janusz Magaj, Jarosław Chomski Akademia Morska w Szczecinie, Instytut Nawigacji Morskiej 70-500 Szczecin, ul. Wały Chrobrego 1 2, tel. 091 48 09 496, e-mail: zbip@am.szczecin.pl, janmag@am.szczecin.pl, jarc@am.szczecin.pl Słowa kluczowe: wspomaganie decyzji, statek morski, nawigacja Abstrakt Złożoność procesu prowadzenia nawigacji i konieczność zapewnienia możliwie wysokiego poziomu bezpieczeństwa wymusza podejmowanie prac nad nawigacyjnymi systemami wspomagania decyzji. W artykule przedstawiono założenia oraz model projektowanego systemu. Do modelowania systemu zastosowano język UML (Unified Modeling Language). Pozwala on przedstawić projektowany system w różnych perspektywach w sposób czytelny zarówno dla przyszłych użytkowników, jak też jego twórców: analityków, projektantów i programistów. Opracowany model jest prototypem projektowanego systemu wspomagania decyzji nawigacyjnych na statku morskim. Key words: decision support, sea going vessel, navigation Abstract The complexity of the navigation process and necessity of ensuring a possibly high level of safety, with continually growing vessel traffic intensity, ships tonnage and speeds developed at sea, call for research on navigational decision support systems. This article presents the assumptions and a model of such system design. The Unified Modeling Language (UML) has been used for system modelling. The UML allows presenting the designed system from various perspectives in a manner easily perceived by its future users as well as its creators: analysts, designers and programmers. The developed model provides a basis for building a prototype of the designed system of navigational decision support on the sea going vessel. Założenia systemu Potencjalne źródło błędów ludzkich skutkujących wypadkami morskimi stanowi nadmiar napływających informacji i wynikające stąd trudności z ich przetworzeniem oraz wykorzystaniem. Dużo uwagi poświęca się zagadnieniom eliminowania lub ograniczenia błędów ludzkich poprzez budowę systemów wspomagania decyzji nawigatora. Rozwój nowoczesnych technik i technologii informatycznych stwarza odpowiednie możliwości do budowy takich systemów. Podstawowymi zadaniami projektowanego nawigacyjnego systemu wspomagania decyzji są [1]: automatyczne pozyskiwanie i dystrybucja informacji nawigacyjnej, analiza sytuacji nawigacyjnej i rozwiązywanie sytuacji kolizyjnych, interakcja z nawigatorem. System powinien umożliwić m.in. realizację następujących zadań: sygnalizowanie sytuacji niebezpiecznych oraz aktualnego poziomu bezpieczeństwa nawigacyjnego na podstawie kryteriów stosowanych przez ekspertów nawigatorów, automatyczne wyznaczanie manewru/manewrów i trajektorii ruchu w sytuacjach kolizyjnych, Zeszyty Naukowe 13(85) 65

Zbigniew Pietrzykowski, Janusz Magaj, Jarosław Chomski Rys. 1. Ogólna architektura systemu wspomagania decyzji nawigacyjnych na statku morskim Fig. 1. General architecture of the navigational support system on a sea going vessel możliwość objaśniania (uzasadnienia) wyboru proponowanego manewru, czytelne dla nawigatora zobrazowanie sytuacji nawigacyjnej. Projektowany system jest przykładem systemu czasu rzeczywistego. Jego zadaniem jest obserwacja statku i środowiska, rejestracja informacji nawigacyjnych, ich selekcja, ekstrakcja, weryfikacja i przetwarzanie. Rezultatem procesów przetwarzania będą prezentowane nawigatorowi informacje dotyczące identyfikacji i oceny sytuacji nawigacyjnej oraz proponowane rozwiązania (decyzje) zapewniające bezpieczną żeglugę. Ogólną architekturę systemu przedstawiono na rysunku 1. O skuteczności i przydatności systemu w dużym stopniu będzie decydował m.in. moduł interakcji (komunikacji) z operatorem. Nawigacyjny system wspomagania decyzji ma być uzupełnieniem wyposażenia nawigacyjnego statku. Jego prawidłowe funkcjonowanie wymaga współdziałania z urządzeniami i systemami na statku. Standardowe wyposażenie statku obejmuje: log, żyrokompas, radar, echosondę, ARPA (Automatic Radar Plotting Aids), ECDIS (Electronic Chart Display and Information System). Informacje uzyskiwane z systemu ECDIS stanowią sumę informacji uzyskiwanych z urządzeń współpracujących z tym systemem: logu, radaru, ARPA, echosondy, GNSS (Global Navigational Satellite System), np. GPS (Global Positioning System), DGPS (Differential Global Positioning System) i innych. Różnorodne środki łączności i systemy komunikacji umożliwiają przesyłanie na statek informacji nawigacyjnych oraz innych uzupełniających, związanych z realizacją podróży: AIS (Automatic Identification System), GMDSS (Global Maritime Distress and Safety System), systemy VTS (Vessel Traffic Service). Modelowanie systemów czasu rzeczywistego Systemy czasu rzeczywistego są systemami uwarunkowanymi czasowo. Charakteryzują się m.in. [2, 3]: rodzajem ograniczeń czasowych (systemy mocno i słabo uwarunkowane czasowo), obsługą/współdziałaniem z wieloma urządzeniami, nieregularnością i różnymi priorytetami obsługiwanych zdarzeń, ograniczonymi zasobami (pamięć, moc obliczeniowa), uwarunkowaną czasowo obsługą rozproszonych i współbieżnie realizowanych zadań, wymaganą odpornością na różnego rodzaju błędy. Podstawowe znaczenie w modelowaniu systemu ma określenie wymagań wobec projektowanego systemu: funkcjonalnych i niefunkcjonalnych. Wymagania funkcjonalne opisują czynności i operacje wykonywane przez system, w tym sposoby reakcji na określone zdarzenia. Do opisu wymagań funkcjonalnych stosuje się m.in. narzędzia UML w postaci diagramów przypadków użycia (perspektywa przypadków użycia). Wymagania niefunkcjonalne opisują ograniczenia, przy których system ma realizować swoje funkcje. Wśród wymagań niefunkcjonalnych wyróżnia się wymagania produktowe, organizacyjne i zewnętrzne. Pierwsze z nich dotyczą m.in. sposobu komunikacji z operatorem, efektywności obliczeniowej (w tym czasów odpowiedzi na zdarzenia/bodźce) i niezawodności systemu. Ze względu na uwarunkowania czasowe niezbędna jest identyfikacja zdarzeń (bodźców) i skojarzonych z nimi odpowiedzi systemu oraz wymagań czasowych 66 Scientific Journals 13(85)

Model systemu wspomagania decyzji nawigacyjnych na statku morskim z nimi związanych. Wymagania organizacyjne wynikają z obowiązujących strategii w zakresie działania systemu. Definiują m.in. stosowane protokoły komunikacyjne, obowiązujące procedury oraz wymagane standardy dla rzeczywistych procesów modelowanych w systemie. Wymagania zewnętrzne są związane z koniecznością uwzględnienia środowiska zewnętrznego. Są to m.in. wymagania dotyczące współpracy z systemami zewnętrznymi, prawne i etyczne. Obok perspektywy przypadków użycia, definiującej zakres i oczekiwaną funkcjonalność systemu, istotne z punktu widzenia modelowania projektowanego systemu są perspektywy: logiczna, dynamiczna, komponentów i rozlokowania. Każda z perspektyw uwypukla inne aspekty architektury systemu [4]. Umożliwia to opis systemu uwzględniający różne punkty widzenia użytkowników i twórców (analityków, projektantów i programistów) oraz systemu. Perspektywa logiczna dokumentuje statykę (strukturę) systemu. Ma ona na celu określenie obiektów (bytów) występujących w projektowanym systemie oraz relacji występujących między nimi. Do jej opisu stosowane są narzędzia UML w postaci diagramów klas, obiektów i pakietów. Pakiety, będące agregatami bytów, umożliwiają wyeksponowanie zasadniczych funkcji systemu. Perspektywa dynamiczna opisuje zachowanie systemu. Służą do tego diagramy maszyny stanowej, czynności i interakcji (komunikacji, sekwencji i interakcji). Perspektywa dynamiczna ma szczególne znaczenie dla opisu systemów czasu rzeczywistego. Perspektywa komponentów dokumentowana jest za pomocą diagramów komponentów i diagramów pakietów. Komponent jest modułem kodu. Diagram komponentów jest fizycznym odpowiednikiem diagramów klas. Dzieli system na fizyczne elementy (moduły) oprogramowania: pliki, biblioteki, wykonywalne programy itp. Perspektywa rozlokowania realizowana z wykorzystaniem diagramów rozlokowania i diagramów pakietów dokumentuje sprzęt informatyczny oraz jego powiązania z komponentami (oprogramowanie) systemu. Diagramy komponentów i diagramy rozlokowania dokumentują fizyczną strukturę projektowanego systemu i zaliczane są do tzw. diagramów wdrożeniowych. Modelowanie systemu z wykorzystaniem wymienionych narzędzi (diagramów UML) umożliwia uwypuklenie różnych aspektów architektury systemu z jednoczesnym pominięciem innych, nieistotnych dla danego punktu widzenia szczegółów. Pozwala to na pełniejszy opis projektowanego systemu, odpowiadający kompetencjom zawodowym i organizacyjnym uczestników procesu tworzenia systemu i przyszłych użytkowników. Z punktu widzenia procesu prowadzenia statku, nawigacyjny system wspomagania decyzji jest systemem silnie uwarunkowanym czasowo. Wynika to z konieczności szybkiego reagowania na zdarzenia przy określonych obowiązujących zasadach dotyczących czasu odpowiedzi. Do jego opisu zastosowano scharakteryzowane powyżej perspektywy. Prezentując opracowany model systemu wspomagania decyzji nawigatora, przedstawiono wybrane, przykładowe diagramy definiujące strukturę i zachowanie systemu. Wykorzystano do tego celu oprogramowanie ModelMaker. Perspektywa przypadków użycia W celu określenia wymagań funkcjonalnych projektowanego systemu zdefiniowano użytkownika systemu (nawigator operator), reprezentowanego w procesie modelowania UML przez tzw. aktora. Przypisano mu wymagane przez niego funkcje systemu. Grupę aktorów uzupełniono, zgodnie z konwencją języka UML, o systemy zewnętrzne wykorzystywane przez system. Stanowią ją urządzenia i systemy nawigacyjne, w tym systemy ARPA, AIS, GPS, log, żyrokompas i inne. Ustalono obowiązujące procedury i przepisy dotyczące podejmowania decyzji w procesie prowadzenia nawigacji na statku. Do określenia wymagań funkcjonalnych wykorzystano diagramy przypadków użycia. Nawigator System wspomagania decyzji Użycie GUI Wykonanie archiwizacji danych Wypracowanie manewru Ocena sytuacji nawigacyjnej Wyświetlenie predykcji sytuacji nawigacyjnej Konfigurowanie systemu Rys. 2. Główne przypadki użycia systemu wspomagania decyzji nawigacyjnych na statku morskim Fig. 2. Diagram of main use cases of the navigational support system on a sea going vessel Najistotniejsze usługi (funkcje) systemu wymagane przez nawigatora przedstawiono w postaci diagramu przypadków użycia na rysunku 2. Zeszyty Naukowe 13(85) 67

Zbigniew Pietrzykowski, Janusz Magaj, Jarosław Chomski Zaliczono do nich: 1) komunikację użytkownika z systemem (użycie interfejsu operatora GUI); 2) ocenę sytuacji zgodną z obowiązującymi przepisami i kryteriami oceny zdefiniowanymi przez nawigatora; 3) wypracowanie manewru w sytuacji kolizyjnej; 4) prezentację prognozy sytuacji dla zadanego horyzontu czasowego (predykcja sytuacji); 5) rejestrację (archiwizację) danych, w tym poleceń nawigatora, w celu odtworzenia podróży morskiej; 6) konfigurowanie systemu zmianę domyślnych ustawień i dostosowanie do indywidualnych wymagań nawigatora oraz aktualnie warunków nawigacyjnych (np. modyfikacja kryteriów oceny sytuacji). Tabela 1 Scenariusz przypadku użycia wypracowanie manewru Table 1. Scenario of use case manoeuvre planning Przypadek użycia Aktorzy Krótki opis Warunki wstępne Warunki końcowe Scenariusz główny Wypracowanie manewru Nawigator; Czas; Sensory; Moduł analiza sytuacji Nawigator żąda wypracowania dopuszczalnych manewrów w aktualnej sytuacji nawigacyjnej Sytuacja nawigacyjna określona jako niebezpieczna (Moduł ocena sytuacji) Lista wypracowanych manewrów 1. Nawigator inicjuje wypracowanie manewru 2. Dane z sensorów (od wszystkich obiektów) zostają zintegrowane. 3. Za pomocą dostępnych metod wyznaczane są dopuszczalne manewry (trajektorie). 4. Moduł udostępnia listę wypracowanych manewrów 1 a. Moduł analiza sytuacji aktywuje żądanie Scenariusze wypracowania manewru alternatywne 4 a. Nawigator przegląda trajektorie wypracowanych manewrów Specjalne wymagania Komentarze Komentarze Brak Wyprzedzenie czasowe dla manewru Limit czasu obliczeń na wypracowanie manewru Limit czasu, po którym Moduł analiza sytuacji aktywuje wypracowanie manewru Manewry z listy wypracowanych manewrów udostępniane są nawigatorowi Dla pełniejszego opisu wymagań sporządzono tzw. scenariusze przypadków użycia. Są one przedstawiane w formie tekstowej i określają ciąg czynności wykonywanych przez aktora lub system. Przykładowy scenariusz przypadku użycia wypracowanie manewru przedstawiono w tabeli 1. Określono w nim m.in. warunki inicjujące przypadek, scharakteryzowano stan systemu po realizacji przypadku i scenariusz główny. Zdefiniowano listę możliwych, alternatywnych scenariuszy oraz wymagania niefunkcjonalne istotne dla realizacji (implementacji w systemie) przypadku użycia. W analizie wymagań niefunkcjonalnych szczególną uwagę zwrócono na wymagania czasowe. Zidentyfikowano zdarzenia i skojarzone z nimi odpowiedzi (reakcje) systemu oraz określono wymagania. Do zdarzeń istotnych z punktu widzenia bezpieczeństwa nawigacyjnego zaliczono: pojawienie się nowego obiektu (statku) w systemie, zmianę parametrów ruchu obiektu/obiektów, wystąpienie (wykrycie) sytuacji niebezpiecznej, polecenia Nawigatora oraz czas systemowy. Perspektywa logiczna Perspektywę logiczną modelowanego systemu opisano przy użyciu diagramów klas i diagramów pakietów. Zidentyfikowano obiekty istotne dla realizacji celów systemu. Wyróżniono podstawowe klasy stanowiące uogólnienie występujących obiektów, charakteryzujących się (identycznymi): strukturą danych, związkami i zachowaniem: statek, komunikat, manewr, sytuacja. Zdefiniowano związki występujące między nimi (asocjacje, uogólnienia, zależności i realizacje). Wyróżnionym klasom przypisano metody (zestawy operacji) realizowane w ich środowisku. Przedstawiono je na rysunku 3. Na podstawie przeprowadzonej analizy modelowanego systemu, w celu wyeksponowania zasadniczych funkcji systemu, opracowano diagramy pakietów, stanowiące agregację elementów modelu. Rysunek 4 przedstawia wyróżnione podstawowe pakiety systemu. Wyróżniono pakiety: informacyjny (rejestracji dekodowania i interpretacji komunikatów z systemów i urządzeń zewnętrznych), identyfikacji zdarzeń, analizy i oceny sytuacji, wyboru manewru, predykcji ruchu, zarządzający, bazy wiedzy oraz bibliotekę procedur nawigacyjnych. Szczególną uwagę zwrócono na dwa ostatnie. W pakiecie bazy wiedzy zawarto m.in. algorytmy interpretacji przepisów prawa drogi (MPDM) oraz kryteria analizy i oceny sytuacji, z możliwością ich personalizacji, tzn. ich modyfikacji zgodnie z preferencjami poszczególnych użytkowników systemu (nawigatorów). Pakiet ten pełni funkcje usługowe dla pakietów: nawigacyjnego, wypracowania manewru oraz śledzenia trajektorii ruchu. Ze względu na specyfikę projektowanego systemu (system czasu rzeczywistego) wyodrębniono pakiet zarządzający. Jego głównym zadaniem jest m.in. analiza zdarzeń, szeregowanie zadań i zarządzanie zasobami systemu (aktywacja zadań i przydzielanie zasobów systemu niezbędnych do ich realizacji). 68 Scientific Journals 13(85)

Model systemu wspomagania decyzji nawigacyjnych na statku morskim Statek Dane Statek_własny Statek_obcy DaneGPS DaneLOG DaneZyrokompas Historia DaneAIS DaneARPA Rys. 3. Diagramy klas modelowanego systemu Fig. 3. Class diagrams of the system model Rys. 4. Diagram pakietów systemu wspomagania decyzji nawigatora Fig. 4. Package diagram of the navigational support system Zeszyty Naukowe 13(85) 69

Zbigniew Pietrzykowski, Janusz Magaj, Jarosław Chomski Perspektywa dynamiczna Do opisu (zdefiniowania) zachowania systemu zastosowano diagramy sekwencji, komunikacji i maszyny stanowej. Przykładowo, proces wyznaczania manewru (wypracowanie i wybór manewru) zilustrowano z wykorzystaniem diagramu sekwencji (rys. 5). Skuteczność działania systemu zależy w dużej mierze od pozyskiwania, interpretacji i udostępniania informacji o sytuacji nawigacyjnej (sensory). Procesy te opisano z wykorzystaniem diagramów komunikacji. Na rysunku 6 przedstawiono jeden z diagramów, charakteryzujący powiązania między obiektami systemu (sensory, statek, sytuacja), oraz komunikację (przepływ komunikatów) pomiędzy nimi. Diagramy maszyny stanowej stanowią istotne uzupełnienie opisu zachowania systemu, szczególnie w przypadku systemów czasu rzeczywistego. Dokumentują sekwencje stanów (także procesów), w których znajduje się obiekt, w odpowiedzi na zdarzenia zachodzące w trakcie funkcjonowania systemu. Na rysunku 7 przedstawiono przejścia między dwoma, z punktu widzenia prowadzenia nawigacji, podstawowymi stanami systemu: sytuacją bezpieczną i sytuacją niebezpieczną. Zaznaczono zdarzenia aktywujące przejścia między nimi. Wyróżniono tu dodatkowo tzw. pseudostan oceny sytuacji nawigacyjnej, istotny dla opisu przejścia między wcześniej wymienionymi stanami. Modelowanie z użyciem diagramów maszyny stanowej pozwala uwzględnić współbieżność aktywowania różnych stanów systemu. Na rysunku 8 przedstawiono tzw. obszary współbieżne, aktywowane z chwilą uruchomienia systemu, charakteryzujące interakcję systemu z użytkownikiem. Są to: zarządzanie interakcją i komunikatami systemu oraz prezentacja sytuacji nawigacyjnej. Dotyczy to także modelowania zachowania systemu z uwzględnieniem współbieżności procesów analizy i oceny sytuacji, wypracowania manewru (rys. 9). W analogiczny sposób, zgodnie z przyjętą metodyką, sporządzono diagramy opisujące pozostałe aspekty zachowania systemu. Pozwoliło to opracować model zgodnie z wymaganiami użytkowników. Rys. 5. Diagram sekwencji dla procesu wyznaczania manewru Fig. 5. Sequence diagram of manoeuvre determination process 70 Scientific Journals 13(85)

Model systemu wspomagania decyzji nawigacyjnych na statku morskim 5: jaki_nr_komunikatu : Komunikat_AIS 6: Dekoduj_komunikat1 7: Jaki_MMSI 2: Odczytaj_komunikat 3: Spraw dz_typ_komunikatu «actor» AIS 1: mesage 10: zapisz_sytuacje 9: Odczytaj_komunikat 11: Spraw dz_typ_komunikatu : Komunikat_Sensory 4: Wyslij_komunikat 13: Wyslij_komunikat : Statek 12: zapisz_sytuacje 8: message 16: zapisz_sytuacje «actor» GPS : Komunikat_GPS 14: Jaki_Typ 15: Dekoduj_GLL Rys. 6. Diagram komunikacji w procesie odbioru, rejestracji i interpretacji komunikatów (sensory) Fig. 6. Diagram of communication in the process of reception, registration and interpretation (sensors) Rys. 7. Diagram maszyny stanowej systemu wspomagania decyzji nawigatora Fig. 7. State machine diagram of the navigational support system Zeszyty Naukowe 13(85) 71

Zbigniew Pietrzykowski, Janusz Magaj, Jarosław Chomski Rys. 8. Diagram maszyny stanowej interfejsu użytkownika (GUI) Fig. 8. State machine diagram of graphic user interface Rys. 9. Współbieżność procesów oceny sytuacji oraz wypracowania manewru Fig. 9. Concurrency of processes situation assessment and manoeuvre planning Podsumowanie Złożoność projektowanego systemu wspomagania decyzji, w tym współbieżność procesów realizowanych przez system oraz stawiane mu wymagania (funkcjonalne i niefunkcjonalne) wymuszają opracowanie modelu uwzględniającego punkty widzenia przyszłych użytkowników. Opracowany model powinien jednocześnie precyzyjnie definiować zadania stawiane projektantom i programistom. Realizując powyższe cele, do budowy modelu projektowanego systemu zastosowano język modelowania UML. Opracowane modele systemu wspomagania decyzji nawigatora na statku morskim (diagramy wdrożeniowe) pozwalają na perspektywiczne zrealizowanie systemu spójnego i czytelnego zarówno dla użytkowników, jak i tworzących go, który spełnia wymagania stawiane tego typu systemom. 72 Scientific Journals 13(85)

Model systemu wspomagania decyzji nawigacyjnych na statku morskim Bibliografia 1. PIETRZYKOWSKI Z., CHOMSKI J., MAGAJ J., BĄK A., URIASZ J.: Aims and tasks of the navigational support system on a sea going vessel. Advanced in Transport Systems Telematics 2, Ed. J. Mikulski, Publisher Faculty of Transport, Silesian University, Katowice 2007. 2. DĄBROWSKI W., STASIAK A., WOLSKI M.: Modelowanie systemów informatycznych w języku UML 2.1. WN PWN SA, Warszawa 2007. 3. SOMMERVILLE I.: Inżynieria oprogramowania. Wydawnictwa Naukowo-Techniczne, Warszawa 2003. 4. WRYCZA S., MARCINKOWSKI B., WYRZYKOWSKI K.: Język UML 2.0 w modelowaniu systemów informatycznych. Helion, Gliwice 2005. Recenzent: dr hab. inż. Lucjan Gucma, prof. AM Akademia Morska w Szczecinie Zeszyty Naukowe 13(85) 73