ProjektALIEN – Abstraktionen, Sprachen und Implementierungstechniken, die Kluft zwischen Programmier- und Anfragesprachen…

Grunddaten

Akronym:
ALIEN
Titel:
Abstraktionen, Sprachen und Implementierungstechniken, die Kluft zwischen Programmier- und Anfragesprachen überwinden
Laufzeit:
01.02.2016 bis 31.01.2019
Abstract / Kurz- beschreibung:
Datenbanksprachen erlauben die Formulierung von Anfragen und Operationen auf
großen Datenmengen in einer deklarativen Form aus der sich weitreichende
Optimierungen zur effizienten Ausführung ableiten lassen. Programmiersprachen
zeichnen sich hingegen durch ihre Generalität, Abstraktionsmechanismen und
Möglichkeiten der systemnahen Optimierung aus. Das Ziel dieses Projektes ist
der systematische Transfer von Einsichten und Techniken aus der Welt der
Datenbanksprachen in die der Programmiersprachen und umgekehrt. Motiviert wird
dieser Transfer durch die Beobachtung, dass vielen aktuellen Forschungstrends in
beiden Gemeinden jeweils ein "neidvoller Blick über den Zaun'' zugrunde liegt.

Dazu werden wir einerseits etablierte Techniken der Datenbanksysteme---etwa
deklarative Anfragen, Anfrageoptimierung, Indexierung und inkrementelle
Änderungs"-operationen---in die Welt Programmiersprachen transferieren. Das
stellt eine echte Herausforderung dar und bedingt Adaptionen und
Generalisierungen dieser Techniken, um dem Ausführungsmodell universeller
Programmiersprachen gerecht zu werden.

Andererseits werden wir Datenbanksprachen um Abstraktionsmechanismen,
Analyseverfahren und Implementierungstechniken bereichern, die ihre Wurzeln in
den (funktionalen) Programmiersprachen besitzen. Unter anderem wollen wir
die Ausdrucksfähigkeit von Datenbanksprachen durch algebraische Datentypen,
Funktionen höherer Ordnung und Konstrukte zur generischen Programmierung
erweitern. Dabei bringen wir Techniken wie Program Slicing, Flattening und
Defunktionalisierung zum Einsatz, die die weitreichende Analyse und effiziente
Ausführung von Anfragen und Transaktionen unterstützen werden.

In beiden Fällen vermeiden wir---soweit möglich---Änderungen an existierenden
Pro"-grammier- und Datenbanksprachen, sondern bauen auf Spracheinbettung oder
Übersetzungstechniken: Ziel ist es, unsere neue Verfahren in bewährte Systeme
nicht-invasiv einzubringen, um einen unmittelbaren Einsatz in praktischen
Anwendungen zu erleichtern. Ein weiterer, abschliessender Beitrag dieses
Projektes ist die Definition einer ausdrucksstarken Sprache mit
zwei Implementationen: einer, die auf Datenbanksystemen zur Ausführung
kommen kann, sowie einer, die in eine funktionale Programmiersprache eingebettet
(bzw. übersetzt) werden kann. Diese neue experimentelle Sprache wird es
ermöglichen, Bibliotheken und Programmiertechniken auf beiden Seiten des
Zaunes zu verwenden. Welche Funktionalität eines Programmes unter Kontrolle
des Datenbanksystems oder der regulären Programmierumgebung ausgeführt wird,
lässt sich dann dynamisch festlegen.
Schlüsselwörter:
Programmiersprachen
Anfragesprachen
Datenbanken
data bases

Beteiligte Mitarbeiter/innen

Leiter/innen

Mathematisch-Naturwissenschaftliche Fakultät
Universität Tübingen
Fachbereich Informatik
Mathematisch-Naturwissenschaftliche Fakultät
Wilhelm-Schickard-Institut für Informatik (WSI)
Fachbereich Informatik, Mathematisch-Naturwissenschaftliche Fakultät
Mathematisch-Naturwissenschaftliche Fakultät
Universität Tübingen
Wilhelm-Schickard-Institut für Informatik (WSI)
Fachbereich Informatik, Mathematisch-Naturwissenschaftliche Fakultät

Ansprechpartner/innen

Grieg, Birgit
Wilhelm-Schickard-Institut für Informatik (WSI)
Fachbereich Informatik, Mathematisch-Naturwissenschaftliche Fakultät

Lokale Einrichtungen

Wilhelm-Schickard-Institut für Informatik (WSI)
Fachbereich Informatik
Mathematisch-Naturwissenschaftliche Fakultät

Geldgeber

Bonn, Nordrhein-Westfalen, Deutschland
Bonn, Nordrhein-Westfalen, Deutschland
Hilfe

wird permanent gelöscht. Dies kann nicht rückgängig gemacht werden.