Direkt zum InhaltDirekt zur SucheDirekt zur Navigation
▼ Zielgruppen ▼
 

Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Modellgetriebene Software Entwicklung

 

Modellgetriebene Software Entwicklung

Laufende Abschlussarbeiten

 

  • Zum Umgang mit geordneten Kollektionen von Modellelementen im Modellvergleichswerkzeug SiLift
    Tilo Prütz
    UML-Modelle können diverse geordnete Kollektionen von Modellelementen enthalten, so z.B. die Parameter einer Operation einer Klasse in einem UML-Klassendiagramm. Für einige Kollektionen, eingeschlossen das angeführte Beispiel der Parameterlisten, ist diese Ordnung für den Modellvergleich auch relevant. So sollen beispielsweise lokale Umsortierungen von Elementen einer geordneten Kollektion in einer Modelldifferenz, also der Beschreibung der Unterschiede zwischen zwei Modellen, auch korrekt wieder gegeben werden. Im Modellvergleichswerkzeug SiLift ist dies jedoch momentan nicht der Fall. Zwar existieren erste Lösungsskizzen, deren detaillierte Ausarbeitung sowie eine systematische Evaluation stehen jedoch noch aus und sind Gegenstand dieser Arbeit.

  • Untersuchungen zur Eignung von frei verfügbaren UML-Modellen zur Evaluation von Werkzeugen in der modellbasierten Softwareentwicklung
    Michael Amboß
    Werkzeuge und Methoden für die modellbasierte Softwareentwicklung (MBSE) müssen evaluiert und getestet werden. Adäquate Evaluations- und Testdatensätze, idealerweise Modelle aus der industriellen Praxis, stehen jedoch kaum zur freien Verfügung. Eine Option diesem Mangel zu begegnen ist die Extraktion von in OpenSource-Projekten verwendeten Modellen. Tatsächlich wurden kürzlich eine Vielzahl von GitHub-Projekten untersucht und dabei eine Vielzahl von UML-Modellen, gespeichert in Bild-, xmi-, und .uml-Dateien, extrahiert. Vorrangige Forschungsfrage der durchgeführten Studie war jedoch, wie UML-Modelle in OpenSource-Projekten verwendet werden. Unklar ist jedoch, inwiefern diese Modelle zur Evaluation von MBSE Forschungswerkzeugen und -methoden genutzt werden können. Offene Fragestellungen betreffen beispielsweise die Repräsentation der extrahierten Modelle, deren Konsistenzgrad sowie die verfügbaren Entwicklungs- und Evolutionsszenarien. Ziel dieser Abschlussarbeit ist es, die vorhandenen Modelle zu analysieren und diese Fragen zu beantworten. Idealerweise lassen sich darauf aufbauend Teilmengen von Modellen identifizieren, welche als Fallstudien zur Evaluation bestimmter MBSE Werkzeugklassen herangezogen werden können.

  • Abgleich und Differenzierung von Modelltransformationsregeln am Beispiel Henshin
    Luka Germeyer
    Modelltransformationen sind ein Kernbestandteil der modellbasierten Softwareentwicklung (MBSE). Spezifikationen von Transformationen mittels dedizierter Modelltransformationssprachen werden daher zu primären Entwicklungsdokumenten und unterliegen ständigen Änderungen über die gesamte Dauer eines MBSE-Projekts. Werkzeuge zum Abgleich und zur Differenzierung von Spezifikationen von Modelltransformationen sind daher essentieller Bestandteil einer MBSE-Entwicklungsumgebung. Generische, textbasierte Differenzalgorithmen sind für visuelle Modelltransformationssprachen jedoch ungeeignet. Als besondere Herausforderung erweist sich in diesem Kontext der Vergleich von Transformationsregeln des auf Graphtransformationskonzepten basierenden Werkzeugs Henshin. Ziel dieser Abschlussarbeit ist die Konzeption und Entwicklung eines hochgradig angepassten Werkzeug zum Abgleich und zur Differenzierung von Henshin-Transformationsregeln. Wenn möglich soll hierbei auf existierende Frameworks aus dem Kontext der Modellversionierung zurückgegriffen werden. Insbesondere zur Bestimmung korrespondierender Elemente in den zu vergleichenden Transformationsregeln sollen aber auch grundlegende Graph-Algorithmen auf ihre Eignung hin untersucht werden, beispielsweise diverse Varianten zur Bestimmung von größten gemeinsamen Subgraphen.

  • Model-Based Code Refactoring Analysis for Semi-Automated Software Library Migration
    Michael Berger

    Softwarebibliotheken entwickeln sich stetig weiter, wobei neben funktionalen Erweiterungen auch Schnittstellenänderungen und Änderungen in der Programmstruktur durchgeführt werden können. Als Folge dessen entstehen mit jedem Update solcher Bibliotheken Wartungsaufwände, die zahlreiche Anpassungen der aufrufenden Klienten zur Folge haben. Ziel dieser Arbeit ist es, Applikationsentwickler bei einer solchen Migration bestmöglich zu unterstützen. Hierzu soll untersucht werden, inwiefern Schnittstellen- und Strukturänderungen zwischen zwei Bibliotheksversionen als eine Kette von definierten Operationsschritten beschrieben werden können, so dass die identifizierten Operationen für eine semi-automatisierte Migration der aufrufenden Klienten genutzt werden können. Der Vergleichsschritt soll hierbei auf Modellebene geschehen. Dazu ist es notwendig, Projekte in geeignete Modelle umzuformen, die genau die API-Bestandteile abbilden, welche für die Identifizierung der Operationen sowie die späteren Migrationsschritte benötigt werden. Die prototypische Umsetzung eines entsprechenden Assistententools soll als Eclipse Plug-In realisiert werden, und auf den grundlegenden, EMF-basierten Frameworks Modisco, SiLift und Henshin aufbauen.