Feature-Based Survey of Model Transformation Approaches

Total Page:16

File Type:pdf, Size:1020Kb

Feature-Based Survey of Model Transformation Approaches Feature-based survey of model transformation approaches & Model transformations are touted to play a key role in Model Driven Developmente. Although well-established standards for creating metamodels such as the Meta-Object Facility exist, there is currently no mature foundation for specifying transformations K. Czarnecki among models. We propose a framework for the classification of several existing and S. Helsen proposed model transformation approaches. The classification framework is given as a feature model that makes explicit the different design choices for model transforma- tions. Based on our analysis of model transformation approaches, we propose a few major categories in which most approaches fit. 9,10 INTRODUCTION Creating query-based views of a system Model-driven software development is centered on Model evolution tasks such as model refactor- 1 11,12 the use of models. Models are system abstractions ing that allow developers and other stakeholders to Reverse engineering of higher-level models from 13 effectively address concerns, such as answering a lower-level models or code. question about the system or effecting a change. Examples of model-driven approaches are Model Considerable interest in model transformations has 2,3 Driven Architecture** (MDA**), Model-Inte- been generated by the standardization effort of the 4 5 Object Management Group, Inc. (OMG**). In April grated Computing (MIC), and Software Factories. 2002, the OMG issued a Request for Proposal (RFP) Software Factories, with their focus on automating 14 on Query/Views/Transformations (QVT), which product development in a product-line context, can led to the release of the final adopted QVT also be viewed as an instance of generative software 15 6 specification in November 2005. Driven by prac- development. tical needs and the OMG’s request, a large number Model transformations are touted to play a key role of approaches to model transformation have been in Model Driven Development** (MDD**). Their proposed over the last three years. However, as of intended applications include the following: ÓCopyright 2006 by International Business Machines Corporation. Copying in Generating lower-level models, and eventually printed form for private use is permitted without payment of royalty provided 7 that (1) each reproduction is done without alteration and (2) the Journal code, from higher-level models reference and IBM copyright notice are included on the first page. The title and abstract, but no other portions, of this paper may be copied or distributed Mapping and synchronizing among models at the royalty free without further permission by computer-based and other 8 information-service systems. Permission to republish any other portion of the same level or different levels of abstraction paper must be obtained from the Editor. 0018-8670/06/$5.00 Ó 2006 IBM IBM SYSTEMS JOURNAL, VOL 45, NO 3, 2006 CZARNECKI AND HELSEN 621 this writing, industrial-strength and mature model- WHAT IS MODEL TRANSFORMATION? to-model transformation systems are still not avail- Transformation is a fundamental theme in computer able, and the area of model transformation contin- science and software engineering. After all, compu- ues to be a subject of intense research. In this paper, tation can be viewed as data transformation. we propose a feature model to compare different Computing with basic data such as numeric values model transformation approaches and offer a survey and with data structures such as lists and trees is at and categorization of a number of existing ap- the heart of programming. Type systems in pro- proaches from four sources: gramming languages help ensure that operations are applied compatibly to the data. However, when the 1. Published in the literature—VIATRA (VIsual subject of a transformation approach is metadata, Automated model TRAnsformations) frame- i.e., data representing software artifacts such as data 16,17 work, Kent Model Transformation lan- schemas, programs, interfaces, and models, then we 18,19 20,21 guage, Tefkat, GReAT (Graph Rewriting enter the realm of metaprogramming—writing pro- 22 and Transformation language ), ATL (Atlas grams called metaprograms that write or manipulate 23,24 25 Transformation Language ), UMLX, AToM3 other programs. One of the key challenges in this (A Tool for Multi-formalism and Meta-Model- realm is that metaprograms have to respect the rich 26 ing ), BOTL (Bidirectional Object-oriented semantics of the metadata upon which they operate. 27,28 Transformation Language ), MOLA (MOdel Similarly, model transformation is a form of 29 transformation LAnguage ), AGG (Attributed metaprogramming and, thus, must face the same 30 Graph Grammar system ), AMW (Atlas Model- challenge. 31 32 Weaver ), triple-graph grammars, MTL (Model 33 Model transformation is closely related to program Transformation Language ), YATL (Yet Another 51 34 35 transformation. In fact, their boundaries are not Transformation Language ), Kermeta, C-SAW 36 clear-cut, and both approaches overlap. Their (Constraint-Specification Aspect Weaver), and 37 differences occur in the mindsets and traditions of MT Model Transformation Language. their respective transformation communities, the 2. Described in the final adopted QVT specifica- subjects being transformed, and the sets of require- tion—The Core, Relations, and Operational lan- 15 ments being considered. Program transformation is guages. Older QVT submissions are also a more mature field with a strong programming mentioned whenever appropriate. language tradition. On the other hand, model 3. Implemented within open-source tools—Andro- 38 39 transformation is a relatively new field, essentially MDA, openArchitectureWare, Fujaba (From 40 rooted in software engineering. Consequently, the UML** to Java** And Back Again ), Jamda 41 transformation approaches found in both fields have (JAva Model Driven Architecture ), JET (Java 42 43 quite different characteristics. While program Emitter Templates ), FUUT-je, and MTF 44 transformation systems are typically based on (Model Transformation Framework ), which is a mathematically oriented concepts such as term freely available prototype. rewriting, attribute grammars, and functional pro- 4. Implemented within commercial tools—XMF-Mo- 45 46 47,48 gramming, model transformation systems usually saic, OptimalJ**, MetaEditþ**, ArcSty- 49 50 adopt an object-oriented approach for representing ler, and Codagen Architect. and manipulating their subject models. The feature model makes explicit the possible design Because model transformations operate on models, choices for a model transformation approach, which we need to clarify what models are. A model is an is the main contribution of this paper. We do not abstraction of a system or its environment, or both. give detailed classification data for each individual In software engineering, the term model is often approach mainly because these details are con- used to refer to abstractions above program code, stantly changing. Instead, we give examples of such as requirements and design specifications. approaches for each design choice. Furthermore, we Some authors in model-driven software develop- propose a clustering of existing approaches into a ment consider program code as models too. This few major categories that capture their main view is consistent with the fact that program code is characteristics and design choices. We conclude an abstraction of the underlying machine code with remarks on the practical applicability of the produced by the compiler. Although being visual is different categories. not a defining characteristic of models, requirements 622 CZARNECKI AND HELSEN IBM SYSTEMS JOURNAL, VOL 45, NO 3, 2006 Refers to Refers to Source Metamodel Transformation Definition Target Metamodel Conforms to Executes Conforms to Reads Writes Source Model Transformation Target Model Engine Figure 1 Basic concepts of model transformation and design models are often more visual than latter has been targeted for a particular set of programs. Models are frequently expressed in requirements that include the representation of focused languages specialized for a particular class models using an object-oriented paradigm, the of software applications or a particular aspect of an traceability among models at different levels of application. For example, the Matlab** Simulink**/ abstraction, the transformation mapping among Stateflow** environment offers notations special- multiple models (i.e., n-way transformations), and ized for modeling control software, whereas inter- the multidirectionality of transformations. Although action diagrams in Unified Modeling Language** these requirements could also be the subject of (UML**) are focused on representing the interaction program transformation approaches, they are typi- aspect of a wide range of systems. Highly special- cally not considered by program transformation ized modeling languages are increasingly referred to systems. as domain-specific modeling languages. EXAMPLES OF MODEL TRANSFORMATIONS In general, model transformations involve models To make our discussion more concrete, we present (in the sense of abstractions above program code) or two examples of model transformations: one that models and programs. Because the concept of maps models to models and another that maps models is more general than the concept of program models to code. code, model transformations tend to operate on a more diverse set of artifacts than program trans- Figure 1 gives an overview of the main concepts
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]
  • 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.
    [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]
  • Model and Tool Integration in High Level Design of Embedded Systems
    Model and Tool Integration in High Level Design of Embedded Systems JIANLIN SHI Licentiate thesis TRITA – MMK 2007:10 Department of Machine Design ISSN 1400-1179 Royal Institute of Technology ISRN/KTH/MMK/R-07/10-SE SE-100 44 Stockholm TRITA – MMK 2007:10 ISSN 1400-1179 ISRN/KTH/MMK/R-07/10-SE Model and Tool Integration in High Level Design of Embedded Systems Jianlin Shi Licentiate thesis Academic thesis, which with the approval of Kungliga Tekniska Högskolan, will be presented for public review in fulfilment of the requirements for a Licentiate of Engineering in Machine Design. The public review is held at Kungliga Tekniska Högskolan, Brinellvägen 83, A425 at 2007-12-20. Mechatronics Lab TRITA - MMK 2007:10 Department of Machine Design ISSN 1400 -1179 Royal Institute of Technology ISRN/KTH/MMK/R-07/10-SE S-100 44 Stockholm Document type Date SWEDEN Licentiate Thesis 2007-12-20 Author(s) Supervisor(s) Jianlin Shi Martin Törngren, Dejiu Chen ([email protected]) Sponsor(s) Title SSF (through the SAVE and SAVE++ projects), VINNOVA (through the Model and Tool Integration in High Level Design of Modcomp project), and the European Embedded Systems Commission (through the ATESST project) Abstract The development of advanced embedded systems requires a systematic approach as well as advanced tool support in dealing with their increasing complexity. This complexity is due to the increasing functionality that is implemented in embedded systems and stringent (and conflicting) requirements placed upon such systems from various stakeholders. The corresponding system development involves several specialists employing different modeling languages and tools.
    [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]
  • 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]
  • 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]
  • Metamodeling and Model Transformations in Modeling and Simulation
    Proceedings of the 2011 Winter Simulation Conference S. Jain, R. R. Creasey, J. Himmelspach, K. P. White, and M. Fu, eds. METAMODELING AND MODEL TRANSFORMATIONS IN MODELING AND SIMULATION Deniz Cetinkaya Alexander Verbraeck Systems Engineering Group, Faculty of Technology, Policy and Management Delft University of Technology Jaffalaan 5, 2628BX, Delft, THE NETHERLANDS ABSTRACT Metamodeling and model transformations are the key concepts in Model Driven Development (MDD) approaches as they provide a mechanism for automated development of well structured and maintainable systems. However, neither defining a metamodel nor developing a model transformation is an easy task. In this paper, we provide an overview of metamodeling and model transformations in MDD and discuss about the use of a MDD approach in Modeling and Simulation (M&S). In order to support the development of successful model transformations, we define the criteria for the evaluation of model transformations. 1 INTRODUCTION In Model Driven Development (MDD), models are the primary artifacts of the development process and they represent the system on different levels of abstraction. A model is an abstract representation of a system defined in a modeling language, where a modeling language is a means of expressing systems in a formal and precise way by using diagrams, rules, symbols, signs, letters, numerals, etc.. Metamodeling is widely accepted as a superior way to describe models in MDD context. A metamodel is a definition of a modeling language, which should be defined in a modeling language as well (Sprinkle et al. 2007). A sound metamodel describes models in a well-defined manner. Model transformations are used to create new models based on the existing information throughout the MDD process (Sendall and Kozaczynski 2003).
    [Show full text]