pdf(paper) - MEAG-WWW - Politechnika Warszawska
Transkrypt
pdf(paper) - MEAG-WWW - Politechnika Warszawska
Rys. 3 pokazuje wybrane możliwości narzędzia ODA Web Wizard. Wybrano kilka stron Webowych narzędzia, pokazujących najbardziej typowe zastosowania. *** W artykule przedstawiono cele i założenia projektu SIMS, ze szczególnym uwzględnieniem zadań, w których uczestniczy Instytut Telekomunikacji PW. Zostały omówione „namacalne” wyniki projektu SIMS osiągnięte w ramach prac. Są to m. in. metody reprezentacji usług za pomocą ontologii, ontologia usług telekomunikacyjnych, narzędzie dla fazy tworzenia usługi (Artefact Wizard) oraz narzędzia dla fazy działania usługi (ODA Web Wizard). Dodatkowo zespół zdobył cenne doświadczenie, badaniach nad technikami ontologicznymi (szczególnie nad kontekstem usług telekomunikacyjnych), jak również w pracy w stosunkowo dużych, międzynarodowych projektach badawczych. Osiągnięte wyniki badawcze będą rozwijane w kolejnych projektach10). Narzędzia i powstała ontologia będą wykorzystywane w celach naukowych (m. in. prawdopodobnie zastosowanie narzędzi w pracach eksperymentalnych doktorantów ITPW), jak i dydaktycznych (powstanie kilku prac inżynierskich i magisterskich dotyczących tematyki i zagadnień rozwijanych w projekcie SIMS). W najbliższym czasie (jest to ostatnia faza projektu SIMS) jest planowane stworzenie aplikacji zbudowanych na podstawie metodologii, techniki i narzędzi SIMS i testowe uruchomienie ich, w które będzie zaangażowan ITPW. Oczekuje się, że wyniki eks- 10) Jednym z nich jest projekt europejski POBICOS (http: //ict-pobicos. eu/), gdzie planuje się wykorzystanie technik ontologicznych pokrewnych wykorzystanym w projekcie SIMS do reprezentacji różnych zasobów w sieciach heterogenicznych. Dodatkowo planuje się przeprowadzenie adaptacji narzędzia Artefact Wizard do edycji artefaktów w systemie POBICOS oraz wstępnej walidacji/wyszukiwania artefaktów ontologicznych. perymentalne posłużą walidacji podejścia i umożliwią zebranie bogatych doświadczeń dotyczących potencjału i możliwości wyników projektu. Posłużą też do ilustracji i weryfikacji tez naukowych, które planuje się wkrótce opublikować. LITERATURA [1] Domaszewicz J., et al.: ROVERS: Pervasive Computing Platform for Heterogeneous Sensor-Actuator Networks. In 4th International Workshop on Mobile Distributed Computing (MDC'06). 2006. Niagara-Falls/Buffalo, NY, USA [2] Domaszewicz J., Rój M., and Pruszkowski A.: Opportunistic Pervasive Computing with Domain-Oriented Virtual Machines. Proceedings of the 9th EUROMICRO Conference on Digital System Design. 2006: IEEE Computer Society [3] Domaszewicz J. and Rój M.: Lightweight Ontology-driven Representations in Pervasive Computing. iIn IFIP International Symposium on Network Centric Ubiquitous Systems (NCUS 2005). 2005. Nagasaki, Japan: Springer-Verlag [4] Rój, M., et al.: Ontology-based Use Cases for Design-time and Runtime Composition of Mobile Services. In International Workshop on the Role of Services, Ontologies, and Context in Mobile Environments (RoSOC-M '08). 2008. Bejing, China [5] Sanders R.: Collaborations, Semantic Interfaces and Service Goals: a way forward for Service Engineering. In Faculty of Information Technology, Mathematics and Electrical Engineering, Department of Telematics. 2007, Norwegian University of Science and Technology (NTNU): Trondheim [6] Sanders R. T. et al.: Service Discovery and Component Reuse with Semantic Interfaces. In Proc. of the 12th Int. SDL Forum. 2005. Grimstad, Norway: Springer [7] Dawidziuk R.: Semantic Service Explorer: Klient semantycznych usług sieciowych. In Instytut Telekomunikacji. 2008, Politechnika Warszawska (Warsaw University of Technology): Warszawa [8] Horridge M. et al.: The Manchester OWL Syntax. In OWL Experiences and Directions Workshop (OWLED'06) at the ISWC'06. 2006. Athens, Georgia, USA Artykuł recenzowany Michał KOZIUK*, Jarosław DOMASZEWICZ*, Radosław Olgierd SCHOENEICH*, Krzysztof KACPERSKI* Wykorzystanie ontologii na potrzeby kontekstowych aplikacji mobilnych 1) Ten artykuł prezentuje architekturę systemu umożliwiającego wykorzystanie ontologii na urządzeniach mobilnych opracowaną w ramach projektu 6FP STREP MIDAS (ang. Middleware Platform for Developing Advanced Mobile Services). Architektura umożliwia wykorzystanie ontologii jako modelu domeny oraz reprezentację informacji przechowywanych w systemie zgodnie z zawartą w tej ontologii semantyką. Zaproponowana reprezentacja umożliwia przeprowadzenie wnioskowania w oparciu o posiadane dane. W projekcie MIDAS założono, że całość przetwarzania ontologii zachodzi na urządzeniu mobilnym, bez konieczność korzystania z usług dedykowanego serwera, co umożliwia zastosowanie proponowanego rozwiązania w sieciach bezprzewodowych o ograniczonym dostępie do infrastruktury. * Instytut Telekomunikacji, Politechnika Warszawska, e-mail: [email protected], [email protected] 1) Praca współfinansowana w ramach projektu 6FP STREP - IST MIDAS, numer kontraktu: 027055 PRZEGLĄD TELEKOMUNIKACYJNY z ROCZNIK LXXXI z nr 8–9/2008 Współczesne aplikacje mobilne mają na celu uzyskanie maksymalnej prostoty użytkowania. Jedną z możliwości uzyskania niezwykle prostego interfejsu użytkownika jest stworzenie systemu świadomego kontekstu (context aware) użytkownika. Znając ten kontekst, aplikację można dostosować do niego w celu uzyskania jak najlepszej wydajności lub aby uprościć wyświetlany interfejs. Dla przykładu aplikacja, mająca informacje o planie zajęć, lokalizacji i preferencjach użytkownika oraz o porze dnia, może udostępnić na pierwszym miejscu funkcje, których wykorzystanie jest najbardziej prawdopodobne – dla kogoś, kto codziennie wieczorem ogląda w domu telewizję taką funkcją jest plan jego ulubionych kanałów telewizyjnych. Jednym z zagadnień leżących u podstaw aplikacji kontekstowych, jest definicja kontekstu. W literaturze pojawiło się dotychczas wiele takich definicji, które zasadniczo nie różniły się zbyt, nio od siebie. Przyjeto definicję według A. Dey a i G. Abowda [1]: Kontekst to dowolna informacja, która może zostać wykorzystana, aby opisać sytuację jednostki. Jednostką może być osoba, miejsce lub obiekt uważany za istotny dla interakcji pomiędzy użytkownikiem a aplikacją (w tym również sam użytkownik oraz sama aplikacja). 957 Aby umożliwić aplikacjom korzystanie z informacji kontekstowych, jest konieczna warstwa pośrednia (middleware) odpowiedzialna za wykonywanie następujących funkcji: z modelowanie i reprezentacja kontekstu, z wnioskowanie, z synteza kontekstu, z pozyskiwanie informacji kontekstowych. Elementem składowym architektury warstwy pośredniej MIDAS [2] jest system zarządzający kontekstem spełniający przedstawione powyżej wymagania. W ramach niniejszej publikacji omówiono stworzony przez nas komponent wchodzący w skład projektu MIDAS, udostępniający na potrzeby pozostałych komponentów systemu funkcje a i b. Komponent ten to tzw. kontekstowa baza wiedzy (Context Knowledge Base). Funkcja c została zaimplementowana przez współpracującą z nami szwedzką firmę Appear Networks, natomiast funkcja d została zdefiniowana jako zbiór aplikacji współpracujących z warstwą pośrednią MIDAS w celu dostarczania informacji kontekstowych. WYKORZYSTANIE ONTOLOGII W SYSTEMIE MIDAS Modelowanie kontekstu W rozwiązaniu przyjętym przez projekt MIDAS modelem kontekstu jest ontologia. Zawarte w ontologii pojęcia (głównie klasy i relacje) tworzą semantyczną strukturę, opisującą pewien wybrany fragment świata (dziedzinę). Zawartość ontologii zależy od dziedziny zastosowania platformy MIDAS2) . Dla przykładu w sytuacji, gdy dziedziną zastosowania są sytuacje kryzysowe, ontologia powinna między innymi odzwierciedlać proces zarządzania sytuacjami kryzysowymi. Fragment ontologii, przedstawiony na rys. 1, jest skupiony wokół klasy Incident. Każdej instancji tej kla- Rys. 1. Fragment modelu kontekstu w formie ontologii (relacje) sy, czyli każdemu wydarzeniu kryzysowemu, można przypisać takie dane, jak: czas, typ i status zdarzenia lub dodatkowe informacje. W tym celu należy wykorzystać relacje przypisujące dane konkretnych typów do klas (tzw. datatype property), jak np. incidentType. Dodatkowo w przedstawionej ontologii występują relacje pomiędzy instancjami dwóch klas (tzw. object property), dzięki którym można np. wyrazić powiązania między sytuacją kryzysową a liniami metra, których ona dotyczy (relacja relates_To_Line), lub określić procedurę wykorzystywaną przy obsłudze konkretnego zdarzenia (relacja hasProcedure). 2) Zgodnie z założeniami projektu platforma MIDAS jest przeznaczona do zastosowania przy obsłudze wydarzeń o krótkim okresie trwania i dużej liczbie użytkowników takich jak sytuacje kryzysowe lub wydarzenia sportowe 958 Rys. 2. Fragment modelu kontekstu w formie ontologii (hierarchia klas) Wszystkie klasy występujące w ontologii są ułożone w hierarchię klas (rys. 2). Przykładowo wszystkie instancje należące do klasy Manager są również instancjami klasy Metro_Staff, ponieważ klasa Manager jest podklasą klasy Metro_Staff (co stanowi najprostszy przykład wnioskowania na podstawie ontologii). Analogicznie w modelu kontekstu może występować również hierarchia relacji. Logika deskryptywna DL-Lite Standardowe ontologie wyrażone w języku OWL-DL[3] (lub OWL-Lite) wymagają zaawansowanych narzędzi, wnioskujących ze względu na liczbę dostępnych konstrukcji. Dostępne narzędzia (takie jak np. Pellet [4]), są tworzone dla komputerów stacjonarnych i ze względu na ich duże wymagania (pamięć operacyjna i moc obliczeniowa) nie można ich zastosować w urządzeniach mobilnych. Czas potrzebny do wykonania przez oprogramowanie Pellet wnioskowania na komputerze stacjonarnym to wartości rzędu 1s, co praktycznie oznacza brak możliwości wykorzystania go w urządzeniach mobilnych. W celu umożliwienia wnioskowania w urządzeniach mobilnych jest konieczne wykorzystanie logiki prostszej niż OWL-DL, która oferuje dobre proporcje pomiędzy złożonością ontologii a prędkością wnioskowania. W projekcie MIDAS postanowiono wykorzystać logikę DL-Lite [5][6], która stanowi podzbiór logiki OWLDL dobrany tak, aby było możliwe mapowanie ontologii na struktury relacyjnej bazy danych. Dzięki temu wnioskowanie może wykorzystać gotowe bazodanowe algorytmy przeszukiwania danych, co w rezultacie daje prosty i efektywny system. Logika DL-Lite umożliwia korzystanie z klas, relacji oraz instancji. Klasy mogą być łączone w hierarchię; można również zdefiniować rozłączność klas. W analogiczny sposób można też definiować relacje, które dodatkowo można również oznaczyć jako funkcjonalne3) lub odwrotnie funkcjonalne. W celu wyrażenia zależności między klasami a relacjami można wykorzystać następujące elementy logiki DL: z definiowanie dziedziny i przeciwdziedziny relacji; w ten sposób można określić, jakie klasy mogą zawierać się w dziedzinie/przeciwdziedzinie danej relacji, z definiowanie restrykcji dla klas; w ten sposób można zdefiniować ograniczenie na instancje danej klasy, które określi, jakie relacje muszą być zdefiniowane dla tych instancji. 3) Relacje będące funkcjami PRZEGLĄD TELEKOMUNIKACYJNY z ROCZNIK LXXXI z nr 8–9/2008 Za pomocą opisanych powyżej elementów logiki DL-Lite można zbudować ontologię służącą jako model kontekstu dla projektu MIDAS. Za pomocą hierarchii klas można zdefiniować oraz uporządkować typy obiektów występujących w modelowanej dziedzinie, jak np. role użytkowników systemu lub typy miejsc, w których użytkownicy ci mogą się znaleźć. Kolejnym etapem modelowania dziedziny będzie wyrażenie zależności pomiędzy obiektami poszczególnych klas obiektów w formie relacji Object properties. Dodatkowo każdemu obiektowi można przypisać zestaw charakteryzujących go atrybutów, definiując klasę tych obiektów jako domenę relacji Datatype property (atrybuty wymagane definiuje się przez dodatkowe dodanie restrykcji dla wybranej klasy). Reprezentacja kontekstu Reprezentacja kontekstu w projekcie MIDAS składa się z dwóch części: modelu kontekstu i danych o kontekście. Dane o kontekście są reprezentowane za pomocą instancji logiki DL-Lite. Każdy obiekt ze świata rzeczywistego może zostać przedstawiony jako instancja, która należy do dowolnej liczby nierozłącznych klas i ma przypisaną dowolną liczbę wartości dla dowolnej liczby relacji. Zależności pomiędzy dowolnymi dwoma obiektami są reprezentowane przez relacje między dwoma instancjami, które mogą być dodawane/usuwane w trakcie działania systemu (podobnie jak instancje). W ten sposób system MIDAS zyskuje dostęp do dynamicznie zmieniającej się bazy wiedzy, której stałym elementem jest model danych (tak zwany TBox), a zbiór instancji klas oraz relacji (ABox) zmienia się wraz ze zmianą kontekstu węzła. Zgodnie z założeniami logiki DL-Lite dane o kontekście są przechowywane w relacyjnej bazie danych. W DL-Lite schemat tablic bazy danych jest generowany z części TBox ontologii, czyli z modelu kontekstu, w następujący sposób: z dla każdej klasy jest tworzona tabela o nazwie identycznej z nazwą tej klasy, mająca jedną kolumnę zawierającą identyfikatory instancji należących do danej klasy, z dla każdej relacji jest tworzona tabela o nazwie identycznej z nazwą relacji klasy, mająca dwie kolumny; pierwsza z kolumn zawiera identyfikator instancji znajdującej się w dziedzinie relacji; druga zawiera identyfikator instancji, będącej wartością tej relacji (dla Object properties) lub po prostu wartość (Integer, Float, String lub Boolean) tej relacji (dla Datatype properties). Opisana powyżej struktura bazy danych została zaprojektowana tak, aby umożliwić wyszukiwanie w niej zbiorów instancji o określonych parametrach (co jest celem algorytmu wnioskującego logiki DL-Lite). Wykorzystanie wielu niewielkich tabelek wynika z przyjętego przez twórców DL-Lite założenia dotyczącego zapewnienia wsparcia dla bardzo dużej liczby instancji. Ponieważ w projekcie MIDAS wymagania dla funkcjonalności kontekstowej bazy wiedzy są nieco większe niż zapewniane przez standardowe mechanizmy DL-Lite (np. niezbędna jest funkcjonalność wyszukiwania wszystkich klas, do których należy wybrana instancja) oraz liczba instancji nie powinna być zbyt duża, w projekcie MIDAS ta struktura bazy danych została zmieniona w następujący sposób4) : z istnieje jedna tabela służąca do przechowywania listy wszystkich istniejących instancji, która posiada jedną kolumnę zawierającą identyfikatory instancji, z istnieje jedna tabela służąca do przypisywania klas do instan- 4) Przedstawiona struktura bazy danych jest niepełna. W rzeczywistej implementacji w ramach projektu, ze względu na dodatkowe wymagania innych komponentów warstwy pośredniej, są jeszcze wykorzystywane dodatkowe tabele bazy danych. Ze względu na brak powiązań z zagadnieniami przedstawianymi w tym artykule, nie zostały one omówione PRZEGLĄD TELEKOMUNIKACYJNY z ROCZNIK LXXXI z nr 8–9/2008 cji, która ma jedną kolumnę zawierającą identyfikatory instancji, i drugą z nazwą klasy, z istnieje jedna tabela służąca do przypisywania wartości relacji do instancji, która ma jedną kolumnę zawierającą identyfikatory instancji, drugą z nazwą relacji, a trzecią z wartością tej relacji. Wnioskowanie Logika DL-Lite udostępnia mechanizm wnioskujący, który umożliwia wyszukiwanie instancji spełniających określone kryteria. Kryterium wyszukiwania ma formę wyrażenia logicznego tak zwanego conjunctive query, które jest iloczynem logicznym prostych elementów składowych (atomów), takich jak na przykład stwierdzenia, że instancje muszą należeć do wybranej klasy. Szczegółowy opis mechanizmu conjunctive query można znaleźć w [4]. Zgodnie z założeniami logiki DL-Lite proces wnioskowania przebiega następująco. z Dla każdego kolejnego atomu zawartego w wyrażeniu conjunctive query, na podstawie części TBox, ontologii, będącej modelem dziedziny, są znajdywane wszystkie alternatywne atomy, którymi można zastąpić dany atom. W ten sposób powstają dodatkowe (równoważne) wyrażenia conjunctive query. Proces powtarzany jest aż do uzyskania wszelkich możliwych wyrażeń. Przykładowo, jeżeli ontologia zawiera a klasę Człowiek, która ma dwie podklasy: Kobieta i Mężczyzna, wyrażenie conjunctive query w postaci: Człowiek (x) powinno zwrócić wszystkie instancje reprezentujące ludzi. Przez wnioskowanie zostaną wygenerowane dodatkowe dwa wyrażenia: Kobieta (x) oraz Mężczyzna (x). z Dla każdego z wyrażeń conjunctive query wytworzonych w ramach procesu wnioskowania jest wykonywane odpowiednie zapytanie na relacyjnej bazie danych (zawierającej dane o kontekście, czyli informacje o wszystkich istniejących instancjach), które zwraca listę wszystkich instancji odpowiadających danemu zapytaniu. Przykładowo, dla każdego z trzech wygenerowanych wyrażeń conjunctive query są wykonywane następujące zapytania do bazy danych: Conjunctive query Człowiek (x) Kobieta (x) Mężczyzna (x) Zapytanie SQL SELECT instanceID FROM Człowiek SELECT instanceID FROM Kobieta SELECT instanceID FROM Mężczyzna Przykładowy wynik x1, x2, x3 y1, z1, z2 z Wynikiem wnioskowania jest suma zbiorów instancji uzyskanych poprzez wykonywanie zapytań do bazy danych dla każdego wygenerowanego przez wnioskowanie wyrażenia conjunctive query. Dla wybranego przykładu wynikiem wnioskowania wykonanego dla wyrażenia Człowiek (x) będzie zbiór sześciu instancji: x1, x2, x3, y1, z1, z2. Implementacja tego algorytmu w ramach projektu MIDAS została zastosowana w celu sprawdzenia, czy jedna wybrana instancja pasuje do wyrażenia conjunctive query. W związku z tym opisany powyżej algorytm został zmodyfikowany w celu poprawy wydajności przetwarzania wyrażeń conjunctive query: z zapytania do bazy danych zostały zmodyfikowane przez dodanie warunku: WHERE instanceID = wybranaInstancja z zapytania do bazy danych są wykonywane jedynie do momentu, gdy dla dowolnego conjunctive query zostanie uzyskany wynik pozytywny (ponieważ oznacza to, że wybrana instancja odpowiada sprawdzanemu wyrażeniu). 959 ARCHITEKTURA SYSTEMU Plik zawierający ontologię jest dołączany do platformy MIDAS, gdzie zostaje odczytany przez komponent CKB (kontekstową bazę wiedzy) podczas uruchamiania warstwy pośredniej. Dzięki temu oprogramowanie warstwy pośredniej jest niezależne od dziedziny i ten sam kod może zostać użyty dla wielu różnych dziedzin. Wystarczy jedynie wymienić ontologię, aby móc uruchomić aplikacje kontekstowe przeznaczone dla innej dziedziny. Ontologia jest zapisywana w formacie Manchester OWL Syntax [7], który jest wczytywany za pomocą parsera wygenerowanego przez narzędzie JavaCC [8]. Informacje odczytane z pliku ontologii są następnie umieszczane w bibliotece LOnt, wykorzystywanej przez komponent CKB do przechowywania struktury ontologii. Zarówno biblioteka Lont, jak i zastosowanie składni Manchester OWL Syntax, zostało wykonane w ramach pracy magisterskiej [9] na potrzeby projektu MIDAS. Komponent CKB (podobnie jak większość warstwy pośredniej MIDAS) napisano w języku Java, wykorzystując biblioteki zgodne z Java 1.4.2. Do celów testowych wykorzystano bazę danych HSQL [10]. WYNIKI TESTÓW Implementacja komponentu CKB została przetestowana na urządzeniu Nokia N800 [11] (procesor 330 MHz, pamięć RAM 128 MB). Testowano trzy istotne parametry wydajności wykonanego oprogramowania: opóźnienia przy dostępie do modelu kontekstu (czyli do części TBox ontologii), opóźnienia przy dostępie (zapis, odczyt, usunięcie) do danych o kontekście (czyli do części ABox ontologii) oraz opóźnienia przy wnioskowaniu. W ramach testów każda badana metoda była wywoływana N=100 razy i był mierzony czas dla N wykonań. Uzyskana wartość czasu wykonywania metody jest średnią wyliczoną ze zmierzonej wartości, dzięki czemu unika się wpływu czynników losowych (działania pozostałych procesów systemu operacyjnego) na wartości pomiarów. Dostęp do informacji o modelu kontekstu (bez wykorzystania wnioskowania) to czasy rzędu 0–2 ms, w zależności od złożoności modelu (np. zapytanie o podklasy trwa tym dłużej, im więcej jest tych podklas). Zapis oraz usuwanie danych o kontekście (czyli takie operacje, jak: stworzenie nowej instancji, dodanie wartości relacji lub ustawienie wartości relacji) zajmuje czas rzędu 10–20 ms, natomiast odczyt danych (pojedynczej wartości) zajmuje około 4–6 ms. Oznacza to, że nawet na urządzeniu mobilnym jest możliwe wprowadzanie stosunkowo dużej liczby informacji do systemu, a ich odczytywanie wprowadza minimalne opóźnienia. Widoczna jest znaczna różnica pomiędzy metodami, które wymagają dostępu do bazy danych (modyfikacja informacji kontekstowych) a tymi szybszymi, które korzystają jedynie z modelu przechowywanego w bibliotece Lont (dostęp do modelu kontekstu). Badania nad wydajnością komponentu CKB pokazały, że głównym czynnikiem wpływającym na wydajność metod związanych z modyfikacją kontekstu jest wydajność bazy danych – w przypadku wykorzystania bazy danych H2 (zamiast HSQL) wydajność komponentu była znacząco niższa. Wydajność wnioskowania zależy bezpośrednio od wydajności zarówno dostępu do informacji o strukturze ontologii, jak i od wydajności dostępu do informacji kontekstowych. Dodatkowo czas wnioskowania zależy od stopnia złożoności wyrażenia conjunctive query. Zmierzony czas wykonania najprostszego conjunctive query (które złożone jest z jednego atomu składowego i nie generuje dodatkowych wyrażeń w trakcie wnioskowania) wyniósł ok. 25 ms, natomiast dla sześciu atomów wzrósł do 150 ms. W przypadku gdy liczba dodatkowych zapytań wygenerowanych w ramach wnioskowania rośnie, czas wnioskowania wzrasta od ok. 35 ms (gdy nie ma możliwości wygenerowania dodatkowych wyrażeń) do 800 ms, gdy w wyniku wnioskowania powstaną 23 nowe wyrażenia. 960 Widać wyraźnie, że prędkość wnioskowania zależy zarówno od złożoności modelu, jak i od złożoności wyrażenia conjunctive query. Czasy uzyskane w urządzeniu mobilnym są zadowalające dla prostego modelu dziedziny i prostego wyrażenia conjunctive query. W pozostałych sytuacjach czas wnioskowania wydłuża się znacząco (jednak pozostaje na poziomie akceptowalnym dla klasy usług o dużej tolerancji na opóźnienia, jak na przykład wymiana wiadomości typu SMS). Kolejnym krokiem będzie implementacja mechanizmów cache'owania wyników wnioskowania, co powinno poprawić uzyskane czasy (zwłaszcza w sytuacjach, gdy kontekst węzła nie ulega zmianie, a wyrażenia conjunctive query powtarzają się). Przechowywane wyniki wnioskowania dla tych wyrażeń pozostaną prawdziwe, dopóki kontekst węzła nie ulegnie zmianie, co w rzeczywistych sytuacjach może być prawdą dla wielu węzłów sieci. *** W ramach prac wykonanych przez Instytut Telekomunikacji PW w projekcie 6FP STREP MIDAS (Middleware Platform for Developing and Deploying Advanced Mobile Services, numer kontraktu: 027055) powstało oprogramowanie umożliwiające praktyczne wykorzystanie ontologii w urządzeniach mobilnych. Dzięki ograniczeniu ekspresywności ontologii, uzyskano wydajność porównywalną z oferowaną przez narzędzia dostępne dla komputerów stacjonarnych. Otwiera to nowe możliwości w dziedzinie mobilnych aplikacji kontekstowych, które dotychczas w większości przypadków musiały korzystać z dedykowanego serwera odpowiedzialnego za obsługę ontologii i wnioskowanie. Brak konieczności dostępu do serwera oznacza możliwość korzystania z ontologii w urządzeniach mobilnych o ograniczonych możliwościach komunikacyjnych, jak na przykład w mobilnych sieciach peer-to-peer. Dodatkowe informacje o wykorzystaniu opisanej tu kontekstowej bazy wiedzy w ramach projektu MIDAS są dostępne w publikacji [12]. LITERATURA [1] Abowd G. D., Dey A. K. Brown, P. J., Davie N., Smith M. and Steggles: Towards a Better Understanding of Context and Context-Awareness. In Proceedings of the 1st international Symposium on Handheld and Ubiquitous Computing (Karlsruhe, Germany, 27 – 29 września 1999). H. Gellersen Ed. Lecture Notes In Computer Science, vol. 1707. Springer-Verlag, London [2] Gorman J.: The MIDAS Project: Interworking and Data Sharing, The 8th International Symposium on Interworking. Santiago (Chile), 15-19 stycznia 2007 [3] OWL Web Ontology Languag, W3C Recommendation: http: //www. w3. org/TR/owl-guide/, 10 lutego 2004 [4] Siri E., Parsia, B., Grau, B. C., Kalyanpu, A., and Katz, Y.: Pellet: A practical OWL-DL reasoner. Web Semant. 5, 2 (Jun. 2007), 51-53. DOI= http: //dx. doi. org/10.1016/j. websem. 2007.03.004 [5] Calvanese D., De Giacomo G., Lembo D., Lenzerin M., Rosati R.: DL-lite: Tractable Description Logics for Ontologies In Proceedings of the Twentieth National Conference on Artificial Intelligence (AAAI 2005) 2005 [6] Grau B. C.: The University of Manchester: OWL 1.1 Web Ontology Language, Tractable Fragments (19 December 2006) http: //www. w3. org/Submission/owl11-tractable/ [7] Horridge M., Drummond N., Goodwin J., Rector A., Stevens R., Wang H.: The Manchester OWL Syntax OWL: Experiences and Directions 2006 Athens, Georgia, USA, 10–11 listopada 2006 [8] Java Compiler Compiler [tm] – The Java Parser Generator – https: //javacc. dev. java. net/ [9] Jabłonowski M. and Boetzel P.: Middleware Layer For Semantic Object Tagging, Master Thesis at Warsaw University of Technology, The Department of Electronics and Information Technology, The Institute of Telecommunications, promotor: J. Domaszewicz. Warszawa, 2007 [10] HSQL: A java database engine v. 1.7.3 (2005-02-07) http: //hsqldb. org/ [11] NOKIA N800: Product homepage (2008) http: //www. nseries. com/products/n800/ [12] Koziuk M. and Domaszewicz J. and Schoeneich R. O. and Jabłonowski M. and Boetzel P.: Context-Addressable Messaging with a DL-Lite Domain Model, zgłoszony na: 3rd IEEE European Conference on Smart Sensing and Context, October 29-31, 2008 Zurich, Switzerland PRZEGLĄD TELEKOMUNIKACYJNY z ROCZNIK LXXXI z nr 8–9/2008