Model systemu wspomagania decyzji nawigacyjnych na statku

Transkrypt

Model systemu wspomagania decyzji nawigacyjnych na statku
Scientific Journals
Zeszyty Naukowe
Maritime University of Szczecin
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: [email protected], [email protected], [email protected]
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
– automatyczne pozyskiwanie i dystrybucja informacji nawigacyjnej,
– analiza sytuacji nawigacyjnej i rozwiązywanie
sytuacji kolizyjnych,
– interakcja z nawigatorem.
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]:
Zeszyty Naukowe 13(85)
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,
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
Modelowanie systemów czasu
rzeczywistego
– możliwość objaśniania (uzasadnienia) wyboru
proponowanego manewru,
– czytelne dla nawigatora zobrazowanie sytuacji
nawigacyjnej.
Systemy czasu rzeczywistego są systemami
uwarunkowanymi czasowo. Charakteryzują się
m.in. [2, 3]:
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).
– 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
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.
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.
Zeszyty Naukowe 13(85)
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.
System wspomagania decyzji
Ocena
sytuacji
nawigacyjnej
Użycie
GUI
Wypracowanie
manewru
Nawigator
Wyświetlenie
predykcji sytuacji
nawigacyjnej
Wykonanie
archiwizacji
danych
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.
67
Zbigniew Pietrzykowski, Janusz Magaj, Jarosław Chomski
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.
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).
Perspektywa logiczna
Tabela 1 Scenariusz przypadku użycia „wypracowanie manewru”
Table 1. Scenario of use case “manoeuvre planning“
Przypadek
użycia
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).
Wypracowanie manewru
Nawigator; Czas; Sensory; Moduł analiza sytuacji
Nawigator żąda wypracowania dopuszczalnych
Krótki opis
manewrów w aktualnej sytuacji nawigacyjnej
Warunki
Sytuacja nawigacyjna określona jako niebezwstępne
pieczna (Moduł ocena sytuacji)
Warunki
Lista wypracowanych manewrów
końcowe
1. Nawigator inicjuje wypracowanie manewru
2. Dane z sensorów (od wszystkich obiektów)
zostają zintegrowane.
Scenariusz
3. Za pomocą dostępnych metod wyznaczane są
główny
dopuszczalne manewry (trajektorie).
4. Moduł udostępnia listę wypracowanych manewrów
1 a. Moduł analiza sytuacji aktywuje żądanie
wypracowania manewru
Scenariusze
alternatywne 4 a. Nawigator przegląda trajektorie wypracowanych manewrów
Wyprzedzenie czasowe dla manewru
Specjalne
Limit czasu obliczeń na wypracowanie manewru
wymagania Limit czasu, po którym Moduł analiza sytuacji
aktywuje wypracowanie manewru
Manewry z listy wypracowanych manewrów
Komentarze
udostępniane są nawigatorowi
Komentarze Brak
Aktorzy
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
68
Scientific Journals 13(85)
Model systemu wspomagania decyzji nawigacyjnych na statku morskim
Statek
Statek_własny
Dane
Statek_obcy
DaneLOG
DaneGPS
DaneZyrokompas
Historia
DaneARPA
DaneAIS
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
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.
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
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
6: Dekoduj_komunikat1
:
Komunikat_AIS
7: Jaki_MMSI
2: Odczytaj_komunikat
3: Spraw dz_typ_komunikatu
«actor»
AIS
10: zapisz_sytuacje
1: mesage
9: Odczytaj_komunikat
4: Wyslij_komunikat
11: Spraw dz_typ_komunikatu
12: zapisz_sytuacje
: Statek
:
Komunikat_Sensory
13: Wyslij_komunikat
16: zapisz_sytuacje
8: message
:
Komunikat_GPS
«actor»
GPS
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
14: Jaki_Typ
15: Dekoduj_GLL
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
stom. 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.
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 programi72
Scientific Journals 13(85)
Model systemu wspomagania decyzji nawigacyjnych na statku morskim
4. WRYCZA S., MARCINKOWSKI B., WYRZYKOWSKI K.: Język
UML 2.0 w modelowaniu systemów informatycznych.
Helion, Gliwice 2005.
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.
Zeszyty Naukowe 13(85)
Recenzent:
dr hab. inż. Lucjan Gucma, prof. AM
Akademia Morska w Szczecinie
73