Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
88 Kontext-Modellierung<br />
Bei der Distribution oder Verteilung von erfassten Kontext-Informationen lassen sich dieselben<br />
Technologien einsetzen (bzw. das Netzwerkprotokoll namens AMQP, welches insbesondere für Echtzeit-<br />
Anwendungen geeignet ist), die auch für das Konzept des Kommunikationskanals im Paragraph 5.2.3<br />
aufgeführt worden sind. Im Paragraph 7.3.4 werden zudem die Implementierungsdetails diskutiert.<br />
Nennenswert bleibt an dieser Stelle auch die Verallgemeinerung des Verteilungsvorganges: es können<br />
weitere Technologien eingesetzt werden, die entweder einen direkten Pub-Sub Kommunikationsmechanismus<br />
umsetzen oder dies mithilfe eines Zwischendienstes (engl. Middleware) realisieren.<br />
Die “Abonnenten” können im Sinne des Kontext-Modells andere kontextbewusste Anwendungen aus<br />
derselben Umgebung wie die “produzierenden” Anwendungen sein.<br />
Publisher-Subscriber, oft als PubSub bezeichnet, ist ein allgemeiner Mechanismus, welcher zum<br />
einen die Erstellung von beliebigen “Nachrichten” oder Datenbeständen von einer Anwendung erlaubt<br />
und zum anderen die entsprechende Verteilung der veröffentlichten Datenbestände an beliebige<br />
“Abonnenten” bzw. Anwendungen ermöglicht.<br />
Nachdem die Bausteine des Kontext-Modells definiert worden sind, wird ein kurzer Überblick über<br />
eine mögliche Nutzung des Kontext-Modells anhand eines vereinfachten Anwendungsfalles gegeben.<br />
6.3 Beispielhafte Instanziierung des Kontext-Modells<br />
In der Abbildung 6.10 wird das entworfene Kontext-Modell in einem beispielhaften Szenario einer<br />
“Smart Home” Umgebung eingesetzt. Hierfür wurde eine kontextbewusste Anwendung (SH1,<br />
Platzhalter für “Smart Home 1”) definiert, die von einem mobilen Gerät (HTC_Desire) betrieben<br />
wird.<br />
Die Umgebung wird durch das Lokationsmodell bestimmt und enthält mehrere Räume wie Room_1<br />
und Room_2, die Teil einer Wohnung (Apartment_1) sind. Die Wohnung befindet sich in einem<br />
Gebäude (Building_1), dessen auf GPS-basierende Koordinaten bekannt sind. Darüber hinaus<br />
werden verschiedene räumliche Beziehungen definiert wie Distance_to_Room_1, die die geschätzte<br />
Distanz zwischen den zwei Räumen erfasst.<br />
Fest verankert im System sind Merkmale des Besitzes: das System selber verwendet ein globales<br />
Schema für den Besitz, SH_Sys1_GlobalOwnership, welcher mit einem Zeitstempel und einer<br />
Signatur versehen ist. Dieses AccessToken wird dem anderen Akteur (dem Bewohner) im System<br />
mitgeteilt, sodass ein Zugriff auf die vom System bereitgestellten Gegenstände (s.u) möglich ist.<br />
Die vorher modellierten Gegenstände im System umfassen mehrere Fakten: es gibt ein virtuell modelliertes<br />
Sofa (IntelligentSofa), welches sich im Raum2 befindet. Dieses Sofa wird als “Smart<br />
Object” betrachtet und stellt eine über REST-verfügbare Schnittstelle zu Funktionen wie getDescription()<br />
bereit. Die statische, vorher gegebene Lokalisierung des Sofas ist ein Beispiel für die<br />
Klasse ContextInformation.<br />
Weitere Kontext-Informationen im System werden dynamisch erfasst: auf dem mobilen Gerät<br />
ist ein Sensor zur Vermittlung der aktuellen umgebenden Helligkeit eingebaut. Dieser Sensor wird<br />
benutzt, indem er neue Informationen in Form von Fakten zur Verfügung stellt. Ein Faktum wie<br />
BrightnessFact1 wird von einem “Interpreter” wie BrightnessLuxInterpreter interpretiert<br />
und ergibt dadurch eine profilierte Informationsquelle.