Angebotene Diplomarbeiten (U. Aßmann, A. Ludwig)
Stand $Date: 2000/02/11 17:06:33 $
Visuelle Spezifikation von Aspekt-Orientierten Programmen
Beim aspekt-orientierten Programmieren (AOP) werden verschiedene Aspekte
eines Programms getrennt spezifiziert und danach von einem Werkzeug zusammengewebt
(weaving). Bisher werden vor allem textuelle Sprachen gewebt; die Diplomarbeit
soll am Beispiel UML untersuchen, inwieweit visuelle Spezifikationen verwebt
werden können. Dazu sollten visualisierbare Spezifikationsmethoden
wie z.B. Graphersetzungssysteme erprobt werden.
Voraussetzung: Grundkenntnisse im objektorientierten Programmieren.
Dynamische Rekonfiguration in reflexiven Architekturen
Dynamische Rekonfiguration von Systemen ist möglich, wenn die Architektur
eines Systems zur Laufzeit als Datenstruktur mitgeführt wird, sodass
Anfragen über der Architektur möglich werden (Reflexion). Ändert
man nun die Datenstruktur, sollte sich die Architektur des Systems automatisch
mitändern. Die Diplomarbeit soll Mechanismen dafür entwickeln
(Darstellung der Architektur, Abfragen der Meta-Information, Codegenerierung
bzw. -modifikation von der Architekturspezifikation aus).
Voraussetzung: Grundkenntnisse im objektorientierten Programmieren.
Grundkenntnisse im Übersetzerbau.
Reflexive Workflow-Systeme
Workflow-Systeme erlauben es, flexibel Datenströme durch Netze von
Aktivitäten zu beschreiben. Auch der Software-Entwicklungsprozess
ist ein Workflow-Prozess, der mit einem solchen System verwaltet werden
kann. Andererseits können Workflows mithilfe von Sprachen für
dynamische Rekonfiguration von Architekturen beschrieben werden. In Zusammenarbeit
mit der Diplomarbeit 'Dynamische Rekonfiguration in reflexiven Architekturen'
ist ein Workflow-System zu entwickeln, in dem Softwareprozesse beschrieben
werden können.
Voraussetzung: Grundkenntnisse im objektorientierten Programmieren.
Grundkenntnisse in Software-Prozesswerkzeugen (make, rcs, etc.)
Expertensysteme für die Auswahl von Entwurfsmustern
Komposition und Konfiguration von Entwurfsmustern bzw. Systeme, die mit
Entwurfsmustern entworfen werden, unterliegen einer Menge von Auswahlentscheidungen,
die von vielen Parametern abhängig sind. Es soll untersucht werden,
ob dieses Wissen sich in Regeln eines Expertensystems fassen lässt,
das dann die entsprechenden Muster auswählt, um ein System zusammenzusetzen.
Voraussetzung: Solide Kenntnisse im objektorientierten Programmieren.