Titelangaben
Jahn, Matthias:
Evolution von Meta-Modellen mit sprachbasierten Mustern.
Bayreuth
,
2014
. - X, 209 S.
(
Dissertation,
2014
, Universität Bayreuth, Fakultät für Mathematik, Physik und Informatik)
Abstract
In 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.
Abstract in weiterer Sprache
Nowadays, software developers tend to use domain specific modelling languages (DSML) to describe parts of the software system using terms of the domain. As a consequence, the resulting DSML is able to precisely represent the domain part in a concise way. Nevertheless, creating languages is not a trivial task. That is why several tools exist supporting efficient development of DSMLs. These tools often use meta models defining integral parts of the DSML like abstract and concrete syntax. Conforming to these meta models, instance models can be built representing the concrete parts of the domain of interest. The high degree of specialization of a DSML causes a language adaption especially in early language development phases to cope with arising domain requirements. Hence, models expressed in the old meta model version might get invalid and have to be migrated to be utilized in the system again.
The development of a DSML is driven by the aim to improve expressiveness and conciseness. Therefore, the current research in the field of meta modelling has discovered language patterns like inheritance, deep instantiation, materialization, prototyping, clabjects and (extended) powertypes which help to improve meta model quality. However, introducing such patterns into an existing meta model is coupled with language evolution influencing various model elements. Hence, discovering a migration strategy is not trivial. Owing to the fact that such kind of language evolution is nearly not considered in current systems or research approaches, this migration needs to be defined manually by the modeller. Thus, this task is time-consuming and error-prone.
This thesis focuses the above stated challenge and provides a set of evolution operators which support evolution of meta models using language patterns. For each change of a model elements property that might cause an invalid model state, an operator is defined that transforms the model. These transformations consider the model paradigm constraints presented in this thesis and the compliance of the language patterns’ semantic. Furthermore, a catalogue of operators is presented enabling an semiautomatic introduction of language patterns into existing meta models or a change of them. These catalogue leverages the set of elementary modelling operators in order to reuse their functionality. Additionally, an approach is presented that outlines modellers the pattern effects to specific model elements and hence supports dealing with language patterns. With that, different evolution possibilities can be reviewed by the modeller.
Weitere Angaben
Publikationsform: | Dissertation |
---|---|
Keywords: | meta modeling; meta model evolution; language patterns; powertype; instance specialization; deep instantiation; materialization; specialization; multi level meta modeling; model workbench; orthogonal classification; meta modeling paradigm; evolution operator; domain specific languages |
Institutionen der Universität: | Fakultäten Fakultäten > Fakultät für Mathematik, Physik und Informatik Fakultäten > Fakultät für Mathematik, Physik und Informatik > Institut für Informatik Fakultäten > Fakultät für Mathematik, Physik und Informatik > Institut für Informatik > Lehrstuhl Angewandte Informatik IV |
Titel an der UBT entstanden: | Ja |
Themengebiete aus DDC: | 000 Informatik,Informationswissenschaft, allgemeine Werke > 004 Informatik |
Eingestellt am: | 20 Dec 2014 22:00 |
Letzte Änderung: | 20 Dec 2014 22:00 |
URI: | https://eref.uni-bayreuth.de/id/eprint/5368 |