2010-05: Softwareunterstützung für adaptive eHome-Systeme
The following technical report is available from http://aib.informatik.rwth-aachen.de: Softwareunterstützung für adaptive eHome-Systeme Daniel Retkowitz AIB 2010-05 eHomes sind Umgebungen, die sich durch eine Vernetzung der vorhandenen Geräte auszeichnen, und in denen komplexe geräteübergreifende Funktionalitäten in Form von Diensten angeboten werden. Übergreifende Funktionalitäten gehören im Automobil bereits heute zum Standard, in Wohnumgebungen sind sie jedoch bislang nicht verbreitet. Aber auch hier gibt es verschiedenste Anwendungsfelder für solche Funktionalitäten, z.B. in den Bereichen Sicherheit, Komfort, Multimedia, Kommunikation oder auch bei der medizinischen Überwachung und der Unterstützung von Senioren. Daher werden eHomes in Zukunft an Bedeutung gewinnen. Für die Entwicklung von eHomes müssen eine Reihe von Herausforderungen überwunden werden. Ein wesentlicher Aspekt ist die Berücksichtigung von Mobilität und Dynamik in eHomes, die sich sowohl auf die Bewohner als auch auf die Geräteumgebung beziehen. Da in eHomes eine Vielzahl von Standards Anwendung finden, muss außerdem der daraus resultierenden Heterogenität Rechnung getragen werden, um die Interoperabilität der Dienste zu gewährleisten. Damit eHomes kostengünstig realisiert werden können, muss insbesondere eine geeignete Infrastruktur bereitgestellt werden, die die Entwicklung von Diensten und die Interaktion mit dem eHome-System vereinfacht. Sowohl für die Dienstentwicklung als auch für den Betrieb von eHomes sind daher geeignete Softwarewerkzeuge erforderlich. Bisher wurde am Lehrstuhl für Informatik 3 (Softwaretechnik) der RWTH Aachen bereits ein Ansatz erarbeitet, der die Entwicklung von eHome- Diensten durch den Einsatz wiederverwendbarer Standardkomponenten für die Dienstimplementierung vereinfacht. Im sogenannten SCD-Prozess, der sich aus den Phasen Spezifizierung, Konfigurierung und Deployment zusammensetzt, werden die Benutzerwünsche erfasst, und es wird darauf basierend eine eHome-spezifische Dienstkomposition erstellt und dann zur Ausführung gebracht. Ein entsprechendes Werkzeug unterstützt diesen Prozess. Die vorliegende Arbeit erweitert die bisherigen Konzepte durch Mechanismen zur dynamischen Adaption. Dabei wird der bisherige SCD-Prozess, der die Installationsphase eines eHomes abdeckt, zu einem kontinuierlichen SCD- Prozess erweitert, der eine Unterstützung im laufenden Betrieb des eHomes ermöglicht. Die strukturelle Adaption dient der dynamischen Anpassung der Dienstkomposition. Änderungen, die sich aus Mobilität und Dynamik ergeben, können so zur Laufzeit berücksichtigt werden. Damit dies soweit möglich automatisch durchgeführt werden kann, werden Erweiterungen der Dienstspezifikation eingeführt, die es dem Entwickler erlauben, das spätere Bindungsverhalten sowie mögliche Einschränkungen der Bindungen festzulegen. Durch die neu eingeführten Mechanismen kann die Mehrfachentwicklung von Querschnittsfunktionalitäten zur personen- und kontextbezogenen Konfigurierung vermieden werden, was den Aufwand der Dienstentwicklung reduziert. Die semantische Adaption ermöglicht die Überwindung syntaktischer Inkompatibilitäten, die sich aus der Heterogenität in eHomes ergeben. Dazu wird die Dienstspezifikation um eine semantische Beschreibung ergänzt, die die syntaktischen Elemente der Dienstschnittstellen auf semantische Konzepte einer domänenspezifischen Ontologie abbildet. Dies schafft die Grundlage für eine Dienstkomposition auf Basis semantisch übereinstimmender Funktionalitäten. Ein im Rahmen der vorliegenden Arbeit entwickelter Mechanismus zur automatischen Adaptergenerierung ermöglicht die praktische Umsetzung des Ansatzes. Die Ergebnisse dieser Arbeit liefern einen wissenschaftlichen Beitrag in verschiedenen Bereichen. Der verfolgte Ansatz ist spezifisch auf die Anwendungsdomäne eHomes ausgerichtet. Darin unterscheidet er sich von anderen Ansätzen, die sich häufig mit allgemeinen Fragen der dynamischen Dienstkomposition befassen. So ist eine gezieltere Unterstützung der Besonderheiten im eHome möglich, z.B. bei der personen- und kontextbezogenen Konfigurierung. Der kontinuierliche SCD-Prozess wird auf Basis eines globalen Graphmodells in einem modellgetriebenen Entwicklungsprozess realisiert. Die graphbasierten Techniken ermöglichen dabei den einfachen Zugriff auf alle relevanten Daten. Das Graphmodell wird außerdem für die Werkzeugentwicklung genutzt. Ein weiterer wichtiger Beitrag dieser Arbeit ist der Laufzeitmechanismus zur dynamischen Adaptergenerierung auf Basis der semantischen Dienstbeschreibung. Dieser zeigt, wie mittels struktureller Reflection in Java eine Adaption zwischen syntaktisch inkompatiblen Schnittstellen erreicht werden kann. Weitere Ergebnisse sind ein Ansatz zur Laufzeitüberwachung der Dienstkommunikation, für dessen Realisierung auf die aspektorientierte Programmierung zurückgegriffen wird, und die Entwicklung von Werkzeugen, die sowohl die Dienstentwicklung als auch die Laufzeit des eHome-Systems abdecken.
participants (1)
-
Carsten Fuhs