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.