Prace Instytutu Telekomunikacji PW w projekcie STREP MIDAS

Transkrypt

Prace Instytutu Telekomunikacji PW w projekcie STREP MIDAS
Jarosław Domaszewicz
Radosław Schoeneich
Michał Koziuk
Michał Rój
Krzysztof Kacperski
Instytut Telekomunikacji Politechniki Warszawskiej, Warszawa, Polska
Prace Instytutu Telekomunikacji PW w
projekcie STREP MIDAS
Niniejszy artykuł prezentuje stan prac przeprowadzonych przez Instytut Telekomunikacji Politechniki
Warszawskiej w projekcie STREP MIDAS (ang. Middleware Platform for Developing Advanced
Mobile Services - Platforma Programistyczna do Tworzenia i WdraŜania Zaawansowanych Usług
Mobilnych) realizowanego w ramach 6 Programu Ramowego Unii Europejskiej. Projekt został
uruchomiony w styczniu 2006 roku i planowany jest na okres 30 miesięcy. Projekt ma za zadanie
stworzenie architektury warstw pośrednich mających na celu: utrzymanie łączności w heterogenicznym
środowisku sieci bezprzewodowych, utrzymywanie rozproszonego mechanizmu wymiany informacji,
monitorowanie i reagowanie na zmiany w kontekście węzłów, adresowanie kontekstowe oraz
umoŜliwienie szybkiej kreacji i rozmieszczania usług.
1. Wprowadzenie. Podstawowe informacje o projekcie 6FP STREP MIDAS
Projekt MIDAS [1,2] jest projektem typu STREP (ang. Specific Targeted Research
Project) realizowanym w ramach 6 Programu Ramowego Unii Europejskiej (6FP). Aktualnie
projekt wszedł w drugi rok pracy i ma zakończyć się w czerwcu 2008 roku. Ze strony
Politechniki Warszawskiej partnerem w projekcie jest Instytut Telekomunikacji PW.
2. Cele Projektu MIDAS
Celem projektu MIDAS [3] jest realizacja platformy programistycznej, dzięki której
będzie moŜliwe uproszczenie i przyspieszenie procesu tworzenia usług mobilnych. Wybraną
platformą sprzętową są urządzenia mobilne, w szczególności PDA (np. urządzenia serii Nokia
770), laptopy oraz zaawansowane telefony komórkowe. Platforma MIDAS jest
ukierunkowana na usługi mobilne spełniające następujące załoŜenia:
1. Liczba uŜytkowników korzystających z usługi w tym samym miejscu i czasie jest bardzo
duŜa.
2. Usługa wymaga wsparcia przez specjalizowaną bezprzewodową infrastrukturę sieciową.
Infrastruktura jest szybko instalowana i uruchamiana w miejscu świadczenia usługi. W
niektórych przypadkach, infrastruktura jest potrzebna tylko przez krótki czas.
3. Ograniczone zasoby infrastruktury sieciowej (zarówno publicznej, jak i specjalizowanej)
powoduje, Ŝe część uŜytkowników korzysta z komunikacji bezprzewodowej w trybie adhoc.
Platforma programistyczna realizowana w projekcje będzie między innymi wspierała usługi
świadczone podczas duŜych zgromadzeń sportowych oraz podczas sytuacji kryzysowych.
Aktualnie tworzona jest testowa implementacja platformy MIDAS oraz implementacja
przykładowych usług. Wśród opracowanych scenariuszy, dla których przeznaczona zostanie
platforma MIDAS zdefiniowano dwa podstawowe, wytyczające najwaŜniejsze załoŜenia
projektu. Są to:
1. Wsparcie dla zespołów ratunkowych w sytuacjach kryzysowych. Scenariusz skupia się na
zasadach wymiany informacji między specjalizowanymi zespołami ratowniczymi i
osobami zarządzającymi. Aplikacje w scenariuszu przeznaczone będą do obsługi
powaŜnych zdarzeń w metrze takich jak poŜar lub atak terrorystyczny. Przykładowe
elementy scenariusza to: znalezienie najbliŜszej osoby zarządzającej incydentem,
ogłoszenie alarmu dla strefy zagroŜenia, przetwarzanie informacji o zagroŜeniu i
koordynacja dystrybucji tych informacji. Prezentacja scenariusza przewidziana jest w
jednym z stacji paryskiego metra.
2. Wsparcie dla zaawansowanych usług mobilnych w wydarzeniach sportowych. Zadaniem
scenariusza jest wyspecyfikowanie rozwiązań wspierających róŜnych uŜytkowników
informacji podczas wyścigu kolarskiego. Przewidziane są aplikacje dla wyścigu
kolarskiego, mające udostępniać zsyntezowane dane kontekstowe o stanie wyścigu
róŜnym grupom uŜytkowników projektowanego oprogramowania np. sędziowie,
widzowie, trenerzy. Aplikacja ma działać z wykorzystaniem projektowanego przez IT PW
systemu adresowania opartego na ontologii.
3. Problemy rozwiązywane przez Instytut Telekomunikacji Politechniki Warszawskiej
w projekcie MIDAS
Prace Instytutu Telekomunikacji Politechniki Warszawskiej nad projektem MIDAS w
ostatnim roku koncentrowały się głównie nad zagadnieniami opisanymi poniŜej:
a) Opracowanie architektury warstwy pośredniej konfigurowanej poprzez dołączaną
ontologię
W projekcie zaproponowano wymienialną ontologię, dołączaną do projektowanego
systemu (Rys.1) i zawierającą opis określonej dziedziny (np. sytuacje kryzysowe w metrze).
Podstawowym zagadnieniem było określenie roli ontologii w projektowanej warstwie
pośredniej. Istotną kwestią był zakres wiedzy zawartej w ontologii, a co za tym idzie ustalenie
osób odpowiedzialnych za jej tworzenie (na etapie, w którym system będzie juŜ
wykorzystywany do celów komercyjnych). Kolejnym istotnym zagadnieniem było
rozwiązanie obsługi ontologii na poziomie programistycznym umoŜliwiającym wymianę
ontologii bez ponownej kompilacji kodu.
Rys. 1: Warstwa pośrednia wykorzystująca dołączoną ontologię.
Ontologia dołączona do systemu MIDAS, wykorzystywana jest jako model kontekstu.
Informacje o kontekście węzła sieci zapisywane są wyłącznie z wykorzystaniem terminologii
zawartej w tym modelu. W trakcie projektowania zaproponowano rozwiązanie dla
przechowywania faktów opisujących kontekst węzła oraz określono API udostępniane
programiście w celu łatwego dostępu do danych opisujących kontekst. Istotną kwestią było
uzyskanie rozwiązania, które umoŜliwi szybkie wnioskowanie na podstawie posiadanych
danych oraz modelu kontekstu.
Dla potrzeb reprezentacji ontologii wybrano odpowiedni format jej zapisu (Manchester OWL
Syntax [4]) uproszczając wczytywanie pliku na urządzeniu mobilnym. Wybrany został
równieŜ prosty język ontologii DL-Lite [11], który umoŜliwia szybkie wnioskowanie.
b) Adresowanie za pomocą wyraŜeń tworzonych na podstawie ontologii
Jedną z usług oferowanych programiście przez system MIDAS, jest moŜliwość wysyłania
wiadomości do węzłów sieci o określonym kontekście. W tym celu istotny jest sposób
konstruowania adresów kontekstowych, które za pomocą terminologii pochodzącej z modelu
dziedziny będą w stanie opisać kontekst węzła sieci. Przykładowy adres kontekstowy
przedstawiony na Rys.2 pozwoli przesłać wiadomość do węzłów naleŜących do wszystkich
widzów znajdujących się na stadionie piłki noŜnej, którzy mają znajomych którzy są fanami
gier zespołowych.
Spectator ∏ (∃isLocatedIn.{FootballStadium}) ∏ (∃hasColleague.(∃isFanOf.TeamSport))
Rys.2: Przykład adresu kontekstowego.
Na podstawie przeprowadzonych doświadczeń, autorzy zdecydowali, Ŝe istniejące narzędzia
wnioskujące nie mogą zostać zastosowane do sprawdzania adresu (ang. address resolving).
Podjęta została decyzja o wyborze i samodzielnej implementacji specjalizowanego algorytmu
wnioskującego odpowiedniego dla urządzeń mobilnych.
Zdecydowano się wykorzystać mechanizm ‘conjunctive query’ będący częścią DL-Lite.
Dzięki temu, sprawdzenie adresu na podstawie modelu dziedziny oraz opisu kontekstu węzła
moŜe zostać wykonane w odpowiednio krótkim czasie. Do rozwiązania pozostawiono
opracowanie algorytmu kompresji adresu, w celu zmniejszenia wielkości pola adresowego.
c) Opracowanie zestawu narzędzi do przygotowania ontologii dla urządzeń mobilnych
W związku z wykorzystaniem specyficznego zestawu rozwiązań z dziedziny ontologii,
koniecznym było wykonanie narzędzi do tworzenia i obsługi ontologii przeznaczonych dla
urządzeń mobilnych. W tym celu powstała wtyczka do edytora ontologii Protege [5]
umoŜliwiająca wczytywanie i odczytywanie formatu Manchester Syntax, oraz redukcję
ontologii z poziomu określonego przez język DL-Lite. Dla urządzeń mobilnych, na których
działać będzie projektowany system, stworzono parser ontologii zapisanych w formacie
Manchester Syntax oraz bibliotekę LOnt słuŜącą do reprezentacji ontologii. Istotną cechą tej
biblioteki jest fakt, Ŝe obsługuje ontologie do poziomu OWL-DL [12], oferuje identyczne API
jak Jena [10], a przy tym działa efektywnie na urządzeniach o ograniczonych zasobach.
Proces przygotowania ontologii dla systemu MIDAS za pomocą omówionych narzędzi,
przedstawiono na Rys.3. Pierwszym krokiem jest zaprojektowanie ontologii, która dokładnie
odzwierciedli dziedzinę, w której uruchomiony zostanie system MIDAS. Następnie następuje
redukcja ontologii do logiki DL-Lite. Tak przygotowaną ontologię moŜna zapisać w formacie
Manchester Syntax, i przenieść na urządzenie mobilne jako plik wejściowy dla systemu
MIDAS, który przy uruchomieniu wczyta ontologię z podanego pliku. Po wczytaniu ontologii
powstanie jej reprezentacja obsługiwana przez bibliotekę LOnt, która stanowi część składową
platformy MIDAS.
Rys.3: Proces tworzenia ontologii dla systemu MIDAS.
d) Routowanie obsługujące adresowanie kontekstowe
WaŜną częścią prac było zaproponowanie, symulacja i implementacja specjalizowanego
protokółu routingu wspierającego adresowanie kontekstowe. Implementację przeprowadzono
jako kod dla symulatora sieci NS2 [6], jak równieŜ jako samodzielne oprogramowanie
routujące, działające w środowisku systemu operacyjnego Linux. W protokole
zaproponowano jako model dziedziny hierarchię pojęć. Wsparto adresowanie z
wykorzystaniem adresów złoŜonych z pojęć prostych i złoŜonych z wyłączeniem
uwzględniania relacji (ang. properties). Wykorzystując symulator sieci NS2 przeprowadzono
symulację mające na celu weryfikację poprawności oraz określenie charakterystyki protokołu.
e) Emulator sieci warstwy łącza danych
Jedną z prac podjętych przez IT PW, niezbędnych do testowania komponentów
adresowania i routowania kontekstowego było zaproponowanie emulatora sieci dla warstwy
łącza danych.
W implementacji wykorzystano interfejs TUN/TAP, pliki scenariuszy o tym samym formacie
jak dla symulatora sieci NS2, wraz z przyjaznym interfejsem uŜytkownika bazującym na
implementacji NAM [7]. Wykonana praca stanowi konkurencyjną propozycję dla istniejących
rozwiązań takich jak NEMAN [8].
4. Podsumowanie
W referacie przedstawiono stan projektu MIDAS po pierwszym roku pracy. W tym
okresie zakończono pracę nad architekturą platformy MIDAS zamykając pierwszą z dwóch
faz rozwoju projektu. Podczas pisania tego referatu trwają prace nad implementacją
prototypu. NaleŜy nadmienić, Ŝe wszystkie dokumenty projektu zostały przyjęte i pozytywnie
ocenione przez recenzentów Komisji Europejskiej.
5. Podziękowania
Autorzy wyraŜają podziękowanie pozostałym uczestnikom projektu MIDAS w ITPW, w
szczególności: Marcinowi Jabłonowskiemu, Piotrowi Boetzelowi, Bartłomiejowi
śołnierkiewiczowi, Tomaszowi Łukaszewskiemu za wykonanie części oprogramowania na
potrzeby projektu.
Literatura
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
Strona domowa projektu MIDAS: http://www.ist-midas.org/
„Projekt MIDAS platforma programistyczna do tworzenia i wdraŜania
zaawansowanych usług mobilnych ” KSTiT 2007, Bydgoszcz, 13-15 września 2006r
Joe Gorman „The MIDAS Project: Interworking and Data Sharing”, The 8th
International Symposium on Interworking. Santiago (Chile), 15-19 stycznia 2007r.
M Horridge, N. Drummond, J. Goodwin, Alan Rector, R. Stevens, H. Wang “The
Manchester OWL Syntax” OWL: Experiences and Directions 2006 Athens, Georgia,
USA, 10-11 listopada 2006
Strona edytora ontologii Protégé: http://protege.stanford.edu/
Strona symulatora sieci NS2: http://www.isi.edu/nsnam/ns/
Strona NAM: www.isi.edu/nsnam/nam/
M. Puznar, T Plagemann „NEMAN: A network emulator for mobile ad-hoc networks”
ConTEL 2005.15-17 czerwiec 2005.
Strona Zespołu Aplikacji Mobilnych i Wbudowanych (ang. Mobile and Embedded
Application Group): http://meag.tele.pw.edu.pl
JENA – „A Java API for Ontology Management”: http://jena.sourceforge.net/
Diego Calvanese, Giuseppe De Giacomo, Domenico Lembo, Maurizio Lenzerini,
Riccardo Rosati „DL-lite: Tractable Description Logics for Ontologies” In
Proceedings of the Twentieth National Conference on Artificial Intelligence (AAAI
2005), pages 602-607, 2005.
OWL Web Ontology Language, W3C Recommendation: http://www.w3.org/TR/owlguide/, 10 Luty 2004.