22.01.2014 Aufrufe

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!