Arvida

Angewandte Referenzarchitektur für virtuelle Dienste und Anwendungen

ARVIDA ist ein vom Bundesministerium für Bildung und Forschung (BMBF) gefördertes Verbundprojekt mit aktuell 23 Partnern aus Forschung und Industrie. Das Hauptziel des Projektes ist die Erstellung einer dienstorientierten Referenzarchitektur für Virtuelle Techniken (VT).

Unter Virtuellen Techniken (VT) versteht das ARVIDA-Konsortium echtzeitfähige Virtual, Augmented, Mixed, Dual Reality, virtuelle Simulationen, virtuelle Menschmodelle sowie Mischformen daraus. Ein System, das virtuelle Techniken einsetzt, wird als virtuelle Umgebung bezeichnet. Die historische Entwicklung und die industriellen Anforderungen haben zu teilweise sehr funktionsreichen, aber monolithischen VT-Systemen mit systemspezifischen Szenegraphen geführt, die nicht nur die 3D-Geometrien sondern auch die Interaktionen, Objektverhalten, eine oft sehr komplexe Anwendungslogik, Objektanimationen, eine Simulation von Objektfunktionalitäten sowie die semantischen Verknüpfungen beschreiben. Insbesondere Virtual-Reality-Systeme waren und sind in vielen Fällen eine sehr eng verknüpfte Mischung aus einem Grundsystem und speziellen Anwendungen. Diese Virtual-Reality-„Viewer“-Systeme wurden und werden nach und nach mit immer mehr Funktionalität ausgestattet, so dass es oft nur ganz spezifische Arten von Anwendungen auf Basis eines VR-Grundsystems gab. Moderne VR-Systeme setzen oft ein Modulkonzept um, wobei Module jedoch nur innerhalb einer Systemwelt kompatibel zueinander sind und außerhalb dessen nicht wiederverwendet werden können. Genau die Wiederverwendung und Erweiterbarkeit von Funktionalität über System- und Organisationsgrenzen hinweg ist aber das Ziel dieses Projektes.

Diese enge Verknüpfung und die Nutzung der Szenegraphen als zentrale Datenstruktur schränkt die Integrierbarkeit von externen VT-Komponenten in existierende VT-Systeme wesentlich ein, weil je nach Anwendungsfeld eine komplett unterschiedliche Struktur des Szenegraphen erforderlich ist bzw. unterschiedliche Systeme inkompatible Szenegraphstrukturen und Manipulationen erfordern. Dadurch wird die Skalierbarkeit des Gesamtsystems maßgeblich beeinträchtigt und das Austauschen von Simulationen, Szenegraphmanipulationen oder Renderingverfahren unmöglich.

Existierende VR/AR-Systeme sind auch heute schon ansatzweise verteilte Systeme. Elementare Anforderungen wie z.B. eine Vielzahl unterschiedlicher Ein-und Ausgabegeräte einzubinden und parallel zu betreiben, sind nur mit verteilten Systemen umsetzbar. Aus diesem Grund sind Netzwerkfähigkeit und komponentenbasierter Aufbau in unterschiedlichen Ausprägungen in fast allen heutigen Plattformen zu finden. Sie betreffen aber nur periphere Teile der Architektur und nicht ihren Kern. Darüber hinaus erfolgt die Verteilung der Module oft nur innerhalb eines Rechners oder Rechnerclusters und die nötigen Schnittstellen und Protokolle sind meist proprietär und funktionieren nur innerhalb einer (VT-)Produktfamilie. Die rein lokale Verteilung ist zu großen Teilen historisch bedingt, als größere Netzwerkinfrastruktur für Echtzeitanwendungen noch nicht schnell genug war.

Wünschenswert sind jedoch offene Systeme, die bei Bedarf z.B. auch in weltweit gespannten Firmennetzwerken unabhängig von konkreten Abteilungen oder Standorten verteilt werden können und Funktionen als vielfach wiederverwertbare Software-Ressourcen zur Verfügung stellen.

Das Web ist eine praktisch überall verfügbare und offene Technologie und wird zunehmend als eine universelle Entwicklungsumgebung durchaus auch für komplexe Anwendungen interessant. Ein wesentlicher Grundansatz und Erfolgsfaktor ist die Offenheit sowie die rasche Bildung, Erweiterung und Verwendung von Standards. Eine weitere, wesentliche Eigenschaft ist die Vernetzung und Integration von existierenden, externen Einzeldiensten mit selbstentwickelten, neuen Anwendungen. Die Entwickler nutzen hierbei die von den externen Diensten zur Verfügung gestellte Funktionalität, ohne sich um die jeweilige, konkrete Implementierung kümmern zu müssen. Wohldefinierte und im Wesentlichen stabile Schnittstellen sorgen dafür, dass derart zusammengesetzte Anwendungen auch bei Änderungen an einem der Einzeldienste funktionsfähig bleiben. Es ist im Vergleich zu klassischen Software-Systemen deutlich einfacher, einzelne Funktionalitäten auszutauschen, ohne hierzu die gesamte Anwendung neu entwickeln zu müssen. Es spielt dabei keine Rolle, in welcher Programmiersprache ein Dienst umgesetzt ist.

Die beschriebenen Kerneigenschaften von Web-Technologien sind auch für Anwendungen im Bereich der virtuellen Techniken (VT) sehr interessant, denn VT-Anwendungen bestehen in den meisten Fällen aus mehr oder weniger vielen externen Komponenten, wie z.B. virtuellen Umgebungen, Tracking- und Interaktionssystemen, die reibungslos zusammenspielen müssen, um eine funktionale, interaktive, immersive Visualisierung zu erreichen. In modernen VT-Anwendungen kommen zunehmend weitere, externe Soft- und Hardware-Systeme zum Einsatz. Sie dienen sehr oft der Planung und Simulation von Produkten oder Anlagen in virtuellen Umgebungen. In vielen Fällen sind die verschiedenen Teilsysteme nicht miteinander kompatibel und konnten bisher entweder gar nicht oder aber nur mit sehr hohem technischem, zeitlichem und finanziellem Aufwand zusammengebracht werden. Hinzu kommt, dass schon kleine Änderungen an den Schnittstellen solcher Systeme dazu führen, dass das Gesamtsystem nicht mehr ausführbar ist.

Um die geforderte, hohe Flexibilität und Modularität von zukünftigen VT-Anwendungen bzw. virtuellen Umgebungen zu erreichen, war daher die Grundidee des Projektes ARVIDA, VT-Dienste und dienstorientierte VT-Anwendungen mit Web-Technologien aufzubauen, um von der hohen Flexibilität, der Modularität, den allgemeingültigen Standards und den rasanten technologischen Entwicklungen im Bereich der Web-Technologien profitieren zu können. Web-Technologien sind dabei getrennt von Web-Browsern zu verstehen, denn sie sind auch ohne den Browser als Frontend sehr gut nutzbar.

Für die ARVIDA-Referenzarchitektur werden etablierte Standards und Programmierparadigmen aus dem Web eingesetzt und an die Anforderungen der virtuellen Techniken angepasst. Um im Sinne eines Migrationspfades existierende VT-Systeme weiter nutzen zu können, wurden in ARVIDA Mechanismen entwickelt, die es auch bestehenden VT-Systemen ermöglichen, externe Dienste bzw. Ressourcen über Web-Schnittstellen anzubinden sowie eigene Funktionalitäten wiederum als Dienst bzw. Ressource im Netzwerk bereitzustellen. Neu entwickelte VT-Funktionalitäten werden dagegen von vorneherein als integrierbare Dienste bzw. Ressourcen zur Verfügung gestellt. Mit den entwickelten Mechanismen wird ein Verbund von (Teil-)Systemen geschaffen, das die jeweiligen Funktionalitäten und Daten zusammenführt, um ein neues, komplexeres System zu schaffen, welches mehr Funktionalität bietet als lediglich die Summe der Einzeldienste und Systeme aus denen es besteht. Das dem Web inhärente Client-Server-Prinzip unterstützt eine sehr gute Verteil- sowie Skalierbarkeit der Anwendungen.

ARVIDA Webseite: http://www.arvida.de

Ansprechpartner: Dr. Hilko Hoffmann