Direkt zum InhaltDirekt zur SucheDirekt zur Navigation
▼ Zielgruppen ▼
 

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

 

Modellgetriebene Software Entwicklung

Abschlussarbeiten

Themen, die noch zu vergeben sind

 


 
  • Untersuchungen zur Eignung von frei verfügbaren UML-Modellen zur Evaluation von Werkzeugen in der modellbasierten Softwareentwicklung
    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
    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.
  • Entwicklung eines Rahmenwerks zur beispielgetriebenen Spezifikation komplexer Editieroperationen
    Komplexe Editieroperationen wie bspw. Refactoring-Operationen sind ein wichtiger Konfigurationsparameter für viele Werkzeuge zur Unterstützung von Modellevolution im Kontext der modellbasierten Softwareentwicklung (MBSE). Hierfür werden meist deklarative, regelbasierte Spezifikationen von Editieroperationen benötigt, welche mittels dedizierter Modelltransformationssprachen formuliert werden können. Für Domänenexperten ist eine präzise Spezifikation aus mehreren Gründen nicht trivial, so z.B. weil Modelltransformationen auf der abstrakten Syntax von Modellen arbeiten, welche von der konkreten Syntax oftmals erheblich abweichen kann. „Model-Transformation-By-Example“ ist ein vielversprechender Ansatz, diese Hürde zu überwinden. Domänenexperten demonstrieren hierbei die Transformation in Form von Beispielen in ihrer gewohnten Modellierungsumgebung, und aus den Beispielen wird die Transformationsspezifikation automatisch abgeleitet. Allerdings ist die Spezifikation nur so gut wie die zur Verfügung gestellten Beispiele. Ziel dieser Arbeit ist es, ein Rahmenwerk zu schaffen, um Modellierer in den Prozess der beispielgetriebenen Transformationsspezifikation in Form einer Feedback-Schleife einzubinden. Grundlegende Idee ist es, die aus Beispielen inferierten Editieroperationen in Standardeditoren zu integrieren, um so auf weitere Modelle anzuwenden zu können. Entsprechende Resultate sollen durch die Modellierer beurteilt werden, um so neue Beispiele zur inkrementellen Verfeinerung der Transformationsregeln zu erzeugen.
  • Systematische Behandlung von Variabilität bei der Generierung von Editieroperationen für Modelle in der modellbasierten Softwareentwicklung
    Editieroperationen auf Modellen sind ein wichtiger Konfigurationsparameter vieler variabler Werkzeuge zur Unterstützung von Modellevolution im Kontext der modellbasierten Softwareentwicklung (MBSE). Konsens herrscht in der Literatur darüber, dass die Menge der zur Verfügung stehenden Editieroperationen an den Modelltyp angepasst werden muss; so sind bspw. für UML-Klassendiagramme andere Editieroperationen sinnvoll als für Matlab/Simulink-Modelle. Ebenfalls Konsens herrscht darüber, dass sich die zur Verfügung stehenden Editieroperationen grob in komplexe und elementare Operationen klassifizieren lassen. In dieser Arbeit sollen elementare Editieroperationen betrachtet werden. Tatsächlich existieren hierfür bereits verschiedene Variationspunkte in der Spezifikation der Editieroperationen, welche bislang nicht in systematischer Weise untersucht wurden. Eine solche systematische Analyse ist Gegenstand dieser Arbeit mit dem Ziel, die Ergebnisse in einem Variabilitätsmodell formal zu dokumentieren. Die Ergebnisse sollen ferner zur Konfiguration eines bereits existierenden Generatorwerkzeugs für Editieroperationen genutzt werden.
  • Einsatz mehrdimensionaler Suchstrukturen zur Analyse von ähnlichen Modellelementen in modellbasierten Softwareproduktfamilien
    Ad-hoc Wiederverwendungsmechanismen wie das „Clown and Own“ Paradigma führen im Laufe der Zeit zu einer Menge von ähnlichen jedoch nicht identischen Varianten eines Softwareprodukts. Solche Softwareproduktfamilien sind schwer zu überblicken und verursachen hohe Wartungskosten. In der Literatur wurden bereits verschiedene Methoden und Techniken vorgeschlagen, ad-hoc entstandene Softwareproduktfamilien zu analysieren und unter Ausnutzung systematischer Wiederverwendungsmechanismen zu restrukturieren. Ein erster grundlegender Schritt solcher Familienanalysen ist die Identifikation gemeinsamer und unterschiedlicher Anteile in den einzelnen Varianten. Im Falle modellbasierter Produktfamilien besteht das Kernproblem darin, im Falle von N Varianten eine optimale (oder hinreichend gute) Menge von N-Tupeln gleicher (oder ähnlicher) Modellelemente zu identifizieren. Tatsächlich ist dies für Modelle bereits für N=2, also im Falle der Bestimmung korrespondierender Elemente in zwei miteinander zu vergleichenden Modellen, ein schwieriges Problem. Dies gilt insbesondere dann, wenn für den Vergleich die Ähnlichkeit von Modellelementen herangezogen werden soll. Mehrdimensionale Suchbäume wurden als ein skalierbares Verfahren zum Finden von ähnlichen Elementen in Paaren von Modellen bereits erfolgreich eingesetzt. Im Rahmen dieser Arbeit soll untersucht werden, ob und wie dieses Verfahren auf N>2 verallgemeinert werden kann.
  • Abgleich objektorientierter Datenmodelle mittels Verfahren des Ontologie-Matching
    Werkzeuge zum Abgleich von Modellen werden für unterschiedlichste Zwecke in allen Phasen modellbasierter Softwareentwicklungsprojekte benötigt. Gängige Verfahren des Modellvergleichs unterstellen hierfür meist eine Menge von Modelleigenschaften, welche die Identifikation korrespondierender Modellelemente stark erleichtert. Beispiele hierfür sind die Verfügbarkeit von eindeutigen Identifizierern von Modellelementen oder die Stabilität von Namen evolvierender Modelle. Diese günstigen Rahmenbedingungen treffen jedoch in frühen Projektphasen nicht zu, da Modelle hier oftmals unabhängig voneinander entstehen, so z.B. in Form von unterschiedlichen Sichten verschiedener Stakeholder. Ferner existiert meist noch keine projektweit einheitliche Terminologie für fachliche Entitäten. Ziel dieser Arbeit ist es zu prüfen, inwiefern Verfahren des Ontologie-Matching, also Verfahren zur Bestimmung korrespondierender Konzepte in Ontologien, hierfür geeignet sind. Im Fokus stehen dabei objektorientierte Analysedatenmodelle, da deren Beschreibungssprachen, bspw. Klassendiagramme der UML, eine hohe Ähnlichkeiten zu Ontologie-Beschreibungssprachen aufweisen.