TU Berlin > Fakultät IV > ISTI > Übersetzerbau und Programmiersprachen

Home
Aktuelles
MitarbeiterInnen
Lehre
    SS08
    WS07/08
    Alle Semester
    Grundlegendes
    Diplomarbeiten
Forschung
    Kolloquium
    Gastvorträge
    Projekte
    Vorträge
    Publikationen
    Dissertationen
    Bücher
Aktivitäten
Opal
Impressum

[english]

Diplomarbeiten bei der Gruppe Übersetzerbau

Zu vergebende Diplomarbeiten

Meta-Modelle für die Modellierung adaptiven Verhaltens

Stichworte: Modellierung
Betreuer/Kontakt: Michael Cebulla, Sandro Rodriguez Garzon
Status : Zu vergeben
Seit einiger Zeit spielen Meta-Modelle auch in der Spezifikation und Modellierung eine wichtige Rolle, besonders wenn es um den Austausch von Modellen, die Generierung von Werkzeugen und ihre Integration geht. Meta-Modelle dienen dazu, Informationen über die Merkmale des jeweiligen Spezifikationsformalismus in automatisch lesbarer Form bereitzustellen. (Details)

Literatur:

Validierung von Spezifikationen für adaptives Verhalten

Stichworte: Validierung
Betreuer/Kontakt: Michael Cebulla, Sandro Rodriguez Garzon
Status : Zu vergeben
Die Validierung von Modellen und Spezifikationen ist ein entscheidender Bestandteil bei der Entwicklung und dem Engineering komplexer Systeme. Der Nachweis von zentralen Systemeigenschaften während des Systementwurfs ist dabei entscheidend, wenn es darum geht, die Risiken des Entwicklungsprozesses zu reduzieren. Aber auch zur Laufzeit ist es in zunehmendem Maße erforderlich modell-basierte Inferenzen hinsichtlich des Systemverhaltens anzustellen, um die Qualität des aktuellen Systemzustands zu erkennen. (Details)

Literatur:

  • Franz Baader, Diego Calvanese, Deborah McGuiness et. al. (eds.) The Description Logic Handbook, Cambridge Univ. Pr., 2nd edition, 2007.
  • Dusko Pavlovic, Peter Pepper, Douglas R. Smith, "Evolving Specification Engineering", in: Proceedings of AMAST 2008.

Implementierung eines Algorithmus zur Synthese von Verhalten durch Komposition von Zustandsdiagrammen

Stichworte: Verhaltenssynthese
Betreuer/Kontakt: Michael Cebulla, Sandro Rodriguez Garzon
Status : Zu vergeben
Bei Kontext-abhängigen und Umgebungs-adaptiven Systemen ist die Anpassung des Systemverhaltens an die Gegebenheiten der Umgebung eine wichtige Anforderung. So müssen beispielsweise Telematiksysteme im Automobilbereich ihre Funktionalitäten an die Verfügbarkeit von Ressouren und von Diensten anpassen. (Details)

Literatur:

  • Dusko Pavlovic, Peter Pepper, Douglas R. Smith, "Evolving Specification Engineering", in: Proceedings of AMAST 2008.

Erkennung und Analyse von Regularitäten in Daten aus der Molekularbiologie

Stichworte: Datenanalyse, MicroRNA
Betreuer/Kontakt: Michael Cebulla, Sandro Rodriguez Garzon
Status : Zu vergeben
Aus Daten, die von Molekularbiologen während ihrer Forschungen erhoben wurden, sollen Regularitäten extrahiert werden. Zu diesem Zweck soll ein Verfahren entwickelt und implementiert werden, das in der Lage ist, umfangreiche Datensätze zu analysieren. (Details)

Literatur:

  • Bernhard Ganter, Rudolf Wille, Formale Begriffsanalyse - Mathematische Grundlagen, Springer 1996.

Momentan bearbeitete Themen

Programmieren mit abhängigen Typen (dependent types).

Stichworte: Typen
Betreuer/Kontakt: Dirk Kleeblatt
Status : Zu vergeben
Durch dependent Types ist es möglich, die Parameter und Rückgabewerte von Funktionen weitaus genauer zu spezifizieren, als es mit herkömmlichen Typsystemen möglich ist. In einem Programmierprojekt sollen Erfahrungen mit den Möglichkeiten von dependent Types gesammelt werden.

Literatur:

Abgeschlossene Diplomarbeiten

Möglichkeiten der Nutzung von Typinformationen in einem Quelltexteditor für Haskell

Stichworte: Typsysteme, Haskell
Betreuer/Kontakt: Dirk Kleeblatt
Die Programmiersprache Haskell verfügt im Vergleich zu vielen anderen gängigen Programmiersprachen über ein äußerst informationsreiches, sprechendes Typsystem. Diese Arbeit erörtert Möglichkeiten, wie compilergenerierte Informationen über die Typisierung von Programmen durch Menschen während des Programmierens genutzt werden können. Begleitend wurde ein Quelltexteditor implementiert, der die in der Arbeit geschilderten Möglichkeiten umsetzt.

Set-Domain Repräsentation und Set-Constraints für CLFD

Stichworte: finite (Set) Constraints, Common Lisp, Constraint Solving
Betreuer/Kontakt: Stephan Frank
Ein System von Set Constraints besteht aus einer Reihe von Teilmengenbeziehungen zwischen Mengenvariablen und Konstanten, wobei Mengenoperationen wie Schnitt und Vereinigung benutzt werden können. Für eine große Klasse von Set-Constraint-Systemen existieren Lösungsalgorithmen, an deren Implementierung wir interessiert sind.

Statische Programmanalyse und Entwicklung einer Annotationssprache für funktionale Programme

Stichworte: statische Programmanalyse, funktionale Programmierung, Annotationen
Betreuer/Kontakt: Martin Grabmüller
Die Zielsetzung dieser Diplomarbeit ist die Entwicklung eines Analysetools für funktionale Sprachen. Da viele Analysen sehr aufwendig und zum Teil nicht entscheidbar sind, soll die Möglichkeit geschaffen werden, im Programmcode zusätzliche Informationen zu Parametern und Funktionen anzugeben. Dafür soll eine einheitliche Annotationssprache entwickelt werden.

Make-Tool zur Unterstützung modellgetriebener Softwareentwicklung

Stichworte: Make-Tool, MDA
Betreuer/Kontakt: Martin Grabmüller

Interaktiver, visueller Compiler.

Stichworte: Optimierung, Laufzeit-Codegenerierung, Visueller Compiler
Betreuer/Kontakt: Martin Grabmüller
In dieser Arbeit soll es darum gehen, eine grafische Benutzeroberfläche mit einem optimierenden Compiler für eine funktionale Sprache zu kombinieren, so dass die Reihenfolge und die Wiederholung sowie die Auswirkung unterschiedlicher Optimierungsphasen aufeinander experimentell untersucht werden können. Der zu entwickelnde Prototyp soll erlauben, von Hand verschiedene Optimierungsphasen auszuführen, diese Auswahl von Optimierungen abzuspeichern und dann auf beliebig viele Programme anzuwenden. Dabei sollen Laufzeitgewinne und -verluste gemessen werden und schließlich die automatische Suche nach "optimalen" Optimierungssequenzen ermöglicht werden. Als mögliche Erweiterung kann der Compiler auch Ausführungsprofile früherer Programmläufe in seine Analysen einbeziehen (profiling).

Anwendung klassischer Optimierungstechniken in Compilern für funktionale Sprachen.

Stichworte: Optimierung, SSA-Form, Compiler
Betreuer/Kontakt: Martin Grabmüller
Im Rahmen dieser Arbeit sollen klassische Optimierungsverfahren wie die Elimination nutzloser Berechnungen, Konstantenpropagation, Elimination von Redundanz, Elimination von Induktionsvariablen, auf ihre Eignung in funktionalen Sprachen mit Funktionen höherer Ordnung untersucht werden. Dabei wird eine Kombination klassischer Datenflussanalysen und Kontrollflussanalyse höherer Ordnung notwendig sein sowie die Umsetzung für einen Compiler einer einfachen, rein funktionalen Sprache.

An Abstract Machine for a Concurrent and Parallel Constraint Functional Programming Language

Stichworte: Abstrakte Maschine, Nebenläufigkeit, Parallelität, Constraint-funktionale Programmierung
Betreuer/Kontakt: Petra Hofstedt, Martin Grabmüller
Während Funktionen, Ausdrücke und Funktionsanwendungen die Basis funktionaler Sprachen sind, verwendet man bei der Constraint-basierten Programmierung Constraints, d.h. Relationen zwischen Variablen oder Objekten zur Problembeschreibung. Constraints sind logische Formeln, mit deren Hilfe man Eigenschaften von und Beziehungen zwischen Objekten beschreibt. Diese Beschreibung darf dabei auch unvollständig sein. Beispielsweise legen die Constraints R=U/I, U=3 und R >= 15 zusammen Einschränkungen für I (I <= 0.2) und R fest, fixieren die Variablen dabei aber nicht auf jeweils genau einen Wert. Für so beschriebene Probleme kann man dann mithilfe spezieller Lösungs- und Suchalgorithmen Lösungen berechnen.

In dieser Arbeit wird eine abstrakte Maschine zur nebenläufigen und parallelen Verarbeitung einer Constraint-Funktionalen Sprache entwickelt.

Ein Editor fuer Petri-Netze mit Unterstuetzung fuer Simulation und Analyse

Stichworte .NET, GUI, Simulation, PowerPoint
Betreuer/Kontakt: Michael Cebulla
Es soll ein graphischer Editor erstellt werden, der für die Anforderungen von High-Level Petri Nets spezialisiert ist. Das Werkzeug soll u.a. folgende Anforderungen realisieren: Layouting, Syntax-Check, Simulation (z.B. das Token-Spiel), Unterstützung diverser Analysen.

Als Frontend soll MS-PowerPoint genutzt werden. Die Programmierung wird auf der .NET-Plattform statffinden (C#, VB). Das Frontend wird über die Automation-Schnittstelle angesteuert. Voraussetzungen: Kenntnisse in objektorientierter Programmierung und einer höheren Programmiersprache. Grundkenntnisse hinsichtlich GUI-Programmierung.

Ein webbasiertes Informationssystem zur Unterstützung der Literaturrecherche

Stichworte: Content Management
Betreuer/Kontakt: Michael Cebulla
Eine Datenbank zur Verwaltung von Publikationen soll online zur Verfügung gestellt werden. Dabei sollen verschieden Quell- und Zielformate verarbeitet werden können (Bibtex, XML, pdf usw.)

Genericity and Variability: A Framework for Building Graphical Editors

Stichworte: Generizität, Layoutconstraints, OO
Betreuer/Kontakt: Michael Cebulla
In der Diskussion um Wiederverwendbarkeit von Softwaresystemen sowie in der Softwaretechnik überhaupt wurde im letzten Jahrzehnt immer deutlicher Kritik am Konzept der Vererbung geübt.
So wird insbesondere von Seiten des generative programming neuerdings kritisiert, dass OO-Modellierung lediglich auf ein System ziele. Gefordert sei aber gerade im Hinblick auf Wiederverwendung die Modellierung von Systemfamilien, d.h. von konfigurierbaren Anwendungen, die verschiedenen aber ähnlichen Zwecken dienen.
Als Beispiel für eine solche generative Vorgehensweise soll ein Framework zum Editieren visueller Sprachen modelliert und implementiert werden, aus dem durch Konfiguration Instanzen erzeugt werden können, die die Bearbeitung verschiedener Familien von Dokumenten erlauben.
Dabei sollen Design-Alternativen aus dem Bereich der aspektorientierten, subjektorientierten bzw. intentionalen Programmierung aufgezeigt, erforscht und diskutiert werden.

Interpretation von OPAL auf Basis von Reflection

Stichworte: OPAL, Reflection,
Betreuer/Kontakt: Baltasar Trancón y Widemann

Persistenz als Aspekt eines objektorientierten Modells

Stichworte: Persistenz
Betreuer/Kontakt: Baltasar Trancón y Widemann

Constraint-imperative Programmierung

Stichworte: Constraint-Programmierung, imperative Programmierung, Sprachintegration
Betreuer/Kontakt: Petra Hofstedt

Eine abstrakte Maschine für die (schrittweise) Abarbeitung funktional-logischer Programme

Stichworte: Funktional-logische Programmierung, abstrakte Maschinen
Betreuer/Kontakt: Petra Hofstedt

Strategien für kooperierende Constraint Löser

Stichworte: Constraint
Betreuer/Kontakt: Petra Hofstedt

Kooperation und Koordination von Constraint Solvern - Implementierung eines Prototyps

Stichworte: Constraint
Betreuer/Kontakt: Petra Hofstedt

Eine generische Skriptsprache zur Entwicklung von Fernwartungsanwendungen

Stichworte: Scripting
Betreuer/Kontakt: Michael Cebulla

Mobile Computing und Dokumentverarbeitung: Entwurf und Realisierung eins WAP-Simulators

Stichworte: WAP
Betreuer/Kontakt: Michael Cebulla

Architekturen, Methoden und Konzepte zur Layoutbeschreibung in der elektronischen

Dokumentverarbeitung
Stichworte: Methoden, Architekturen, Dokumentverarbeitung
Betreuer/Kontakt: Michael Cebulla

Interfacing functional-logic with object-oriented programming languages by coupling Mercury and Java

Stichworte: Java, Mercury, funktional-logisch, OO
Betreuer/Kontakt: Michael Cebulla

Generizität im Content-Management: ein webbasiertes Informationssystem zur Unterstützung der Literaturrecherche

Stichworte: Content Management
Betreuer/Kontakt: Michael Cebulla

Content Management und Layoutbeschreibung - eine Sprache zur Erzeugung plattformunabhängiger Präsentationen

Stichworte: Content Management
Betreuer/Kontakt: Michael Cebulla

Restricted Implementation of PrePaid Card Service on the base of J2EE platform

Stichworte: Java
Betreuer/Kontakt: Michael Cebulla

Valid HTML 4.01 Transitional Valid CSS!