UniKL Logo

Lehrgebiet Informationssysteme

FB Informatik

FB Informatik
 
LG IS
AG DBIS
 Staff
 Projects
 Intern
 Impressum
AG HIS
Jobs / Tasks
Courses
Publications
Contact
Misc
Impressum
(C) AG DBIS
 

Udo's Projekt- und Diplomarbeiten


Leider habe ich keine Zeit mehr für die Betreuung untenstehender Arbeiten!!!


Lokale Sicherung langer Transaktionen

Projektarbeit

Da wir mit unserem DBS-Prototyp PRIMA und seiner Java-API auf den Bereich der komplexen Entwurfsanwendungen abzielen, ist eine geeignete lokale Unterstützung durch den Benutzer geforderter Rücksetzung und Unterbrechung von Anwendungen zu gewährleisten.

Die beiden Funktionalitäten, um die es in dieser Arbeit geht, sind Save/Restore und Suspend/Resume, die als Operationen der Anwendung angeboten werden sollen.

  • Save/Restore soll dabei lokale, benutzerdefinierte Sicherungspunkte erlauben, um wesentliche bereits durchgeführte Teile von Anwendungen sichern zu können und den Verarbeitungszustand im Falle von beispw. Fehlberechnungen auf solche Sicherungspunkte zurücksetzen zu können.
  • Suspend/Resume geht noch einen Schritt weiter und soll ein benutzerspezifiziertes Herunterfahren und Hochfahren von laufenden Anwendungen unterstützen. Ein ganz wesentlicher Einflußfaktor für den Aufwand, den man dazu betreiben muß, ist die bereitgestellte Flexibilität bzgl. des wählbaren Zeitpunktes von Unterbrechungen.
Es ist ein geeignetes Konzept zu entwickeln und in das bestehende Verarbeitungskonzept zu integrieren. Dabei ist die gegebene Anwendungsprogrammierschnittstelle in Java zu erweitern. Die Erweiterung wird darin bestehen, das zugehörige Laufzeitsystem persistent zu machen, etwa mit persistent Java, das auch PJama genannt wird und einer Zusammenarbeit von SUN Microsystems und der Gruppe von Prof. Atkinson in England entspringt (siehe The Forest Project).

Vorausgesetzt werden folgende Kenntnisse: DBS1, DBS2, Java, Unix. Ein absolviertes Datenbankpraktikum ist von Vorteil.

Vermittelt werden Kenntnisse zu Non-Standard DBS, PJama (persistent Java), Einbettungstechniken von Datenbanksprachen in Programmiersprachen, Codegenerierung.


Molecule Pointer Swizzling

Projektarbeit

Mit unserem DBS-Prototyp PRIMA und seiner Java-API wollen wir komplexe Entwurfsanwendungen effizient unterstützen. Das von objektorientierten DBMS her bekannte Pointer Swizzling wollen wir hierzu auf unsere Verhältnisse übertragen. Zum einen wollen wir die Austauschbarkeit und gleichzeitige Verwendung verschiedener Techniken testen. Und zum anderen sollen die in der Anfragesprache MQL (abgekürzt von engl. Molecule Query Language) definierbaren Objekttypgraphen zur Steuerung des Swizzling herangezogen werden. Dabei soll insbesondere die Swizzling-Dimension Eager/Lazy im Detail untersucht werden.

Eager Molecule Swizzling bezeichnet dabei das Umsetzen von DB-Referenzen auf Hauptspeicherreferenzen zum Zeitpunkt der Einlagerung eines komplexen Objektes in einen Objektpuffer. Lazy Molecule Swizzling dagegen verzögert die Umsetzung bis hin zum Zeitpunkt des ersten Zugriffs des Anwendungsprogramms auf ein komplexes Objekt.

Es ist ein geeignetes Konzept zu entwickeln und in das bestehende Verarbeitungskonzept zu integrieren. Dabei ist die gegebene Anwendungsprogrammierschnittstelle in Java zu erweitern. Durch experimentelle Messungen sollen Unterschiede in der Effizienz nachgewiesen werden.

Vorausgesetzt werden folgende Kenntnisse: DBS1, DBS2, Java, Unix. Ein absolviertes Datenbankpraktikum ist von Vorteil.

Vermittelt werden Kenntnisse zu Non-Standard DBS, PJama (persistent Java), Einbettungstechniken von Datenbanksprachen in Programmiersprachen, Codegenerierung.


Untersuchung der Möglichkeiten zur Bereitstellung früh gebundener Aufrufschnittstellen für ORDBS

Projektarbeit

Wir haben mit der Implementierung diverser Anwendungsprogrammierschnittstellen Erfahrung mit der Bereitstellung früh gebundener (d.h. zur Compilezeit gebundener) Strukturen im Bereich objektorientierter und erweitert-relationaler DBS. Diese Strukturen erlauben Anwendungsprogrammierern, komplexe Objekte über automatisch verwaltete Anwendungspuffer effizient zu verarbeiten.

Das zentrale Konzept ist die frühestmögliche Bindung von abstrakten Datentypen (ADT) an die jeweilige Zielsprache (z.B. Java). Dies geschieht durch Codegenerierung aus Datenbankschema und -anfragen. Insbesondere letztere werden dazu herangezogen, aus den in ihnen enthaltenen Strukturdefinitionen abstrakte Datentypen in Form von Klassen zu erzeugen, um eine Verarbeitung zu gewährleisten, die sich stark am zugrundeliegenden Datenmodell orientiert.

In dieser Arbeit soll nun evaluiert werden, wie sich diese Technik nutzbringend für den zukünftigen Datenbankstandard SQL3 bzw. für einen seiner heute verfügbaren, frühen Vertreter einsetzen läßt.

Vorausgesetzt werden folgende Kenntnisse: DBS1, C++ oder Java, Unix. Ein absolviertes Datenbankpraktikum ist von Vorteil. Insbesondere Kenntnisse von SQL3 sind von Vorteil. 

Vermittelt werden Kenntnisse zu objekt-relationalen DBS, Einbettungstechniken von Datenbanksprachen in Programmiersprachen, Codegenerierung.


Entwurf einer Beschreibungssprache für die Integration versionierter, komplexer Objekte in C++

Projektarbeit

Da wir mit mit unserem DBS-Prototyp VStore auf den Bereich der komplexen Entwurfsanwendungen abzielen, ist eine geeignete Unterstützung für deren Optimierung im Client/Server-Umfeld notwendig. Die bisher gewonnenen Erkenntnisse aus anderen Anwendungsprogrammierschnittstellen sollen nun für die VStore-API übertragen werden. Unserer Meinung nach lassen sich die speziellen Eigenschaften des zugrundeliegenden Datenmodells (insbesondere das Konzept der versionierten, komplexen Objekten) gewinnbringend einsetzen.

Die Beschreibung solcher anwendungsorientierten Anpassungen in einer eigenen Sprache festzulegen bietet den Vorteil eines formalen Modells vereint mit der einfachen "Lesbarkeit" der in dieser Sprache formulierten Anpassungen für den Anwendungsprogrammierer. Diese Sprache soll nun die lokale Speicherung sowie das vorbestimmte Aktivieren und Deaktivieren von DB-Daten im Anwendungspuffer beschreibbar machen.

Vorausgesetzt werden folgende Kenntnisse: DBS1, C++ oder Java. Ein absolviertes Datenbankpraktikum ist von Vorteil.

Vermittelt werden Kenntnisse zu Versionierung, Konfigurierung, Non-Standard DBS, Einbettungstechniken von Datenbanksprachen in Programmiersprachen, Codegenerierung.