Forschungsthemen
[GB] Entwurf und Implementierung eines Webers für Adaptionsaspekte beliebiger XML Dokumente im Kontext einer XML Transformationsumgebung
Die Extensible Markup Language (XML) ist ein weitverbreitetes Mittel zur strukturierten Repräsentation von Daten und Dokumenten. Dabei kann das an sich allgemeine XML Format mittels XML Schema typisiert und an eine Anwendungsdomäne angepasst werden. Zur Erleichterung der Übersetzung verschiedener XML Ausgangsformate in verschiedene Zielformate, wurden verschiedene Transformationssprachen (z.B. XSL, XQuery, Xcerpt) entwickelt. Um die mit Hilfe solcher Sprachen beschriebenen komplexen Transformationsprozesse zu modularisieren, werden diese in der Regel auf mehrere Stufen einer Transformationspipeline verteilt.
Ein typischer Anwendungsfall für diesen Ansatz sind XML basierte Webapplikationen: Das AMACONT Framework stellt beispielsweise ein XML basiertes Format für Dokumentkomponenten zusammen mit einem komfortablen Autorenwerkzeug zur Verfügung, mit welchem sich Webapplikationen beschreiben und auf einem Webserver verfügbar machen lassen. Fordert ein Klient eine Komponente einer solchen Applikation an, so wird diese über mehrere Stufen in ein für ihn geeignetes darstellbares Format (z.B. XHTML) transformiert und ausgeliefert. Um Autoren eine unkritische Anpassung des Transformationsprozesses zu ermöglichen, erlaubt AMACONT die Laufzeitanpassung an Kontextparameter (z.B. Ort, Zeit, Gerät des Klienten) mittels vordefinierter, konfigurierbarer Adaptionsaspekte.
Da es bisher nicht möglich ist solche Adaptionsaspekte auf beliebige Transformationspipelines anzuwenden, besteht das Ziel dieser Arbeit in der Entwicklung eines verallgemeinerten Ansatzes zur Spezifikation von Adaptionsaspekten für beliebige XML Dokumente im Kontext mehrstufiger XML Transformationen. Im Einzelnen sind folgende Teilaufgaben zu bearbeiten (ein bereits vorhandener Prototyp kann als Grundlage verwendet werden):
- Einarbeitung in XML Transformationen und die Transformationsumgebung Cocoon
- Einarbeitung in die Konzepte aspektorientierter Softwareentwicklung und adaptive Webanwendungen
- Herausarbeiten sinnvoller Operationen (Advices) für Adaptionsaspekte
- Entwurf und Implementierung des XML Webers
- der Weber soll die Typisierung von XML Dokumenten berücksichtigen
- als Pointcutsprache soll XPath verwendet werden
- zur Konfliktlösung zwischen Aspekten ist ein Konzept zu deren Ordnung vorzusehen
- Einbettung des Webers in eine Cocoon Pipeline, z.B. AMACONT
- Vergleich der entwickelten Lösung mit XQuery
- Testen der Implementierung mit geeigneten Testfällen
Betreuer: Sven Karol