Bibliographic Metadata

Title
Constraints and models@Runtime for EMF profiles / von Christian Wiesenhofer
AuthorWiesenhofer, Christian
CensorWimmer, Manuel
PublishedWien, 2017
Descriptionxi, 99 Seiten : Illustrationen
Institutional NoteTechnische Universität Wien, Diplomarbeit, 2017
Annotation
Zusammenfassung in deutscher Sprache
LanguageEnglish
Document typeThesis (Diplom)
Keywords (DE)EMF Profiles / DSML / OCL / Models@Runtime / Modellierung / aspect-orientiert / AspectJ
Keywords (EN)EMF Profiles / DSML / OCL / Models@Runtime / Modeling / aspect-oriented / AspectJ
URNurn:nbn:at:at-ubtuw:1-98941 Persistent Identifier (URN)
Restriction-Information
 The work is publicly available
Files
Constraints and models@Runtime for EMF profiles [1.32 mb]
Links
Reference
Classification
Abstract (German)

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.

Abstract (English)

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.

Stats
The PDF-Document has been downloaded 35 times.