Model-Driven Engineering, the System Under Development Is Described and Analyzed Using Models

Total Page:16

File Type:pdf, Size:1020Kb

Model-Driven Engineering, the System Under Development Is Described and Analyzed Using Models X perf =1.00 X loss =0.01 SDSoftware Design and Quality A Declarative Language for Bidirectional Model Consistency Master’s Thesis of Dominik Werle at the Department of Informatics Institute for Program Structures and Data Organization (IPD) Reviewer: Prof. Dr. Ralf H. Reussner Second reviewer: Jun.-Prof. Dr.-Ing. Anne Koziolek Advisor: Dipl.-Inform. Max E. Kramer Second advisor: M.Sc. Michael Langhammer 09. October 2015 – 08. April 2016 Karlsruher Institut für Technologie Fakultät für Informatik Postfach 6980 76128 Karlsruhe I declare that I have developed and written the enclosed thesis completely by myself, and have not used sources or means without declaration in the text. Karlsruhe, 08. April 2016 .................................... (Dominik Werle) Abstract In model-driven engineering, the system under development is described and analyzed using models. Dierent models provide dierent abstractions of the system for dierent purposes. If multiple modeling languages are used, their models can contain overlapping informa- tion about the system. Then, they can become inconsistent after changes and need to be synchronized. The complexity of synchronizing models can be reduced by specifying consistency relationships in specialized languages and by automating the synchronization based on this specication. The languages can hide complexity that is not specic to the domain of the modeling languages, for example by deriving the operations needed for propagating changes from a model to another model for all pairs of models instead of requiring explicit specication for each pair and direction. In the course of this thesis, we designed the mapping language for specifying these consistency relationships and implemented a framework that maintains consistency based on the specication. The mapping language allows the specication of patterns in two related modeling languages, and constraints on the relationship of the patterns. Imperative Java code is generated from the specication and executed in case of a change to a model to reestablish consistency with associated models. This is done by creating or deleting corresponding structures and by propagating attribute values between the models. To allow a distinction from other approaches, we provide a comparison to state of the art transformation languages. i Zusammenfassung In der modellgetriebenen Softwareentwicklung wird das zu entwickelnde System mit Hilfe von Modellen beschrieben und analysiert. Verschiedene Modelle bieten unterschiedliche Abstraktionen des Systems für unterschiedliche Aufgaben. Falls mehrere Modellierungssprachen benutzt werden, können ihre Modelle überlappen- de Informationen über das System enthalten. Ist dies der Fall, können sie nach Änderungen inkonsistent werden und müssen synchronisiert werden. Die Komplexität des Modellsynchronisierens kann reduziert werden, indem spezialisierte Sprachen verwendet werden, um Konsistenzbeziehungen zu beschreiben, die als Grundlage für eine automatisierte Synchronisierung benutzt werden können. Die Sprachen verstecken Komplexität, die nicht für die Domäne der Modellierungssprachen spezisch ist, zum Beispiel, indem Operationen für die Übertragung von Änderungen in einem Modell auf ein anderes Modell für jedes Paar von Modellen abgeleitet werden, anstatt eine explizite Spezikation pro Paar und Richtung zu erfordern. In dieser Arbeit haben wir die Mapping-Sprache, mit der diese Konsistenzbeziehungen speziziert werden können, und ein Rahmenwerk, das basierend auf der Spezikation Konsistenz aufrechterhält, entwickelt. Die Mapping-Sprache erlaubt das Beschreiben von Mustern in zwei in Beziehung ste- henden Modellierungssprachen und von Randbedingungen, die für zwei aufeinander abgebildete Muster gelten müssen. Aus der Beschreibung wird imperativer Java-Quelltext generiert, der im Fall einer Änderung eines Modells ausgeführt wird, um die Konsistenz mit anderen Modellen wiederherzustellen. Hierfür werden korrespondierende Strukturen in den Modellen erzeugt oder gelöscht und Attributwerte zwischen den Modellen übertragen. Um eine Abgrenzung und Einordnung gegenüber verwandten Ansätzen zu erlauben, vergleichen wir unseren Ansatz mit modernen Transformationssprachen. iii Contents Abstract i Zusammenfassung iii 1 Introduction 1 1.1 Motivation . .1 1.1.1 Models as Abstractions . .1 1.1.2 Relationship of Dierent Models . .2 1.1.3 Resolution of Inconsistencies . .3 1.1.4 The Mapping Language . .3 1.2 Goals . .4 1.3 Structure . .4 1.4 Notation . .5 2 Foundations 7 2.1 Model-Driven Engineering . .7 2.2 Models, Meta Models and Languages . .8 2.3 Domain-Specic Languages . .8 2.4 Model Transformations . .9 2.4.1 Model Transformation Languages and Problems . .9 2.4.2 Declarative and Imperative Programming Languages . 10 2.4.3 Model Transformation Properties . 10 2.4.4 Dierent Execution Modes of Model Transformations . 11 2.4.5 Consistency Preservers . 12 2.4.6 Witness Structure . 13 2.4.7 Triple Graph Grammars . 13 2.5 The Eclipse Modeling Framework . 14 2.6 Xtext Language Engineering Framework . 15 2.6.1 Xtext . 15 2.6.2 Xbase . 15 2.6.3 Xtend . 16 2.7 View-Centric Model-Driven Engineering and Vitruvius ......... 16 2.7.1 Problems with Heterogeneous Models . 16 2.7.2 Orthographic Software Modeling . 16 2.7.3 Vitruvius .............................. 16 2.8 Roles in the Model-Driven Engineering Process . 18 v Contents 3 Aspects of Consistency Preservation 19 3.1 Surveys on Model Transformation . 19 3.2 Basic Denitions . 20 3.2.1 Meta Model . 20 3.2.2 Consistency Relation . 20 3.2.3 Consistency Transformation . 20 3.3 Characterization of the Meta Models . 20 3.3.1 Heterogeneous Representation of Information . 21 3.3.2 Heterogeneous Meta Model Design . 21 3.3.3 Derived Meta Models . 22 3.3.4 Validity . 22 3.3.5 Scope . 22 3.4 Characterization of the Relation . 22 3.4.1 Bijectivity and Left- and Right-Totality . 23 3.4.2 Validity and Scope . 23 3.4.3 Additional Information . 24 3.4.4 N-ary Consistency Relations . 24 3.5 Specication of the Relation . 25 3.5.1 Relating Substructures . 25 3.5.2 Graph Patterns . 26 3.5.3 Meta Level of Pattern Description . 26 3.5.4 Mapping of Patterns . 27 3.5.5 Mapping of Attribute Values . 27 3.6 Characterization of the Transformation . 29 3.6.1 Dedicated Target Model . 29 3.6.2 Validity and Scope . 29 3.6.3 User Interaction . 30 3.7 Specication of the Transformation . 30 3.7.1 Constraint Solving . 30 3.7.2 Deriving Imperative Code . 30 3.7.3 Consistency of Transformation Parts . 31 3.7.4 Well-Behavedness of Attribute Propagation . 32 3.8 Characterization of Multiple Transformation Steps . 33 3.8.1 Size of Deltas . 33 3.8.2 Caching of Information . 33 3.8.3 Oscillations . 35 3.8.4 Undoability . 35 3.9 Consistency Specication in the Model-Driven Engineering Process . 36 3.9.1 Model Transformation and Meta Model Co-Evolution . 36 3.9.2 Manual and Automated Consistency Preservation . 37 3.9.3 Partial and Comprehensive Automated Consistency Preservation 37 3.9.4 Recognizing Uncertainties through Inconsistencies . 38 vi Contents 4 The Mapping Language 41 4.1 Two Introductory Examples . 41 4.1.1 Simple One-to-One Mapping . 41 4.1.2 Nested Mapping and Conditions . 42 4.2 The MIR Language Family . 45 4.2.1 Parts of the MIR Language Family . 45 4.2.2 The Mapping Language . 45 4.3 Language Features . 47 4.3.1 Syntax . 47 4.3.2 Semantics . 49 4.3.3 Default Mappings . 50 4.4 Design of the Mapping Language . 51 4.4.1 Language Classication . 51 4.4.2 Mappings for Single Meta Classes . 51 4.4.3 Mappings for Model Element Structures . 52 4.4.4 Mappings of Structures and Values . 53 4.4.5 Default Containment . 54 4.5 Possible Extensions . 58 4.5.1 Rule Composition and User Interaction . 58 4.5.2 Inheritance in Signatures . 58 4.5.3 Class Hierarchy, Enumerables and Stereotypes . 59 4.5.4 Reusable Mapping Functions . 60 4.5.5 Complex Attribute Relations . 60 4.5.6 Transitive Closure and Dynamic Structures . 61 4.6 Limitations and Future Work . 62 4.6.1 Language Expressiveness . 62 4.6.2 Consistency Requirements . 64 4.6.3 Batch Mode and Model Integration . 64 4.6.4 Pattern Matching and Change-Drivenness . 65 4.6.5 Validation of Mapping Specications . 65 4.6.6 The Mapping Language and the MIR Language Family . 66 5 Implementation 67 5.1 Vitruvius ................................... 67 5.1.1 Correspondences . 67 5.1.2 Temporary Unique Identiers . 68 5.1.3 Change Meta Model . 68 5.1.4 Virtual Single Underlying Model . 69 5.1.5 Model Synchronization Process . 69 5.2 Change Synchronization for Mappings . 70 5.3 Code Generation . 75 5.3.1 Generated Entities . 75 5.3.2 Types and Names in the Generated Code . 80 5.3.3 Mapping Language Code Generator . 80 5.3.4 Constraint Language Code Generator . 81 vii Contents 5.4 Language Implementation . 83 5.4.1 Editor . 83.
Recommended publications
  • The Model Transformation Language of the VIATRA2 Framework
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector Science of Computer Programming 68 (2007) 214–234 www.elsevier.com/locate/scico The model transformation language of the VIATRA2 framework Daniel´ Varro´ ∗, Andras´ Balogh Budapest University of Technology and Economics, Department of Measurement and Information Systems, H-1117, Magyar tudosok krt. 2., Budapest, Hungary OptXware Research and Development LLC, Budapest, Hungary Received 15 August 2006; received in revised form 17 April 2007; accepted 14 May 2007 Available online 5 July 2007 Abstract We present the model transformation language of the VIATRA2 framework, which provides a rule- and pattern-based transformation language for manipulating graph models by combining graph transformation and abstract state machines into a single specification paradigm. This language offers advanced constructs for querying (e.g. recursive graph patterns) and manipulating models (e.g. generic transformation and meta-transformation rules) in unidirectional model transformations frequently used in formal model analysis to carry out powerful abstractions. c 2007 Elsevier B.V. All rights reserved. Keywords: Model transformation; Graph transformation; Abstract state machines 1. Introduction The crucial role of model transformation (MT) languages and tools for the overall success of model-driven system development has been revealed in many surveys and papers during the recent years. To provide a standardized support for capturing queries, views and transformations between modeling languages defined by their standard MOF metamodels, the Object Management Group (OMG) has recently issued the QVT standard. QVT provides an intuitive, pattern-based, bidirectional model transformation language, which is especially useful for synchronization kind of transformations between semantically equivalent modeling languages.
    [Show full text]
  • Lessons Learned from Building Model-Driven Development Tools
    Noname manuscript No. (will be inserted by the editor) Lessons Learned from Building Model-Driven Development Tools Richard F. Paige1 and D´anielVarr´o2 Department of Computer Science, University of York, UK. e-mail: [email protected] Department of Measurement and Information Systems Budapest University of Technology and Economics, Hungary. e-mail: [email protected] The date of receipt and acceptance will be inserted by the editor Abstract Tools to support modelling in system and of MDD tools. The principles will be distilled from an software engineering are widespread, and have reached analysis of the development of two MDD tools that are a degree of maturity where their use and availability used in practice: VIATRA and Epsilon. These tools are are accepted. Tools to support Model-Driven Develop- used in industry, on real projects, and have developed ment (MDD) { where models are manipulated and man- in very different ways. Arguably, some of the lessons aged throughout the system/software engineering lifecy- learned from the development of these tools can inform cle { have, over the last ten years, seen much research the development of new MDD tools, and can also be and development attention. Over the last ten years, we used to support the evolution of existing tools. Our ob- have had significant experience in the design, develop- jective is not to propose the \ideal" MDD tool; such a ment and deployment of MDD tools in practical settings. tool is unlikely to exist. However, the principles under- In this paper, we distill some of the important lessons pinning the development of MDD tools that are widely we have learned in developing and deploying two MDD used in practice can help in assessing existing tools, and tools: Epsilon and VIATRA.
    [Show full text]
  • Research Report
    RZ 3621 (# 99631) 07/18/2005 Computer Science 10 pages Research Report A Systematic Approach to Designing Model Transformations Jochen M. Kuster,¨ Ksenia Ryndina and Rainer Hauser IBM Research GmbH Zurich Research Laboratory 8803 Ruschlikon¨ Switzerland {jku,ryn,rfh}@zurich.ibm.com LIMITED DISTRIBUTION NOTICE This report will be distributed outside of IBM up to one year after the IBM publication date. Some reports are available at http://domino.watson.ibm.com/library/Cyberdig.nsf/home. Research IBM Almaden · Austin · Beijing · Delhi · Haifa · T.J. Watson · Tokyo · Zurich A Systematic Approach to Designing Model Transformations Jochen M. Kuster¨ , Ksenia Ryndina and Rainer Hauser IBM Zurich Research Laboratory 8803 R¨uschlikon Switzerland jku,ryn,rfh ¡ @zurich.ibm.com Abstract forming them into a formal language [9]. Currently, a great deal of research is focused on the expression of model transformation Design and implementation of model transformations is one designs and appropriate tool support for model transformation de- key prerequisite for the vision of model driven development to be- velopers. This has led to the Query/Views/Transformation (QVT) come true. However, model transformations are quite different proposal by the Object Management Group (OMG) [21], which from other software artifacts since a model transformation design aims to provide a standardized framework for model transforma- typically consists of a set of transformation rules instead of object- tion development. oriented models such as class diagrams and statecharts. There- fore traditional software engineering approaches are not directly Many existing model transformation approaches favor that applicable for the development of model transformations. Never- transformations are captured in a rule-based way by a set of trans- theless, in the line of existing software engineering practice, model formation rules (see VIATRA [5], GReAT [13], UMLX [26], transformations must be developed in a systematic way in order to BOTL [4] and work by Milicev [17]).
    [Show full text]
  • Transformations of Software Process Models to Adopt Model-Driven Architecture
    Transformations of Software Process Models to Adopt Model-Driven Architecture Vladimirs Nikulsins Riga Technical University, Meza 1/3, LV-1048 Riga, Latvia Abstract. This paper proposes a solution on how to adopt software develop- ment process and make it compliant with the Model Driven Architecture by OMG. Process modeling languages helps to formalize the knowledge about the software development life cycle expressed in tasks, activities, phases, workflows and roles. SPEM (Software Process Engineering Meta-Model) is OMG standard used to describe a software development process within an or- ganization. The proposed solution is to transform any so called “traditional” software development life cycle model into the model-driven with the help of model transformations written in Query/View/Transformation (QVT) language. This approach has been partially approbated in one of the Latvian IT compa- nies. 1 Introduction MDA (Model Driven Architecture) is OMG (Object Management Group) paradigm that focuses on the software development process using modeling and model trans- formations. Within MDA the software development process is driven by modeling the software system rather than producing the code: models are transformed into the working code through the various automated and semi-automated transformations. No specific software development methodology is proposed by OMG and so MDA can fit into any software development process. This allows a certain flexibility, and at the same time, a lack of formalized knowledge on adapting the model-driven devel- opment to the software development methodologies used in practice. Process model- ing activity helps to describe the appropriate software development activities and their relations in the software development life cycle (SDLC).
    [Show full text]
  • Expressive and Efficient Model Transformation with an Internal DSL
    Expressive and Efficient Model Transformation with an Internal DSL of Xtend Artur Boronat Department of Informatics, University of Leicester, UK [email protected] ABSTRACT 1 INTRODUCTION Model transformation (MT) of very large models (VLMs), with mil- Over the past decade the application of MDE technology in indus- lions of elements, is a challenging cornerstone for applying Model- try has led to the emergence of very large models (VLMs), with Driven Engineering (MDE) technology in industry. Recent research millions of elements, that may need to be updated using model efforts that tackle this problem have been directed at distributing transformation (MT). This situation is characterized by important MT on the Cloud, either directly, by managing clusters explicitly, or challenges [26], starting from model persistence using XMI serial- indirectly, via external NoSQL data stores. In this paper, we draw at- ization with the Eclipse Modeling Framework (EMF) [31] to scalable tention back to improving efficiency of model transformations that approaches to apply model updates. use EMF natively and that run on non-distributed environments, An important research effort to tackle these challenges was showing that substantial performance gains can still be reaped on performed in the European project MONDO [19] by scaling out that ground. efficient model query and MT engines, such as VIATRA[3] and We present Yet Another Model Transformation Language (YAMTL), ATL/EMFTVM [46], building on Cloud technology either directly, a new internal domain-specific language (DSL) of Xtend for defin- by using distributed clusters of servers explicitly, or indirectly, by ing declarative MT, and its execution engine.
    [Show full text]
  • Formal Validation and Model Generationfor Domain-Specific
    Budapest University of Technology and Economics Faculty of Electrical Engineering and Informatics Department of Measurement and Information Systems Formal Validation and Model Generation for Domain-Specific Languages by Logic Solvers Thesis booklet Oszkár Semeráth Thesis supervisor: Prof. Dániel Varró Budapest, 2019 1. Introduction 1 Introduction 1.1 Domain-specific modeling languages My thesis is motivated by the challenges in the development of complex, safety- critical systems such as automotive, avionics or cyber-physical systems, which is characterized by a long development time and strict safety standards (like DO-178C or DO-330). Model-Based System Engineering (MBSE) is a widely used technique in those application domains [WHR14], which facilitates the use of models in different phases of design and on various levels of abstraction. Fur- thermore, MBSE promotes the use of Domain-Specific (Modeling) Languages (DSLs) to precisely capture the main features of a target domain, thus en- abling the engineers to model their solutions with the concepts of the problem domain. Additionally, advanced modeling environments can automate several development steps, with a particular emphasis on verification and validation (V&V). Thus they can significantly improve the overall productivity of the de- velopment and quality of the product. A complex industrial modeling environment supports the development of models by continuously evaluating consistency constraints to ensure that the models satisfy the design rules of the domain. There is already efficient sup- port for automatically validating constraints and design rules over large model instances of the DSL using tools like Eclipse OCL [Wil12; KPP09] or Viatra [Ber+11; Ber+10]. Modeling environments often incorporate the automated generation of various artifacts such as source code, task specific views, or doc- umentation by using code generation or model transformation techniques.
    [Show full text]
  • Efficient ATL Incremental Transformations
    Journal of Object Technology Published by AITO | Association Internationale pour les Technologies Objets http://www.jot.fm/ Efficient ATL Incremental Transformations Th´eoLe Calvara Fr´ed´ericJouaultb Fabien Chhelb Mickael Clavreulb a. LERIA, University of Angers, France b. ERIS Team, Groupe ESEO, France Abstract Incrementally executing model transformations offers several benefits such as updating target models in-place (instead of creating a new copy), as well as generally propagating changes faster (compared with complete re-execution). Active operations have been shown to of- fer performant OCL-based model transformation incrementality with use- ful properties like fine-grained change propagation, and the preservation of collection ordering. However, active operations have so far only been available as a Java library. This compels users to program at a relatively low level of abstraction, where most technical details are still present. Writing transformations at this level of abstraction is a tedious and error prone work. Using languages like Xtend alleviates some but not all issues. In order to provide active operation users with a more user-friendly front-end, we have worked on compiling ATL code to Java code using the active operations library. Our compiler can handle a significant subset of ATL, and we show that the code it generates provides similar performance to hand-written Java or Xtend code. Furthermore, this compiler also enables new possibilities like defining derived properties by leveraging the ATL refining mode. Keywords Incremental model transformation Active operations ATL. 1 Introduction Incremental model transformation execution offers many advantages over batch (i.e., non-incremental) execution, such as faster change propagation.
    [Show full text]
  • The Train Benchmark: Cross-Technology Performance Evaluation of Continuous Model Queries
    Softw Syst Model DOI 10.1007/s10270-016-0571-8 REGULAR PAPER The Train Benchmark: cross-technology performance evaluation of continuous model queries Gábor Szárnyas1,2,3 · Benedek Izsó1 · István Ráth1,4 · Dániel Varró1,2,3 Received: 30 October 2015 / Revised: 27 March 2016 / Accepted: 3 October 2016 © The Author(s) 2017. This article is published with open access at Springerlink.com Abstract In model-driven development of safety-critical tion rules is challenging for the currently available tools. systems (like automotive, avionics or railways), well- Checking well-formedness constraints can be captured by formedness of models is repeatedly validated in order to declarative queries over graph models, while model update detect design flaws as early as possible. In many indus- operations can be specified as model transformations. This trial tools, validation rules are still often implemented by paper presents a benchmark for systematically assessing the a large amount of imperative model traversal code which scalability of validating and revalidating well-formedness makes those rule implementations complicated and hard constraints over large graph models. The benchmark defines to maintain. Additionally, as models are rapidly increas- well-formedness validation scenarios in the railway domain: ing in size and complexity, efficient execution of valida- a metamodel, an instance model generator and a set of well- formedness constraints captured by queries, fault injection Communicated by Prof. Lionel Briand. and repair operations (imitating the work of systems engi- neers by model transformations). The benchmark focuses This work was partially supported by the MONDO (EU ICT-611125) project, the MTA-BME Lendület Research Group on Cyber-Physical on the performance of query evaluation, i.e.
    [Show full text]
  • Graphical Debugging of QVT Relations Using Transformation Nets
    Graphical Debugging of QVT Relations using Transformation Nets DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Wirtschaftsinformatik eingereicht von Patrick Zwickl Matrikelnummer 0525849 an der Fakultat¨ fur¨ Informatik der Technischen Universitat¨ Wien Betreuung: Betreuerin: Univ.-Prof. Mag. DI Dr. Gerti Kappel Mitwirkung: DI(FH) Johannes Schonb¨ ock¨ Wien, 07.12.2009 (Unterschrift Verfasser) (Unterschrift Betreuer) Technische Universitat¨ Wien A-1040 Wien Karlsplatz 13 Tel. +43/(0)1/58801-0 http://www.tuwien.ac.at Erkl¨arung zur Verfassung der Arbeit Patrick Zwickl, Gr¨ohrmuhlgasse¨ 36E, 2700 Wiener Neustadt Hiermit erkl¨are ich, dass ich diese Arbeit selbst¨andig verfasst habe, dass ich die verwendeten Quellen und Hilfsmittel vollst¨andig 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. Wien, 7. Dezember 2009 Patrick Zwickl i ii Danksagung Im Zuge meines Studium wurde ich von vielen Menschen, als Kommilitonen, Lehrende, Betreuuer, Freunde, Familie etc., begleitet. Dabei war es mir m¨oglich Unterstutzungen¨ auf verschiedensten Ebenen zu erhalten oder in einer guten Zusammenarbeit respektable Ergebnisse zu erzielen. Aufgrund der gr¨oßeren Zahl an Begleitern, m¨ochte ich mich in der Danksagung im Besonderen auf jene Un- terstutzer¨ beschr¨anken, die in einem uberdurchschnittlichen¨ Zusammenhang mit dieser Diplomarbeit stehen. Ich m¨ochte mich sehr herzlich fur¨ die engagierte Hilfe, Leitung und Supervision bei meinen Betreuuern O.Univ.-Prof. Mag. DI Dr. Gerti Kappel und Univ.- Ass. Mag. Dr.
    [Show full text]
  • AMW: a Tool for Multi-Level Specification of Model Transformations
    AMW: a tool for multi-level specification of model transformations a, b b Marcos Didonet Del Fabro ∗, Fr´ed´ericJouault , Jordi Cabot , Patrick Valduriezc aUniv. Federal do Paran´a,Depto. de Inform´atica, Centro Polit´ecnico, Curitiba, PR, Brazil bAtlanMod INRIA Team, EMN, Nantes, France cINRIA - LIRMM, Montpellier, France Abstract Model transformations play a key role in any Model Driven Engineering (MDE) approach. The central task when developing model transformations consists in writing rules that implement a set of mappings between two meta- models. Specification of model transformations is far from being a simple task. For complex transformations, attempting to directly write the transformation is an error-prone and time-consuming process. To simplify the development of model transformations, we present a multi-level approach inspired on typical software development processes where wefirst create higher level and abstract mappings’ specifications and then we refine them into more precise transfor- mation code. To support this multi-level transformation approach we have developed the AMW (AtlanMod Model Weaver) tool. AMW facilitates the specification of transformations in a three-level setting, from high-level map- ping specifications to the generation of thefinal transformation code. A set of extension points allow the configuration and adaptation of each refinement level to the specific requirements of each application scenario, if desired. We present the tool capabilities using two different settings: manual and semi-automatic transformation generation. Keywords: model transformations, model weaving, transformation specification, AMW 1. Introduction Model Driven Engineering (MDE) is a software engineering paradigm that emphasizes the use of models in all software engineering activities.
    [Show full text]
  • Implementing Qvt in a Domain-Specific Modeling Framework
    IMPLEMENTING QVT IN A DOMAIN-SPECIFIC MODELING FRAMEWORK István Madari, Márk Asztalos, Tamás Mészáros, László Lengyel and Hassan Charaf Department of Automation and Applied Informatics, Budapest University of Technology and Economics Magyar Tudósok körútja 2, Budapest, Hungary Keywords: Bidirectional Model Transformations, Model-transformation Driven Synchronization, QVT. Abstract: Meta Object Facility 2.0 Query/Views/Transformation (QVT) is OMG’s standard for specifying model transformations, views and queries. In this paper we deal with the QVT Relations language, which is a declarative specification of model transformation between two models. The QVT Relations language specifies several great features in practice, such as implicit trace creation support, or bidirectional transformations. However, QVT lacks implementation because its specification is not final and far too complex. The main contribution of this paper is to show how we integrated QVT constructs in our domain- specific modeling environment to facilitate a later implementation of QVT Relations-driven bidirectional model transformation. 1 INTRODUCTION A special case of n-directional transformations is bidirectional transformation, where the Model transformation is an essential area of model- transformation can be executed in two ways. In based development, applied for code generation, particular, the transformation language can define analysis, verification and simulation tasks. Model both the forward and backward direction in the transformation can be implemented in different transformation rules. ways. In order to define a transformation, for instance, visual languages or textual languages can both be used. Languages can be declarative or imperative as well. In addition, the model transformation can be unidirectional or n-directional. (Czarneczki, 2003) provides further details on classifying model transformations.
    [Show full text]
  • A Model Driven Approach for Service Based System Design Using Interaction Templates
    Toni Reichelt A Model Driven Approach for Service Based System Design Using Interaction Templates Wissenschaftliche Schriftenreihe EINGEBETTETE, SELBSTORGANISIERENDE SYSTEME Band 10 Prof. Dr. Wolfram Hardt (Hrsg.) Toni Reichelt A Model Driven Approach for Service Based System Design Using Interaction Templates Chemnitz University Press 2012 Impressum Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Angaben sind im Internet über http://dnb.d-nb.de abrufbar. Zugl.: Chemnitz, Techn. Univ., Diss., 2012 Technische Universität Chemnitz/Universitätsbibliothek Universitätsverlag Chemnitz 09107 Chemnitz http://www.bibliothek.tu-chemnitz.de/UniVerlag/ Herstellung und Auslieferung Verlagshaus Monsenstein und Vannerdat OHG Am Hawerkamp 31 48155 Münster http://www.mv-verlag.de ISBN 978-3-941003-60-6 URL: http://nbn-resolving.de/urn:nbn:de:bsz:ch1-qucosa-85986 Preface to the scientific series “Eingebettete, selbstorganisierende Systeme” The tenth volume of the scientific series Eingebettete, selbstorganisierende Systeme (Em- bedded, self-organised systems) devotes itself to the model driven design of service-oriented systems. Fields of application for such systems, amongst others, range from large scale, distributed enterprise solutions down to modularised embedded systems. The presented work was moti- vated by the complex design process of avionics for unmanned systems, where the increased demand for enhanced system autonomy implies high levels of system collaboration and infor- mation exchange. For such system designs a clear separation between the application logic implemented by system components, the means of interaction between them and finally the realisation of such communication on target platforms is essential. In particular, this sep- aration leads to simplification of the complex design processes and increases the individual components’ re-use potential.
    [Show full text]