Informatik I

Informatik I

Einführung in die Informatik
und die systematische Programmkonstruktion


Datenbanksysteme II

Relationale Datenbank-technologie verstehen
lernen


Selected Fun Problems...

Proseminar basierend auf Aufgaben des ACM Programming Contest

Pathfinder Themen PDF Print

Themenbeschreibung (Ansprechpartner: Jan Rittinger)

Thema Bearbeitet durch
1.
Übersetzung von Pathfinder's relationaler Algebra in die Algebra von MonetDB5/SQL
(Master-/Diplomarbeit)
Pathfinder's relationale Algebra ist Dreh- und Angelpunkt für viele Frontend- und Backend-Sprachen. So lassen sich z.B. XQuery, SQL, LINQ und Ferry in die relationale Algebra von Pathfinder übersetzen. Als Auswertungs-Backend auf der anderen Seite stehen MonetDB4, SQL-basierte Datenbanksysteme und kdb+ zur Verfügung. In dieser Arbeit soll die nächste Generation von MonetDB (MonetDB5) als weiteres Backend erschlossen werden. Ziel ist es eine Übersetzung der Pathfinder Algebra in die Algebra von MonetDB5/SQL zu erstellen, die den Sprachumfang LINQ- und SQL-Queries umfasst. Eine erfolgreiche Arbeit könnte die Grundlage für MonetDB/LINQ—eine superschnelle Auswertungsplattform für LINQ-Queries—bilden.
2.
Konstruktion eines PostgreSQL-Code-Generators für Pathfinder
Unser XQuery-Compiler besitzt einen Code-Generator, der derzeit SQL-Code zur Ausführung auf IBM DB2 erzeugt. Durch Adaption dieses Code-Generators sollte auch Code für das freie RDBMS PostgreSQL erzeugbar sein. Welche Indexstrukturen zum Einsatz kommen sollten und ob dazu Ãnderungen von PostgreSQL selbst benätigt werden, ist eine offene Frage.
Martin Luik
3.
Programmiersprachen-Interfaces für Pathfinder
In der Programmiersprache C geschriebene Komponenten unseres Query Compilers Pathfinder sollen in Form einer dynamischen oder statischen Library direkt aus anderen Programmiersprachen wie RubyC#,JavaO'Caml und Haskell heraus aufgerufen werden können. Dazu müsste zunächst eine Einarbeitung in die vorhandenen Techniken (Ruby-FFIC#-InteropServicesJava-JNIOCaml-FFIHaskell-FFI) für solche Foreign Function Calls stattfinden, um diese dann schliesslich für und in Ruby, C#, Java, O'Caml und Haskell zu implementieren. Idealerweise entwickelt diese Arbeit einen Code-Generator, der den benötigen "Glue Code" automatisch aus C-Header-Files von Pathfinder (oder einer anderen abstrakten Beschreibung) generiert.