Titelaufnahme

Titel
Constraints and Models@Runtime for EMF Profiles / von Christian Wiesenhofer
Weitere Titel
Constraints and Models@Runtime for EMF Profiles
VerfasserWiesenhofer, Christian
Begutachter / BegutachterinWimmer, Manuel
ErschienenWien, 2017
Umfang113 Seiten
HochschulschriftTechnische Universität Wien, Diplomarbeit, 2017
Anmerkung
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprueft
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers
SpracheEnglisch
DokumenttypDiplomarbeit
Schlagwörter (DE)EMF Profiles / DSML / OCL / Models@Runtime / Modellierung / aspect-orientiert / AspectJ
Schlagwörter (EN)EMF Profiles / DSML / OCL / Models@Runtime / Modeling / aspect-oriented / AspectJ
URNurn:nbn:at:at-ubtuw:1-98941 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist frei verfügbar
Dateien
Constraints and Models@Runtime for EMF Profiles [1.32 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Modellierungssprachen spielen in der Software-Entwicklung eine große Rolle. Zurzeit wird hierfür hauptsächlich UML verwendet, sogenannte domänenspezifische Modellierungssprachen (DSMLs) finden aber immer größeren Anklang. Ihr Hauptvorteil ist ein höherer Abstraktionsgrad, wodurch die automatische Generierung von Quelltext erleichtert wird. Solche DSMLs zu erstellen ist jedoch mit großem Zeitaufwand verbunden. Um dieses Problem zu lösen wurde das EMF Profiles Projekt gestartet. Es ermöglicht, ähnlich wie UML-Profile, die Verwendung von leichtgewichtigen Profilen, um ein bestehendes Modell zu erweitern. Dadurch, dass mithilfe dieser Profile eine Änderung der Meta-Modelle wegfällt und Bestandteile wiederverwendet werden können, verringert sich die benötigte Entwicklungszeit. Im Vergleich zu reinen Meta-Modell-basierten Sprachen, bestehen gewisse Einschränkungen in EMF Profiles. So existiert zurzeit keine Möglichkeit starke Nutzungsbeschränkungen oder Laufzeitverhalten in Profile einzubinden. Dadurch ist zum Beispiel ein typischer Anwendungsfall - die gleichzeitige Verwendung mehrerer Sprachen - nicht möglich. Daher stellte sich die Frage wie diese Funktionalitäten realisiert werden können. In dieser Arbeit werden zwei Erweiterungen von EMF Profiles vorgestellt und prototypisch implementiert. Zur Evaluierung dieses Prototypen wurde eine Fallstudie durchgeführt. Die Lösung der Problemstellungen erfolgte durch einen OCL-Mechanismus für Beschränkungen bei der Anwendung von Stereotypen, sowie durch einen Generator, der AspectJ Code-Fragmente zu Profilen hinzufügt, die dann das Laufzeitverhalten eines Elements ändern. Die Fallstudie beinhaltet eine Basis Petri-Netz Sprache, der drei Petri-Netz Erweiterungen hinzugefügt wurden. Diese Erweiterungen sind als EMF Profile umgesetzt, wobei all deren Spezifikationen vollständig umgesetzt werden konnten. Weitere Metriken wurden erhoben, um die Vorgangsweise und den Prototypen bewertbar und vergleichbar zu machen.

Zusammenfassung (Englisch)

Modeling languages play an essential part in the software engineering process. Currently, mostly UML is used for that purpose, but domain-specific modeling languages (DSMLs) get more and more attention. Their main benefit is a higher abstraction-level, which eases generating code from such models. One major drawback of DSMLs, is their time-consuming development. To tackle this problem the EMF Profiles project was founded. It provides a lightweight extension mechanism, just as UML profiles, to be used for DSMLs. This way models can be altered without modifying their whole metamodel and domain properties can be reused, thus reducing the required development time. In comparison to pure metamodel-based languages there are certain limitations in EMF Profiles. There is no way to model constraints regarding the restricted use of stereotypes or to include runtime behavior. A typical use case is for example to use multiple languages at once. However, considering these shortcomings, such an attempt is not possible. Thus the question emerged, how these features can be realized. In this thesis two extensions to EMF Profiles are presented and implemented as prototype, which is then evaluated using a case study. The research problems were solved by introducing an OCL constraint mechanism, which manages the stereotype application. Furthermore a generator was implemented to add AspectJ-based code fragments to profiles, so they can influence the runtime behavior of a model element. The case study was conducted by creating a base Petri net language and adding three Petri net extensions, implemented as EMF profiles, to it. All of their specifications could be fully implemented. Further metrics about the approach and the prototype were collected, in order to ensure it is assessable and comparable.