Entwicklung einer Katja/XML Schnittstelle

Aufgabenstellung

Katja ist ein Tool zur Generierung von unveränderlichen Term-Datentypen - wie man sie aus ML oder Haskell kennt - für Java. Solche Term-Datentypen finden in verschiedensten Systemen Verwendung und werden zunehmend auch in Schnittstellen benutzt, da man mit ihnen strukturierte Daten effizient ausdrücken kann. In XML werden Daten ebenfalls strukturiert in Form einer Baum(=Term)-Struktur gespeichert, so dass Katja und XML viele Gemeinsamkeiten haben. Ein XML-Schema, d.h. eine konkrete Beschreibung der Struktur der Daten, enspricht z.B. einer Katja-Spezifikation.

Ziel der Arbeit ist es, Katja und XML zusammen zu bringen und ein Tool zu entwickeln, mit dem Daten aus der Katja-Darstellung in eine XML-Repräsentation und umgekehrt übertragen werden können. Konkret ist dabei in der einen Richtung aus einer Katja-Spezifikation ein XML-Schema und der notwendige Java Code zu erzeugen, um einen Katja-Term  in ein XML-Dokument zu übersetzen und zurück. In der anderen Richtung muss zu einem XML-Schema eine Katja-Spezifikation erzeugt werden. Dies ist schwieriger, da in Katja nicht alle Konstrukte von XML-Schema dargestellt werden können, so dass zu evaluieren ist, welcher Teil sinnvoll übersetzt werden kann. Auch hier soll dann Code generiert werden, der ein XML-Dokument automatisch in einen Katja-Term transformiert und entsprechend aus einem Katja-Term wieder ein XML-Dokument erzeugen kann.

Anforderungen

Für die Arbeit werden Kenntnisse von Katja, XML und dessen Schemasprachen benötigt, die während der Bearbeitung erworben werden können. Vorkenntnisse in einem Teilbereich (Katja oder XML-Schema) sind allerdings von Vorteil.

Beginn der Arbeit

Die Arbeit wurde vergeben und erfolgreich abgeschlossen.

Kontakt

Dipl. Inf. Patrick Michel