XML-Schemaevolution

Problemstellung

Dynamische Anpassungen von Modellen an aktuelle Gegebenheiten birgt die Notwendigkeit, vorhandene Instanzen und Anwendungen an die neuen, eventuell veränderten Umstände anzupassen. XML-Schema als Modell und weithin akzeptierte Beschreibung von XML-Dokumenten bildet keine Ausnahme! Die Veränderung der Struktur eines XML-Schemas bspw. durch das Umsortieren von Inhaltsmodellen, das Ändern von Datentypen, das Einfügen nicht-optionaler Elemente etc. verletzt zwangsläufig die Gültigkeit bereits vorhandener XML-Dokumente und macht eine Adaption dieser notwendig. Ein Ansatz, welcher das Gültigkeitsproblem lösen kann, ist die XML-Schemaevolution.

Umsetzung

An der Universität Rostock wurde der Forschungsprototyp CodeX (Conceptual Design and Evolution for XML-Schema) entwickelt, der als Eclipse Plugin (RCP - Rich Client Platform) zur Umsetzung der XML-Schemaevolution vorliegt (siehe Bild rechts). Dieser ist Grundlage und zeitgleich Tool für die Evolution.

CodeX ermöglicht das Loggen und Auswerten von Nutzeränderungen. Aus dem so gewonnenem Wissen werden weitgehend automatisch Transformationsschritte abgeleitet und ein entsprechendes Updateskript erzeugt, mit dem ungültige Instanzen und Anwendungen an die neuen Gegebenheiten angepasst werden können.

Aktuell wird CodeX mittels GWT (Google Web Toolkit) implementiert und um fehlende Funktionalitäten erweitert, um als Browseranwendung eine Nachvollziehbarkeit gewonnener Forschungsergebnisse zu gewährleisten. Des Weiteren wird mit CodeX als Demonstrator der obige Ansatz evaluiert werden, da aufgrund des Fehlens von Benchmarks und/oder Vergleichsmodellen eine klassische Evaluierung der XML-Schemaevolution nicht umsetzbar ist.

Vorgehensweise

Mit CodeX werden XML-Schemata importiert, normalisiert und auf ein internes Modell (EMX - Entity Model for XML-Schema) abgebildet, welches für die konzeptionelle Modellierung von XML-Schemata verwendet wird. Wenn ein Nutzer das interne Modell ändert, d.h. wenn indirekt das XML-Schema durch INSERT, DELETE und/oder UPDATE Anweisungen  angepasst wird, dann werden die Entwurfsschritte in einer Logdatei regelbasiert zusammengefasst und protokolliert, später bereinigt und analysiert. Für das Logging und als Updatesprache eines XML-Schema wird ELaX (Evolution Language for XML-Schema) einheitlich verwendet. Mit Hilfe von vorhandenem Wissen (Logdatei, Heuristiken, XML-Schema, XML-Instanzen) wird der Aufwand einer Schemaevolution abgeschätzt. Ist der Aufwand im Sinne des Nutzers akzeptabel, dann wird aus der Updatesprache eine Liste von XPath Ausdrücken mit Anpassungsinformationen erzeugt, welche auf XML-Dokumente angewendet werden kann.

Involvierte Mitarbeiter / Ansprechpartner

Angebotene Lehrveranstaltungen

  • Objektorientierte Datenbanken und XML-Datenbanken
  • Informationssysteme und -dienste
  • KSWS: XML-Schemaevolution

Studentische Arbeiten

Bachelor- und Studienarbeiten:

  • Andre Zeitz 2001 - Evolution von XML-Dokumenten
  • Robert Stephan 2004 - XML-Schema-Extractor
  • Christian Will 2006 - Ableitung von Schemaevolutionsschritten aus XML-Updateoperationen
  • Marcus Oertel 2006 - Kopplung von Schemaevolutionsschritten und graphischem Entwurf 
  • Jan Deffke 2012 - XML-Schema Evolution: Evolution in der Praxis

Master- und Diplomarbeiten:

  • Tobias Tiedt 2005 - Schemaevolution und Adaption von XML-Dokumenten und XQuery-Anfragen
  • Robert Stephan 2006 - Entwicklung und Implementierung einer Methode zum konzeptuellen Entwurf von XML-Schemas
  • Christian Will 2006 - Entwicklung und Implementierung einer Sprache zur Evolution von XML-Schemata
2016

Thomas Nösinger: XML-Schemaevolution - Änderung eines XML-Schemas mit automatisierter Adaption assoziierter XML-Dokumente, Universität Rostock, Lehrstuhl für Datenbank- und Informationssysteme, 2016, Doktorarbeit

2014

Thomas Nösinger, Meike Klettke and Andreas Heuer, Optimization of Sequences of XML Schema Modifications - The ROfEL Approach, in: Friederike Klan, Günther Specht and Hans Gamper (Hrsg.), Grundlagen von Datenbanken, volume 1313 of CEUR Workshop Proceedings, pages 11-16, CEUR-WS.org, 2014.

Chris Kaping, Management von Typhierarchien in der XML-Schemaevolution, Masterarbeit, Universität Rostock, 2014.

Norman Soetbeer, Entwicklung und Implementierung eines ELaX-Interpreters, Studienarbeit, Universität Rostock, 2014.

2013

Thomas Nösinger, Meike Klettke and Andreas Heuer, A Conceptual Model for the XML Schema Evolution, in: Kai-Uwe Sattler, Stephan Baumann, Felix Beier, Heiko Betz, Francis Gropengießer and Stefan Hagedorn (Hrsg.), Grundlagen von Datenbanken, volume 1020 of CEUR Workshop Proceedings, pages 28-33, CEUR-WS.org, 2013.

Thomas Nösinger, Meike Klettke and Andreas Heuer, XML Schema Transformations - The ELaX Approach, in: Hendrik Decker, Lenka Lhotská, Sebastian Link, Josef Basl and A Min Tjoa (Hrsg.), DEXA (1), volume 8055 of Lecture Notes in Computer Science, pages 293-302, Springer, 2013. ISBN: 978-3-642-40284-5

Jan Deffke, Entwicklung eines Matching- und Mappingverfahrens zur Verbesserung der XML-Schemaevolution, Masterarbeit, Universität Rostock, 2013.

Hannes Grunert, Integration von Integritätsbedingungen bei der XML-Schemaevolution, Masterarbeit, Universität Rostock, 2013.

Chris Kaping, Transformation von Modellierungsstilen, Bachelorarbeit, Universität Rostock, 2013.

Thomas Nösinger, Meike Klettke and Andreas Heuer, Automatisierte Modelladaptionen durch Evolution - (R)ELaX in the Garden of Eden, Institut für Informatik, Universität Rostock, number CS-01-13, 2013. Published as technical report CS-01-13 under ISSN 0944-5900

Thomas Nösinger, Meike Klettke and Andreas Heuer, XML Schema Transformations - The ELaX Approach, Institut für Informatik, Universität Rostock, number CS-02-13, 2013. Published as technical report CS-02-13 under ISSN 0944-5900

2012

Thomas Nösinger, Meike Klettke and Andreas Heuer, Evolution von XML-Schemata auf konzeptioneller Ebene - Übersicht: Der CodeX-Ansatz zur Lösung des Gültigkeitsproblems, in: Ingo Schmitt, Sascha Saretz and Marcel Zierenberg (Hrsg.), Grundlagen von Datenbanken, volume 850 of CEUR Workshop Proceedings, pages 29-34, CEUR-WS.org, 2012.

Hannes Grunert, Übersetzung von XSEL-Ausdrücken in andere XML-Updatesprachen, Projektarbeit, Universität Rostock, 2012.

2011

Hannes Grunert, XML-Schema Evolution: Kategorisierung und Bewertung, Bachelorarbeit, Universität Rostock, 2011.