Vision
Abbildung 1: schematische Darstellung eines kollaborativen Multi-Device-Szenarios
Die Vision des Forschungsvorhabens sind Anwendungen, die in der Lage sind verschiedene Endgeräte und deren spezifische Dienste im Kontext von Multi-Device-Szenarien zu integrieren.
Eine solche Anwendung besteht auf der UI- und Anwendungslogikebene aus Softwarekomponenten, die individuell im Kontext unterschiedlicher Endgeräte ausgeführt werden können.
Dies bedeutet, dass die Bestandteile einer solchen visionären kompositen Anwendungen auf mehrere unabhängige Laufzeitumgebungen der beteiligten Endgeräte verteilt und ausgeführt werden
und dabei auf die gerätespezifischen Dienste zugreifen können. Wie bereits im Motivationsabschnitt beschrieben, besitzen moderne intelligente Endgeräte wie Smartphones oder sogenannte
SmartTVs Web-Browser, die als Laufzeitumgebung der zuvor benannten Softwarekomponenten angesehen werden können. Dementsprechend werden zukünftig Multi-Device-Anwendungen zu einem bestimmten
Grad mit Hilfe von Web-Technologien umgesetzt, da diese den Vorteil der notwendigen Plattformunabhängigkeit besitzen.
Damit der Anwender situationsgerecht entscheiden kann welche Informationen präsentiert und welche Funktionen auf welchem Endgerät ausgeführt werden sollen, besitzen zukünftige komposite Anwendungen die Fähigkeit
zur Migration der Softwarekomponenten, sowohl auf der Benutzerschnittstellen- als auch auf der Anwendungslogikebene. Einhergehend mit der Fähigkeit zur Migration der Softwarekomponenten, sind solch zukünftige
Anwendungen in der Lage die migrierenden UI- und funktionalen Sofwarekomponenten kontextabhängig an die Bedingungen der Zielgeräte anzupassen.
Wie bereits im vorherigen Abschnitt angedeutet ermöglicht die Integration mehrerer Endgeräte im Kontext einer kompositen Anwendung kollaborative Multi-User-Szenarien, in denen Anwender
nach dem Vorbild von Multiplayer-Konsolenspielen parallel zur selben Zeit kooperativ interagieren können. In Abbildung 1 wird der Sachverhalt verdeutlicht.
Nachdem die Vision zukünftiger kompositer Web-Anwendungen in kollaborativen Multi-Device-Szenarien vorgestellt wurde, werden im folgenden Abschnitt
die Ziele des Forschungsvorhabens beschrieben.
Ziele
Zur Entwicklung der vorher beschriebenen kompositen, mobilen Anwendungen bestehend aus migrierbaren Komponenten, werden neue Konzepte benötigt.
Das Forschungsprojekt DoCUMA besitzt daher folgende Ziele
-
Beschreibung kompositer, mobiler Anwendung bestehend aus migrierbaren Komponenten: Zur Erstellung
kompositer, mobiler Anwendungen bestehend aus migrierbaren Komponenten soll untersucht werden wie das Kompositionsmodell beschrieben werden kann.
-
Modellierung und Beschreibung mobil einsetzbarer, migrationsfähiger Softwarekomponenten: Da bisher nur auf einigen mobilen Plattformen
vorgefertigte Komponenten existieren, z. B. Android, ist es notwendig ein allgemeingültiges Modell für migrierbare Komponenten zu definieren. Dabei soll
insbesondere der Lebenszyklus einer solchen Komponente definiert werden.
-
Konzeption einer mobilen Laufzeitumgebung für komposite Rich-Internet-Anwendungen: Die Migration von Komponenten auf entfernte
Zielgeräte erfordert die Untersuchung verschiedener Aspekte, wie die Synchronisation der Interaktionszustände zwischen verteilten
Komponenten, das Mitführen der Kontroll- und Datenflüsse, Geräte- und Plattformunabhängigkeit und die Etablierung sicherer
Kommunikationskanäle.
-
Unterstützung von Multi-Device- und Multi-User-Szenarien: Da besonders in kollaborativen Szenarien mehrere
Personen zur selben Zeit von unterschiedlichen Geräten aus auf eine verteilte Komponente zugreifen möchten, ist zu untersuchen
welche besonderen Anforderungen in diesen Situationen an die migrierten Komponenten und Laufzeitumgebungen der involvierten
Endgeräte erfüllt werden müssen, z.B. Synchronisation gleichzeitiger Steuerbefehle von unterschiedlichen Personen.
-
Berücksichtigung des Kontext: Um eine Komponente auf ein Zielgerät migrieren zu können, muss
geklärt werden ob die Migration zum aktuellen Zeitpunkt möglich ist. Hierbei ist zu klären welche Kontextinformationen des Zielgerätes
erfasst und wie diese durch das Ausgangsgerät verarbeitet werden müssen.
-
Erstellung ausführbarer Komponenten: Die modellierten Komponenten müssen so erstellt werden,
dass sie innerhalb verschiedener Laufzeitumgebungen ausgeführt werden können. In diesem Zusammenhang soll untersucht werden welche
Strategie zu bevorzugen ist (Interpretation vs. Kompilierung).
-
Adaption erstellter Komponenten: Des Weiteren ist zu untersuchen wie bereits erstellte Komponenten
vor bzw. nach der Migration an die entsprechenden Fähigkeiten des Zielgerätes mit einem minimalen Aufwand angepasst werden können.