Schriften aus der Fakultät Wirtschaftsinformatik und 37 Angewandte Informatik der Otto-Friedrich-Universität Bamberg On the Automated Derivation of Domain-Specifc UML Profles Alexander Kraas 37 Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich- Universität Bamberg Contributions of the Faculty Information Systems and Applied Computer Sciences of the Otto-Friedrich-University Bamberg Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich- Universität Bamberg Contributions of the Faculty Information Systems and Applied Computer Sciences of the Otto-Friedrich-University Bamberg Band 37 2019 On the Automated Derivation of Domain-Specifc UML Profles Alexander Kraas 2019 Bibliographische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliographie; detaillierte bibliographische Informationen sind im Internet über http://dnb.d-nb.de/ abrufbar. Diese Arbeit hat der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg als Dissertation vorgelegen. 1. Gutachter: Prof. Dr. Gerald Lüttgen, Otto-Friedrich-University Bamberg, Germany 2. Gutachter: Prof. Dr. Richard Paige, McMaster University, Canada Tag der mündlichen Prüfung: 13.05.2019 Dieses Werk ist als freie Onlineversion über den Publikationsserver (OPUS; http://www. opus-bayern.de/uni-bamberg/) der Universität Bamberg erreichbar. Das Werk – ausge- nommen Cover, Zitate und Abbildungen – steht unter der CC-Lizenz CC-BY. Lizenzvertrag: Creative Commons Namensnennung 4.0 http://creativecommons.org/licenses/by/4.0 Herstellung und Druck: docupoint, Magdeburg Umschlaggestaltung: University of Bamberg Press © University of Bamberg Press, Bamberg 2019 http://www.uni-bamberg.de/ubp/ ISSN: 1867-7401 ISBN: 978-3-86309-670-0 (Druckausgabe) eISBN: 978-3-86309-671-7 (Online-Ausgabe) URN: urn:nbn:de:bvb:473-opus4-548916 DOI: http://dx.doi.org/10.20378/irbo-54891 Abstract Similar to general-purpose languages, domain-specific languages (DSL) can be de- veloped based on grammar formalisms, the model-driven engineering (MDE) is also becoming more and more important for the development of DSLs. On the one hand, metamodels can be used to define the syntax and semantics of DSLs. On the other hand, a DSL can be realized by adapting the Unified Modeling Lan- guage (UML) via the profiling mechanism, i.e., by defining a UML profile. For example, metamodels for a DSL can be created with the language concepts provi- ded by the Meta Object Facility (MOF), distinguishing between the Essential MOF (EMOF) and the Complete MOF (CMOF). The latter variant is based on the EMOF but provides additional language concepts. A higher degree of abstraction and reu- se of existing metamodels can be achieved by employing the language concepts provided by CMOF, which can be advantageous for the creation of more complex DSLs. Apart from DSLs proposed in the literature, a model-based specification of DSLs becomes increasingly important for standardization. Both metamodels and UML profiles are often provided for standardized DSLs. The mappings of metamodels to UML profiles are usually only specified in some abstract manner by such stan- dards. Therefore, such mappings do not provide all the details required to create executable model transformations. Moreover, the static semantics of metamodels and/or UML profiles are usually specified only in natural language. Thus, on the one hand, ambiguities can occur, and on the other hand, the soundness of the sta- tic semantics cannot be verified and validated without a manual translation into a machine-processable language. The main goal of this dissertation is to remedy the identified weaknesses in de- veloping DSLs, for which a CMOF-compliant metamodel and a UML profile shall be created. To achieve this goal, we propose a holistic MDE-based approach for automatically deriving UML profiles and model transformations based on CMOF metamodels. This approach enables an automatic transfer of DSL’s static semanti- cs to UML profiles, so that the well-formedness of UML models with applied UML profile of a DSL can be verified automatically. In addition, the interoperability bet- ween UML and DSL models can already be validated in the development phase using the derived model transformations. Apart from new DSLs that are created from scratch, our approach also supports a migration of existing grammar-based DSLs towards CMOF-based metamodels, provided syntax rules exist. II To verify and evaluate the presented derivation approach, we have implemen- ted a toolchain that we used to conduct two case studies on the Specification and Description Language (SDL) and the Test Description Language (TDL). Zusammenfassung Ähnlich wie Allzwecksprachen können domänenspezifische Sprachen (DSL) mittels Grammatikformalismen entwickelt werden, aber auch das modellgetriebene En- gineering (MDE) gewinnt für letztgenannte Sprachen immer mehr an Bedeutung. Einerseits können Metamodelle dazu verwendet werden, die Syntax und Seman- tik von DSLs zu definieren. Andererseits kann eine DSL auch durch eine Anpas- sung der Unified Modeling Language (UML) unter Verwendung des Profilierungs- mechanismus, welcher auf UML-Profilen basiert, realisiert werden. So können beispielsweise Metamodelle für DSLs mit den Sprachkonzepten der Meta Object Facility (MOF) erstellt werden, wobei zwischen dem Essential MOF (EMOF) und dem Complete MOF (CMOF) unterschieden wird. Die letztgenannte Variante ba- siert auf dem EMOF, bietet aber zusätzliche Sprachkonzepte. Mit den Sprachkon- zepten des CMOF kann ein höherer Grad an Abstraktion und Wiederverwendung bestehender Metamodelle erreicht werden, was für die Erstellung komplexer DSLs von Vorteil sein kann. Neben den in der Literatur vorgestellten DSLs wird eine modellbasierte Spezifi- kation von DSLs auch in der Standardisierung immer wichtiger. Sowohl Metamo- delle als auch UML-Profile werden oft für standardisierte DSLs angeboten. Die Ab- bildung von Metamodellen auf UML-Profile wird von solchen Standards meistens nur abstrakt spezifiziert. Daher liefern diese Abbildungen nicht alle Details, die für die Erstellung von ausführbaren Modelltransformationen erforderlich sind. Darüber hinaus wird die statische Semantik von Metamodellen und/oder UML- Profilen in der Regel nur in natürlicher Sprache angegeben. So können einerseits Unklarheiten auftreten, andererseits kann die Korrektheit der statischen Seman- tik nicht ohne eine manuelle Übersetzung in eine maschinenlesbare Sprache ve- rifiziert und validiert werden. Hauptziel der vorliegenden Dissertation ist es, die identifizierten Schwachstel- len bei der Entwicklung von DSLs, für die ein CMOF-konformes Metamodell und ein UML-Profil erstellt werden sollen, zu beheben. Um dieses Ziel zu errei- chen, wird ein ganzheitlicher MDE-basierter Ansatz zur automatischen Ableitung von UML-Profilen und Modelltransformationen auf Basis von CMOF-Metamodel- len vorgeschlagen. Dieser Ansatz ermöglicht eine automatische Übertragung der statischen Semantik auf UML-Profile, so dass die Wohlgeformtheit von UML- Modellen, die ein UML-Profil einer DSL angewendet haben, automatisch über- prüft werden kann. Des Weiteren kann die Interoperabilität zwischen UML- und DSL-Modellen bereits in der Entwicklungsphase mit den abgeleiteten Modelltrans- IV formationen validiert werden. Neben neu zu entwickelnden DSLs ermöglicht un- ser Ansatz auch eine Migration bestehender Grammatik-basierter DSLs zu CMOF- basierten Metamodellen, sofern Syntaxregeln existieren. Um den vorgestellten Ableitungsansatz zu überprüfen und zu bewerten, wurde eine Werkzeugkette implementiert, mit der zwei Fallstudien für die Specification and Description Language (SDL) und die Test Description Language (TDL) durchge- führt wurden. Contents 1 Introduction 1 1.1 Motivation . 2 1.2 Research Objective and Questions . 6 1.3 Research Methodology . 8 1.4 Obtained Results . 9 1.5 Publications . 10 1.6 Structure of the Thesis . 13 2 Foundations of MDE-based Language Development 15 2.1 Design and Development Process . 15 2.2 Metamodelling Employing the MOF . 17 2.2.1 The 4-Layered MOF Hierarchy . 17 2.2.2 The Essential MOF . 19 2.2.3 Package . 19 2.2.4 The Complete MOF . 23 2.3 Using OCL for Specifying the Static Semantics . 28 2.4 Model Transformations . 31 2.4.1 Model-to-Model Transformations . 33 2.4.2 Model-to-Text Transformations . 36 2.4.3 Notational Conventions for Model Transformations . 39 2.5 The Unified Modeling Language and UML Profiles . 40 2.5.1 The UML Diagrams . 41 2.5.2 Extending the UML Using UML Profiles . 44 2.6 Methods for Verification and Validation . 47 2.6.1 Background . 47 2.6.2 Metamodels and UML Profiles. 49 2.6.3 Verification of Model Transformations. 50 2.7 Summary . 53 3 A New UML Profile for SDL – Lessons Learned 55 3.1 Evolution of SDL and our Contributions . 55 3.1.1 Historical Evolution of SDL and of its UML Profile . 56 3.1.2 Our Contributions to a new UML Profile for SDL . 57 3.1.3 The SDL-UML Modelling and Validation Framework . 58 3.2 Foundations of SDL and of its UML Profile . 59 VI Contents 3.2.1 Fundamental Parts of an SDL Specification . 59 3.2.2 Formalization of SDL . 63 3.2.3 The UML Profile for SDL . 66 3.3 Identified Shortcomings of SDL-UML 2007 . 71 3.3.1 Drawbacks of the Data Type Model . 72 3.3.2 Issues Concerning the Representation of SDL Expressions . 76 3.3.3 Shortcomings of SDL’s Action Language . 81 3.4 Introduced Enhancements . 85 3.4.1 Specification of Data Types . 86 3.4.2 Representation of SDL Expressions
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages381 Page
-
File Size-