SERAPIS 2 Ecore

SERAPIS 2 Ecore

Die approbierte Originalversion dieser Diplom-/ Masterarbeit ist in der Hauptbibliothek der Tech- nischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng SERAPIS 2 Ecore Bridging Two Modeling Spaces in Eclipse DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Software Engineering & Internet Computing eingereicht von Gerald Margreiter Matrikelnummer 0728495 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: o.Univ.-Prof. Dipl.-Ing. Mag. Dr. Gerti Kappel Mitwirkung: Univ.-Ass. Mag. Dr. Manuel Wimmer Univ.-Ass. Dipl.-Ing. Dr. Philip Langer Wien, 01.07.2013 (Unterschrift Verfasser) (Unterschrift Betreuung) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at SERAPIS 2 Ecore Bridging Two Modeling Spaces in Eclipse MASTER’S THESIS submitted in partial fulfillment of the requirements for the degree of Diplom-Ingenieur in Business Informatics by Gerald Margreiter Registration Number 0728495 to the Faculty of Informatics at the Vienna University of Technology Advisor: o.Univ.-Prof. Dipl.-Ing. Mag. Dr. Gerti Kappel Assistance: Univ.-Ass. Mag. Dr. Manuel Wimmer Univ.-Ass. Dipl.-Ing. Dr. Philip Langer Vienna, 01.07.2013 (Signature of Author) (Signature of Advisor) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit Gerald Margreiter Mariahilferstraße 156-158, 1150 Wien Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwen- deten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit - einschließlich Tabellen, Karten und Abbildungen -, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. (Ort, Datum) (Unterschrift Verfasser) i Acknowledgements First of all, I would like to express my very great appreciation to my advisor Professor Gerti Kappel for her supervision. I am particularly grateful for the assistance given by my co-advisors Dr. Manuel Wimmer and Dr. Philip Langer, especially for the valuable technical discussions and the constant support. Also I would like to acknowledge the help provided by Josef Weissinger and the Federal Ministry of the Interior allowing to study the SERAPIS modeling tool in a production environ- ment. Furthermore, my special thanks are extended to Sphinx IT Consulting, especially Matthias Kammermann, for granting access to the internals of SERAPIS. iii Abstract As the approach of Model-Driven Engineering (MDE) is becoming mainstream in modern soft- ware development practices, there is a growing variety of tools to support the lifecycle of model- ing artifacts. Standards such as Meta-Object Facility (MOF) defined by the Object Management Group (OMG) help to avoid information loss when trying to integrate multiple modeling tools across their technical boundaries. The Eclipse-based modeling tool SERAPIS by Sphinx IT Consulting defines a proprietary meta-language which is not compliant to MOF or any other modeling standard. As a con- sequence, metamodels specified in this meta-language and therefore also the instantiations of these metamodels cannot be interchanged with existing tools based on standards such as MOF which results in a vendor-lock for customers. The contribution of this master thesis is to develop a transformation approach allowing to translate metamodels and models from the SERAPIS technical space to the Eclipse Modeling Framework (EMF), which employs the meta-language Ecore as the de facto standard corre- sponding to MOF. The strategy to achieve this is based on an approach presented in the Ph.D. thesis by Dr. Manuel Wimmer who suggests a semi-automatic transformation for metamodels by mapping the corresponding meta-languages. Moreover, we specialize this approach to also enable the automatic transformation of SERAPIS models based on the mappings of their meta- models. The transformation approach developed in this work is implemented in the Eclipse IDE in order to prove its feasibility and to evaluate the generated results. v Kurzfassung Da der Ansatz von Model-Driven Engineering (MDE) im Bereich der Softwareentwicklung im- mer breitere Anwendung findet, nimmt auch die Bandbreite der verfügbaren Werkzeuge zur Verwaltung der Modelle immer weiter zu. Standards wie Meta Object Facility (MOF) definiert durch die Object Management Group (OMG) zielen darauf ab, Informationsverluste beim Über- brücken technischer Grenzen im Rahmen unterschiedlicher Szenarien der Werkzeugintegration zu vermeiden. Das auf Eclipse basierende Modellierungswerkzeug SERAPIS der Firma Sphinx IT Con- sulting verwendet eine proprietäre Metasprache, die weder zu MOF noch zu anderen Standards kompatibel ist. Folglich können weder Metamodelle, welche in dieser Metasprache spezifiziert werden, noch entsprechende Modelle mit anderen Modellierungswerkzeugen integriert werden, was den Anwender solcher Modellierungswerkzeuge an den Hersteller der Werkzeuge bindet. Der Beitrag dieser Masterarbeit bezieht sich auf die Untersuchung eines Transformationsan- satzes, der es erlaubt, Metamodelle und Modelle aus SERAPIS in korrespondierende Modelle des Eclipse Modeling Framework (EMF) zu transformieren, welches mit dem de facto Standard Ecore eine MOF-konforme Metasprache einsetzt. Der Transformationsansatz wird dabei an die Doktorarbeit von Dr. Manuel Wimmer angelehnt, der die halbautomatische Transformation von Metamodellen anhand der Korrespondenzen ihrer definierenden Metasprachen beschreibt. Nach demselben Prinzip wird auch eine Komponente entwickelt, die das Übersetzen von SERAPIS Modellen ermöglicht. Der in dieser Arbeit untersuchte Transformationsansatz wurde implemen- tiert und in die Eclipse IDE integriert, um einerseits die Machbarkeit zu zeigen und um anderer- seits die Resultate der Transformation zu evaluieren. vii Contents 1 Introduction 1 1.1 Motivation . 1 1.2 Contribution . 3 1.3 Outline . 4 2 State of the art 5 2.1 Metamodeling and Model-Driven Engineering . 5 2.2 Metamodel Derivation and Model Transformation . 10 3 SERAPIS at a Glance 17 3.1 SERAPIS Modeling Tool . 18 3.2 Models in SERAPIS . 21 3.3 Issues of SERAPIS . 25 4 Metamodel Bridging 33 4.1 Metametamodel-based Transformation . 33 4.2 Transforming SERAPIS to Ecore . 36 5 Metamodel Transformation 39 5.1 Type Mapping . 39 5.2 Mapping the SERAPIS Meta-language to Ecore . 41 5.3 EMF Profiles . 45 5.4 Extending Ecore with Additional SERAPIS Concepts . 49 5.5 Metamodel Generator . 56 6 Model Transformation 63 6.1 Model-to-Model Transformation . 63 6.2 Transformation Objectives . 70 6.3 Model Generator . 73 7 Evaluation 79 7.1 Feasibility . 79 7.2 Quality . 81 ix 8 Conclusion 89 8.1 Contributions of the Thesis . 89 8.2 Outlook . 90 Bibliography 93 x CHAPTER 1 Introduction 1.1 Motivation As the requirements to modern software systems increase in quantity and complexity, the need to adopt new approaches in software development emerges. Model-Driven Engineering (MDE) is expected to increase productivity of the development process, improve the overall quality of software and reduce both development time and costs. Whether these claims are completely justified is not to be discussed in the scope of this work, but as a matter of fact the model-driven approach introduces a couple of helpful aspects. For once a model provides abstraction to the system under study and thereby improves communication between the stakeholders of a software project and helps to avoid misunderstandings in the assessment of requirements. A model is also comparably cheap to build and allows to take an early glance at the final result of a project. Therefore, design flaws can be detected at an early stage of the development process where the correction of defects is still inexpensive. As a model evolves over time, it also represents the current state of a software project and thereby serves documentation and planning purposes [21]. Once a model is created, the need for manipulation, refinement, and transformation emerges from the design process. Various development tools provide different strengths and weaknesses when it comes to these tasks which often makes it necessary to apply multiple tools in the development process. As a consequence, avoiding information loss in order to support seamless tool integration becomes a crucial objective in a model-driven software project [8]. On the sector of model-driven development a variety of tools is available for supporting the modeling lifecycle. These tools often introduce their own metamodels and techniques for model representation which is why the interchange of modeling data is complicated or not feasible at all. In order to overcome the lack of interoperability, methods to bridge divergent metamod- els and technical spaces have to be applied. In the context of MDE, tool integration can be implemented by model transformation techniques [7]. The Object Management Group (OMG) [27] is a consortium with the goal to specify stan- dards in the domain of information technology and software development. Next to others, stan- 1 Meta-language A Meta-language B conformsTo conformsTo correspondsTo Metamodel A' Metamodel B' conformsTo conformsTo correspondsTo Model A'' Model B'' Technical space T1 Technical space T2 Figure 1.1: Outline of the

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    109 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us