Department of Distributed Systems Hely- és kontextusfüggő alkalmazások fejlesztését támogató keretrendszer mobil környezetben MTA SZTAKI Elosztott Rendszerek Osztály - Mátételki Péter matetelki@sztaki.hu
Kontextus Mi a kontextus? Wikipedia: Kontextusnak (vagy környezetnek) azokat a körülményeket és állapotokat nevezzük, amelyek egy eseményt körbefognak, körülölelnek. Egy szituációhoz kapcsolódó összes körülmény, állapot és egyéb ismeretek halmaza, beleértve a szituációban résztvevők tulajdonságait, állapotát és minden körülményeit. Számos feltétel szerinti csoportosítható, pl. Explicit kontextus: környezet azon része, melyet a felhasználó tudatosan megad, definiál Implicit kontextus: azon körülmények halmaza, melyek a szituációból adódnak A Keretrendszer szempontjából Egy felhasználó aktuális környezete és állapota 1. Preferenciák 2. Fogyatékosságok 3. Földrajzi pozíció 4. Környezet leírása (pl. épületek) 5. Múltbéli cselekedetek, történések 2007. március 27. 2
Motivációk Cél: mobil helyfüggő szolgáltatások fejlesztésének támogatása, szolgáltatások kiterjesztése Jelenlegi problémák Számos eltérő helymeghatározási technológia létezik, melyek Eltérő kezelést, felhasználást Eltérő eszközöket igényelnek Helyfüggő szolgáltatások nem veszik figyelembe a valós környezetet Megoldások Helymeghatározási technológiák integrálása Technológiai különbségek elfedése a felhasználók és fejlesztők elől Eredmények kombinálása Nagyobb lefedettség -rendelkezésre állás - megbízhatóság, hihetőség Környezet modelljét (pl. épület falai) figyelembe veszi a rendszer 2007. március 27. 3
Motivációk Jelenlegi problémák Csak a pozíció felhasználásával a szolgáltatások szegényesek, nem testreszabhatóak A szolgáltatások nem adaptívak, nem illeszkednek a felhasználó szokásaihoz Kontextusok eltérő jellegű adatokat igényelnek Megoldások Helyfüggő => kontextusfüggő szolgáltatások Több felhasználói kontextus (preferenciák, fogyatékosságok) Hely kontextus kiemelten fontos Ajánlórendszer felhasználása A felhasználó múltbéli adatai alapján becslést ad a jövőre Felhasználói kontextusok leírása ontológiákkal Flexibilis adatmodell Logikai következtetés Eredmény: könnyen építhető, tetszőleges pozícionáló eszközzel felhasználható intelligens kontextusfüggő szolgáltatások (fejlesztésének támogatása) 2007. március 27. 4
Alkalmazások Department of Keretrendszer Ontológia manager Ontológiák Állapotkezelő App2Core WS interfész Ontológia kezelő Geometria kezelő Ajánlórendszer Context2Core WS interfész Context Middleware WS interfész Architektúra Admin web interfész Logika WS interfész Adatbázis Kontextusok Location Middleware Pozíció kiértékelő Arbitráció 1. Arbitráció 2. Arbitráció n. Pozíció cache Akadályozottság Preferencia Múlt ExtWIFI ExtGSM ExtGPS ExtRFID 2007. március 27. Mobil Innovációs Központ 5 WIFI GSM GPS RFID
Modulok Hely kontextus Location Middleware Összetett alrendszer Integrál különféle pozícionálási technológiát (pl. RFID, WLAN) Növeli a helymeghatározás Rendelkezésreállását Pontosságát Hihetőségét Kontextuskezelő alrendszer Egységes kontextus-kezelés Eszköz-felhasználó párosítás Adatbázis tárolja pl. a Felhasználókat Eszközöket, eszköztípusokat, ezek paramétereit Kontextusokat Kontextus-Eszköztípus párokat Felhasználó-Eszköz párokat Felhasználó Fizikai jellemzők Hatótávolság Pontosság Fogyasztás Sávszélesség Szolgáltatás jellemzői Költség Megbízhatóság QoS Rendelkezésreállás Lokális, változó jellemzők Jelerősség Kontextus Eszköztípus Paraméterek Szolgáltató 2007. március 27. Eszköz 6
Modulok Keretrendszer: kontextusfüggő logikai következtetés Ontológiák a felhasználói kontextusokhoz Térbeli pozíció Preferencia Akadályozottság Állapotkezelő Ontológia alapú kontextus-adat kezelés Tárolás és keresés Geometria kezelő Térmodell definiálás Szolgáltatások: pl. láthatóság két pont között Ajánlórendszer Felhasználó historikus adatai alapján ajánlatok Minta-szolgáltatás A felhasználó látja-e B felhasználót? 2007. március 27. 7
Ontológia osztályhierarchia 2007. március 27. 8
Működés 0. Rendszerbeállítások - ContextMiddleware adminisztrációs webinterfész Rendszerparaméterek beállítása Felhasználók, eszközök, eszköztípusok, stb. definiálása Felhasználók és helymeghatározó eszközök összerendelése 2007. március 27. 9
Működés 1. Pozíció-információ érkezik 1.a. ContextMiddleware A bejövő adat: (IMEI:351525/00/526286/1, Coordinates2D, {HasCoordinateX=112, HasCoordinateY=225, HasProbabilityX=95, HasProbabilityY=98, HasPrecisionY=1, HasPrecisionX=5}) Az eszköznév alapján a ContextMiddleware meghatározza a hozzá tartozó felhasználót (jelen esetben Pista). Az módisított adatokat ContextMiddleware továbbküldi a Keretrendszernek. (m_peter, Coordinates2D, {HasCoordinateX=112, HasCoordinateY=225, HasProbabilityX=95, HasProbabilityY=98, HasPrecisionY=1, HasPrecisionX=5}) A ContextMiddleware és a Keretrendszer WebService interfészen keresztül kommunikál. 2007. március 27. 10
Működés 1.b. Beérkezik az adat a keretrendszerhez Az adat a WebService interfésztől az Állapotkezelő Ontológiakezelőjéhez jut. Megkeresi a felhasználót Megvizsgálja az ontológiát, ellenőrzi, hogy létezik-e a hivatkozott néven ontológia, majd megkeresi a paramétereket. Siker esetén a felhasználói kontextusok alosztályaként új példány keletkezik az ontológiában, mely tükrözi a bejövő adatokat. (m_peter, Coordinates2D, {HasCoordinateX=112, HasCoordinateY=225, HasProbabilityX=95, HasProbabilityY=98, HasPrecisionY=1, HasPrecisionX=5}) Felhasználó Kontextus (ontológia) Paraméterek 2007. március 27. 11
Működés 2. Keretrendszer szolgáltatásainak igénybevétele A keretrendszer szolgáltatásai WebService interfészen keresztül vehetők igénybe. 2.a. Minta-szolgáltatás: "Látja-e Pista Marit?" 1. Mindkét felhasználó pozíciójának lekérdezése az ontológiából az Ontológia-kezelőn keresztül 2. A Geometria-kezelő 1. a felhasználókat a kapott koordinátáik alapján elhelyezi a definiált térben 2. majd ellenőrzi, hogy közöttük található-e valamilyen tárgy 3. A lekérdezésnek szöveges és grafikus eredménye is van A szöveges eredmény 0, 1 vagy -1 A grafikus eredmény pedig egy kép, melyen látható az aktuális geometriai elrendezés és a két felhasználó. Amennyiben nem látják egymást, akkor a láthatóságot megakadályozó objektum ki van emelve pirossal. 2007. március 27. 12
Működés Látják egymást Nem látják egymást 2007. március 27. 13
Működés 2.b. Minta-szolgáltatás: Felhasználó folyamatos követése A pozíció-információt és a felhasználói kontextusokat felhasználva tetszőleges helyfüggő szolgáltatás építhető. 2007. március 27. 14
Implementáció SOA megközelítés rendszer-szinten 3 szintű architektúra modulokon belül EJB logika WebService Web interfész DWR Ontológia OWL ProtegeOWL API SPARQL Geometriai ábrázolás J2D J3D VRML 2007. március 27. 15
Összegzés A Keretrendszer segítségével magasabb szintű hely- és kontextusfüggő szolgáltatásokat. A felhasználókat így magasabb szinten lehet kiszolgálni. A keretrendszer a jelenlegi helyfüggő szolgáltatásokat kontextusfüggő szolgáltatássá bővíti, hiszen többféle felhasználói kontextust támogat melyek elérése egy egységes adathozzáférést biztosító, szemantikus rendszerkomponensen keresztül valósul meg Az eddig 2D-ben használt helyfüggő szolgáltatásokat kiterjeszti 3D-re A kontextusfüggő szolgáltatások az ajánlórendszerek segítségével tanuló, intelligens rendszerré alakíthatók A fejlesztők könnyen készíthetnek a manapság elterjedteknél 2007. március 27. 16
Eredmények Hely kontextus: összetett, intelligens alrendszer Eltérő helymeghatározási technológiák integrálása, szimultán használata Újfajta pozícionálási technológiákat is használ (RFID, WIFI alapú) A különbségeket elfedi a felhasználók és fejlesztők elől A fejlesztők a pozícionálási technológiától elvonatkoztatva fejleszthetnek A felhasználók bármely helymeghatározó eszközükkel használhatják a szolgáltatásokat Több helymeghatározó eszköz esetén Észrevétlen átjárás a technológiák között A különféle eszközök által szolgáltatott pozíció-információkat kombinálja Szolgáltatásnak megnő a lefedettsége, Rendelkezésre állása Az eredmény nagyobb pontosságú és Hihetőbb 2007. március 27. 17
Köszönöm a figyelmüket! http://dsd.sztaki.hu Email: matetelki.peter@sztaki.hu 2007. március 27. 18