Abstract
dc:description.abstractIn der Softwareentwicklung der vergangenen Jahre wird häufig ein Sachverhalt durch eine speziell auf ein Anwendungsgebiet zugeschnittene Sprache beschrieben, die man domänenspezifische Modellierungssprachen (DSML) nennt. Dadurch können Ausschnitte aus einer Anwendungsdomäne präzise abgebildet werden. Um den Aufwand während der Erstellung dieser Sprache gering zu halten, kommen meist Meta-Modelle zum Einsatz, die die konkrete und abstrakte Syntax definieren. Basierend auf diesen Meta-Modellen werden Instanz-Modelle erstellt, die dann einen konkreten Teil einer Domäne abbilden. Durch den hohen Grad an Spezialisierung den DSMLs aufweisen, stellt sich speziell in frühen Phasen der Entwicklung häufig eine Evolution ein, um neue Anforderungen oder eine Änderung im Verständnis einer Domäne in der entwickelten Sprache abbilden zu können. Als Konsequenz müssen Instanz-Modelle dahingehend angepasst werden, dass sie der neuen Sprachversion genügen, um die in ihnen enthaltenen Informationen weiterhin verwenden zu können. Die Entwicklung einer DSML ist geprägt durch den Anspruch, die Verständlichkeit und Ausdrucksstärke von Modellen voranzutreiben. Im Bereich der Meta-Modellierung wurden deshalb verschiedene Sprachmuster wie die Vererbung, Deep Instantiation, Materialisierung, Instanz-Spezialisierung, Clabjects und der Powertyp entwickelt, die dazu dienen die Qualität eines Meta-Modells zu verbessern. Nichtsdestotrotz führt die Anwendung eines Sprachmusters auf ein existierendes Meta-Modell zu einer Sprachevolution, von der viele Elemente im Modell beeinflusst werden können. Die Migration ist folglich nicht trivial. Da in aktuellen Systemen oder Ansätzen innerhalb der Forschung solch eine Sprachevolution nur wenig berücksichtigt wird, müssen diese manuell durch den Modellierer vollzogen werden. Daher ist diese Aufgabe zeitaufwändig und fehleranfällig. Die vorliegende Dissertation widmet sich diesem Problem und liefert Methoden, um Meta-Modelle mit Sprachmustern in einfacher Weise zu ändern. Dafür wird eine Bibliothek an Evolutionsoperatoren vorgestellt, die den Umgang mit dieser Evolution ermöglicht. Genauer gesagt wird für jede Änderung einer Eigenschaft eines Modellelements, die einen ungültigen Zustand eines Modells verursachen könnte, ein Operator bereitgestellt. Dieser übernimmt die Evolution und berücksichtigt dabei auch vorhandene Sprachmuster im Modell. Weiterhin führt der Operator auch die Migration ungültiger Elemente im Modell durch, die von der Änderung betroffen sind. Als weiterer Beitrag wurden für die Sprachmuster Operatoren definiert, die sie in ein existierendes Meta-Modell einführen, existierende Sprachmuster anpassen oder sie aus dem Modell entfernen. Diese verwenden als Grundlage die elementaren Operatoren und sind somit modular aufgebaut. Als weiterer Punkt stellt diese Arbeit einen Ansatz vor, der die Sprachmuster und deren Evolution für den Benutzer transparent darstellt. Dadurch wird dem Benutzer eine Möglichkeit geboten, verschiedene Evolutionsvarianten anhand der elementaren Auswirkungen zu bewerten. Außerdem wird der Lernprozess im Umgang mit Sprachmustern, durch die Visualisierung der Auswirkungen auf betroffene Modellelemente, unterstützt.
Degree
thesis:*- Level thesis:degree_level
- thesis.doctoral
- Grantor dc:publisher
- Universität Bayreuth
- Year
- 2014
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Jahn, Matthias
- Contributors dc:contributor
-
- Jablonski, Stefan
Identifiers
dc:identifier.*- Repository record source_url
- https://epub.uni-bayreuth.de/id/eprint/1835/
- OAI identifier oai:identifier
- oai:epub.uni-bayreuth.de:1835