Eine dezentrale adaptive Architektur für Ubiquitous-Augmented-Reality-Systeme
Gutachter: Prof. Dr. Bernd Brügge, Ph.D; Prof. Dr. Dr. h.c. Manfred Broy
Die Dissertation wurde am 9.Dezember 2004 bei der Technischen Universität München eingereicht und durch die Fakultät für Informatik am 15. Juni 2005 angenommen.
Ubiquitous augmented reality is an emerging human-computer interaction technology, arising from the convergence of augmented reality and ubiquitous computing. Augmented reality allows interaction with virtual objects spatially registered in the user's real environment, in order to provide information, facilitate collaboration and control machines. As the computing and interaction devices necessary for augmented reality become ubiquitously available, opportunities arise for improved interaction and new applications.
Building ubiquitous augmented reality systems presents three software engineering challenges. First, the system must cope with uncertainty regarding the software components; the users' mobility changes the availability of distributed devices. Second, during development, the system's desired behavior is ill-defined, as appropriate interaction metaphors are still being researched and users' preferences change. Third, the system must maintain near-real-time performance to create a convincing user experience.
This dissertation presents a new architectural style, the adaptive service dependency architecture, to address these challenges.
The architecture deals with component uncertainty, using middleware for decentralized service management to dynamically adapt the system's structure. It builds on existing architectural approaches, such as loosely coupled services, service discovery, reflection, and data flow architectures, but additionally considers the interdependencies between distributed services and uses them for system adaption.
With the development technique of design at run time, users and developers address ill-defined requirements by changing the system's behavior while it is running, facilitating the creation of new applications. This is based on existing agile development methods, but takes additional advantage of the architecture's adaptive and reflective properties.
Distributed middleware maintains the required performance by decoupling multimedia data flow from system reconfiguration. It combines existing communication and service discovery technologies, but additionally deals with the distributed coordination of networks of interdependent services.
Several prototype systems for real-world ubiquitous augmented reality applications have been built using the adaptive service dependency architecture, decentralized middleware, and design at run time. Feedback from users and developers, as well as performance tests, show the concepts' usefulness for building ubiquitous augmented reality systems.
Ubiquitous Augmented Reality ist eine neue Form der Mensch-Maschine-Interaktion, die aus der Konvergenz aus Augmented Reality und Ubiquitous Computing entsteht. Augmented Reality erlaubt dem Benutzer die Interaktion mit räumlich registrierten virtuellen Objekten in seiner Umgebung, und stellt damit Informationen bereit, erleichtert Zusammenarbeit und steuert Maschinen. Aus der zunehmenden Verbreitung der Geräte, die für Augmented Reality nötig sind, ergeben sich Möglichkeiten für verbesserte Interaktion und neue Anwendungen.
Die Konstruktion von Ubiquitous-Augmented-Reality-Systemen stellt drei softwaretechnische Herausforderungen. Erstens besteht zur Laufzeit eine Unsicherheit bezüglich der Komponenten; durch Benutzermobilität schwankt die Verfügbarkeit verteilter Geräte. Zweitens ist die gewünschte Funktionalität des Systems während der Entwicklung unvollständig definiert, da Interaktionsmetaphern sich noch im Forschungsstadium befinden und Benutzervorlieben sich ändern. Drittens muss die Performanz den Echtzeitanforderungen für ein überzeugendes Benutzererlebnis genügen.
Diese Dissertation stellt einen neuen Softwarearchitekturstil namens Adaptive Service Dependency Architecture vor, der diesen Herausforderungen begegnet.
Die Architektur begegnet der Komponentenunsicherheit mittels Middleware zur dezentralen Diensteverwaltung, die dynamisch die Systemstruktur anpasst. Sie baut auf bestehenden Architekturansätzen wie loser Kopplung, Dienstsuche, Reflektion und Datenflussarchitekturen auf, berücksichtigt aber zusätzlich die wechselseitigen Abhängigkeiten verteilter Dienste zur Adaption.
Mit der Entwicklungstechnik Design at Run Time können Benutzer und Entwickler den unvollständigen Anforderungen begegnen und das System zur Laufzeit weiterentwickeln. Dies erlaubt das schnelle Erstellen von Prototypen und vereinfacht die Entwicklung neuer Anwendungen. Diese Technik baut auf bestehenden agilen Entwicklungsmethoden auf, benutzt aber zusätzlich die Adaptivität und Reflektivität der Architektur.
Verteilte Middleware erhält die Systemleistung aufrecht, indem multimediale Datenströme von der Systemadaption entkoppelt werden. Sie kombiniert bestehende Techniken zur Kommunikation und zur Dienstsuche, behandelt aber zusätzlich die verteilte Koordination wechselseitig abhängiger Dienste.
Mit dieser Kombination aus Architektur, Middleware und Entwicklungstechnik wurden einige prototypische Systeme für Ubiquitous-Augmented-Reality-Anwendungen entwickelt. Benutzer- und Entwicklerreaktionen sowie Leistungsmessungen zeigen die Nützlichkeit der Konzepte für die Entwicklung von Ubiquitous-Augmented-Reality-Systemen.
Dissertation-Asa-MacWilliams.pdf: Electronic version of dissertation. Printable on A4 paper, double-sided.
Dissertation-Asa-MacWilliams.ppt: Slides presented at dissertation defense on June 27, 2005.