Część projektu obejmująca: „Reasoner” Techniki zarządzania i systemy informatyczne Część projektu obejmująca: „Reasoner”
Plan Wstęp Opis produktu Architektura systemu Motor wnioskowania Interfejsy systemu Efekty prac Przykłady użycia
Skład osobowy grupy Albert Matuszek Bartosz Małocha Łukasz Krupczak Kamil Grela Anna Piertaszko Wojciech Wójcik
Opis produktu Celem tworzonego systemu jest umożliwienie wyszukiwanie usług webserwisów pomocnych w przeprowadzeniu akcji ratunkowej dla zaistniałego zdarzenia. Użytkownikiem systemu jest operator centrali 112, który korzystając z graficznego interfejsu użytkownika wprowadza do systemu dane dotyczące wypadku. Na podstawie wczytanej ontologii opisującej dziedzinę wypadków i dostępne usługi webserwisów przy wykorzystaniu motoru wnioskowania system dostarcza informacji wspomagających akcję ratunkową. Informacje te obejmują listę wybranych spośród opisanych w bazie wiedzy usług oraz listę zagrożeń dla zaistniałego wypadku.
Zakres realizowanego przez nas produktu Tworzony przez nas produkt jest jednym z modułów (moduł systemu ekspertowego) projektu „Złożone usługi webowe realizowane przez systemy agentowe w architekturze SOA”. Stworzony system operuje na przygotowanej przez nas ontologii. System pozwala na przeprowadzanie ekspertyz dla zdefiniowanej przez nas przykładowej poddziedziny szeroko pojętego ratownictwa.
Architektura Systemu
Zewnętrzne komponenty systemu Motor wnioskowania (inference engine - Pellet) W docelowym systemie ontologia opisująca dziedzinę wypadków i dostępne usługi Web serwisów będzie zewnętrznym komponentem. W naszym produkcie posłużymy się stworzoną samodzielnie ontologią.
Schemat przykładowej ontologii
Motory wnioskowania Racer Pellet Można wpiąć do Protege Problemy z licencją Umożliwia odczyt plików owl z pliku lub przez http Tryb serwerowy lub file (pobieranie danych z plików przekazanych jako dodatkowe argumenty) Server HTTP dla właściwego użytkowania, TCP-based Protokół DIG oparty na XML Racer TCP Interface – komendy i rezultaty zapytań w składni LISP Dostępne API do Javy i Lispa Język zapytań: Description Logic Querries Sposób przechowywania bazy wiedzy: plik w formacie .lisp, .racer lub .krss Reguły (axioms); dostępny edytor do definiowania reguł Wejście: .lisp, .racer .krss .owl .dig (XML) Wyjście: dig (XML) Wbudowany w Protege Brak problemów z licencą Napisany w Javie; Open Source Obsługuje formaty DIG i KRSS Mmożna go uruchomić jako serwer (komunikacja poprzez DIG) Można używać jego klas bezpośrednio w aplikacji (Java) Język zapytań: SPARQL
Wybór silnika wnioskowania Porównując Racera i Pelleta nie można nie zauważyć, że ten pierwszy dostarcza większych możliwości. Niestety Racer nie jest pozbawiony wad. Wykorzystanie mechanizmów udostępnianych przez motor wnioskowania jest o wiele bardziej uciążliwe niż w przypadku Pelleta. Z tego powodu, jak również ze wzglądu na problemy z licencją zdecydowaliśmy się wykorzystać Pelleta jako motor wnioskowania aplikacji.
Interfejsy systemu Interfejs dla operatora centrali 112 - tworzy aplikacja wyposażona w GUI umożliwiające wprowadzenie informacji dotyczących wypadku. W oknie aplikacji prezentowana jest lista możliwych zagrożeń w postaci procesu. Przez proces rozumiemy zbiór zagrożeń w kolejności ich stopnia zagrożenia wraz z informacjami dotyczącymi ilości i rodzaju jednostek ratowniczych służących ich neutralizacji. Interfejs dla zewnętrznych klientów (systemu agentowego) zrealizujemy poprzez stworzenie webserwisu udostępniającego usługę przyjmującą na wejściu dane opisujące wypadek i zwracającą ww. listy (analogicznie jak w przypadku aplikacji dla operatora centrali).
GUI
Przykład użycia Zderzają się dwa samochody osobowe na drodze szybkiego ruchu, zderzenie czołowe. Osoba która jechała innym pojazdem, nie uczestniczącym w wypadku, dzwoni na policję. Informacje, które operator powinien uzyskać od świadka są następujące: Rodzaj wypadku: wypadek drogowy. Gdzie zdarzył się wypadek: droga szybkiego ruchu nr E4, wokół znajduje się tylko las, nr słupka na poboczu to 34. Ile i jakie samochody brały udział w wypadku: 2 samochody osobowe (czerwony mercedes i zielony mercedes). Jak się zderzyły : zderzenie czołowe. Ile osób było w którym samochodzie i jakie odniosły obrażenia: w czerwonym mercedesie 3 osoby nieprzytomne; w zielonym mercedesie 4 osoby, kierowca wyleciał przez szybę, a trzy pozostałe osoby są nieprzytomne. Czy jest możliwe wyciągniecie pasażerów z pojazdów: nie ma możliwości wyciągnięcia pasażerów z obu samochodów. Czy z któregoś z samochodów wyciekło paliwo: tak, ale tylko z czerwonego. Wyniki : 1 – przyjazd odpowiedniej liczby karetek 2 – przyjazd odpowiedniej liczby radiowozów 3 – przyjazd odpowiedniej liczby wozów strażackich
KONIEC