Elsevier

Journal of Systems and Software

Volume 122, December 2016, Pages 327-341
Journal of Systems and Software

Model-based M2M transformations based on drag-and-drop actions: Approach and implementation

https://doi.org/10.1016/j.jss.2016.09.046Get rights and content

Highlights

  • Approach of model-driven development of partial M2M transformations is presented.

  • Partial M2M transformations work with fragments of source and target models.

  • Transformations are triggered by drag-and-drop actions performed by a user.

  • Approach works with any UML metamodel-based graphical modeling language.

  • Approach is implemented as a plug-in of CASE tool MagicDraw.

Abstract

In the context of model-driven development, model-to-model (M2M) transformations are often positioned as one of the key selling features of this ever-growing paradigm. Indeed, M2M transformations can speed up the development process by automating certain modeling tasks, enable reusability of existing models within a single or even multiple projects, and bring other actual benefits to a systems developer. Nevertheless, CASE tool-supported M2M transformations are quite often represented as hard-coded “black-box” solutions lacking flexibility and customization features. This paper presents main conceptual and implementation aspects of a practical approach for both the development and application of model-based, customizable M2M transformations. The transformation is triggered by so called drag-and-drop action, which is enacted after a certain element is dragged from a model browser and dropped into a diagram or onto some other element representation in the diagram. Another distinctive feature of the presented approach is the introduction of “partial M2M transformation”. The term assumes a transformation of a user-defined fragment of the source model into a fragment of the target model, instead of taking whole models as in case of full M2M transformation. The presented solution improves overall usability of such M2M transformations in an actual CASE tool environment.

Introduction

After the introduction of Model Driven Architecture (MDA) in 2003 (OMG, 2003), model-to-model (M2M) transformations (Biehl, 2010) have become an essential part of the modern model-driven development paradigm. Additional boost was given by the introduction of UML 2.0 featuring powerful model extension mechanism. Indeed, after the adoption of UML 2.0, M2M transformations became a common means for the generation of platform-specific models (PSM) from platform-independent models (PIM) (OMG, 2003), which in its turn made M2M transformations a highly desired feature in any advanced MDA CASE tool.

Our personal modeling experience, empirical observations and constant feedback from our professional IT partners also show that a certain subtype of M2M transformations, i.e. user-interacted partial M2M transformations, are in particular demand, especially when it comes to agile, highly iterative model-driven development. By the term partial M2M transformation we assume a transformation of a user-defined fragment of the model (i.e. a set of selected source model elements) into a fragment of another model (i.e. a set of target model elements), instead of the whole model as in full M2M transformation. Such demand may be argued by the fact that a CASE tool user prefers to have certain degree of “freedom of choice” when it comes to selecting a process of work, possibilities to create few models at a time while reusing each other's concepts, modify these models on demand, or even develop and execute your own M2M transformations dedicated for specific uses. These are just few common situations where the advantage of partial model-based M2M transformations over traditional full M2M transformations is the most obvious.

Also, traditional M2M transformation approaches are not effective when it comes to the development of semantically rich business and platform-independent models – these transformations simply cannot provide sufficient levels of flexibility, customization, and user interaction. In many cases, this could be explained by the fact that M2M transformations in CASE tools are implemented either as hard-coded solutions or using dedicated transformation languages (e.g., ATL (Eclipse Foundation, 2016a), QVT (OMG, 2011)), thus the possibility for a CASE tool user to somehow inspect or modify the predefined transformations, or even develop the new ones, is highly limited. Overall quantity of such M2M transformations in a CASE tool is also limited and may not satisfy the needs of a tool user.

Another common feature of traditional full M2M transformations is working with source and target models in XMI format. Such approach makes real time user-interacted transformations (e.g., based on drag-and-drop (D&D) actions or popup menu-based selection of model concepts) practically unusable, especially if a transformation is executed by an external transformation engine. This is due to the fact that an “XMI-to-XMI” transformation requires reloading a project from the generated XMI file each time the transformation is performed in a CASE tool, unless the tool supports in-memory transformations.

In this article, a practical model-driven approach of partial M2M transformations is presented.1 This approach provides one the ability to use, customize and develop new M2M transformations within a single CASE tool platform overcoming most of the above mentioned issues inherent to traditional full M2M transformations. In the proposed approach, transformations are invoked by so called drag-and-drop (D&D) actions and then executed by the internal transformation engine without reloading any working models. D&D action is triggered after a certain element is dragged from a model browser and dropped into a diagram or onto some other element representation in the diagram.

The main work was carried out within the IDAPI project.2 The paper presents an extended and updated version of the research presented in Skersys et al. (2015a) and Skersys et al. (2014). Compared to previous publishing, this paper presents a stable M2M transformations metamodel and extensive specification of the engineering solution itself; in addition to that, certain experimental findings on model-driven development and usability of partial M2M transformations are also reported in this paper.

Further, the paper is structured as follows: in Section 2, conceptual aspects of the approach is presented and discussed in more details; Section 3 describes the implementation architecture of the approach, while illustrative example of M2M transformation specification, which is also referenced from other parts of the paper, is presented in Section 4; the results of the experiment are drawn in Section 5; Section 6 explores basic threats to validity of the experiment results; in Section 7, overview of related work is presented; conclusions and future work insights conclude the paper.

Section snippets

Introductory illustrative example

Before we go into conceptual and technical details of the approach itself, let us start with two simple examples illustrating the usability of the approach in actual modeling activities, as well as its capabilities of developing new and configuring the existing M2M transformations in a model-driven way.

For the first example, let us assume a business analyst has a BPMN business process model (BPM) designed for some business domain. Now, it is up to a system analyst to develop a user functional

Implementation of M2M transformations metamodel in a CASE tool

The developed metamodel of model-based M2M transformations (Fig. 5) was implemented in a CASE tool MagicDraw. In this respect, the main contribution to the approach was the development of M2M Transformations profile.

The overall architecture of UML profiles supporting the solution is presented in Fig. 6 (here, the M2M Transformations profile is painted dark; native MagicDraw profiles are left unpainted). Here, a subset of properties of the M2MT Specification metaclass (Fig. 5) is realized by the

Illustrative example of M2M transformation specification

Further, let us shortly discuss an illustrative model of M2M transformation specification (Fig. 8) describing two D&D action-based transformations from the running example presented in Section 2.1.

The model is composed of one customization class (tag 1), two D&D action specifications (tags 2 and 3), and transformation pattern (tag 4). Customization class lists two D&D action specifications (tags 2 and 3). The listed D&D action specification is to be executed by the DSL engine upon dragging

Experiment and evaluation

In order to verify the level of acceptance of the approach by both designers of partial M2M transformations and actual users of these transformations (i.e. modelers) and identify its potential in real-world applications, we conducted an experiment with a team of researchers working on R&D project VEPSEM (see the reference to this project in previous section). One of the deliverables of VEPSEM project was the development of automatic QVT-based full M2M transformations for the modeling standards

Threats to validity

Although the experiment provided optimistic results, there are several threats to validity of those results that should be taken into consideration. In the assessment of the results of our experiment, we considered the following categories of threats to validity (Runeson et al., 2012): (a) threats to construct validity, (b) threats to internal validity, and (c) threats to external validity. Each group of these threats is discussed with regard to our experiment in the next sub-sections.

Related work

While M2M transformations and various contributions to this domain continuously remain a popular subject of discussion in numerous resources, research on model-driven development and application of visual model-based M2M transformations is still not very extensive. The Related Work section presents an overview of the analysis results covering this particular subset of M2M transformations, which are the most relevant to our research.

Visual model-based transformation languages rely on different

Conclusions and future work

Model-based M2M transformations are an important topic to be explored in the domain of model-driven system development. Nevertheless, the approaches of model-driven development of model-based M2M transformations have not yet been discussed extensively in academic community.

In this paper, we present an alternative approach and implementation of user-interacted partial M2M transformations based on drag-and-drop actions. One of the key features of the approach is the model-driven development and

Tomas Skersys is a scientific researcher at the Center of Information Systems Design Technologies and an Associate Professor at the Department of Information Systems (Kaunas University of Technology). His research interests and practical experience cover various aspects of business process management and model-driven development of information systems. On these topics, he published several articles in high rated academic journals and in a number of international conferences. He is also a

References (33)

  • T. Mens et al.

    A taxonomy of model transformation

    Electron Notes Theor. Comput. Sci.

    (2006)
  • A. Agrawal et al.

    The design of a language for model transformations

    Softw. Syst. Model.

    (2006)
  • A. Anjorin et al.

    eMoflon : leveraging EMF and professional CASE tools

    (2011)
  • T. Arendt et al.

    Henshin: advanced concepts and tools for in-place EMF model transformations

    (2010)
  • Biehl M. Literature Study on Model Transformations. Technical Report ISRN/KTH/MMK, Royal Institute of Technology...
  • E. Biermann et al.

    Graphical definition of in-place transformations in the eclipse modeling framework

    (2006)
  • K. Czarnecki et al.

    Classification of model transformation approaches

  • Greenyer J., Kindler E., Comparing relational model transformation technologies: implementing query / view /...
  • S. Hildebrandt et al.

    A survey of triple graph grammar tools

    Electron. Commun. EASST

    (2013)
  • A. Kalnins et al.

    The model transformation language MOLA

    (2005)
  • L. Klassen et al.

    EMorF - a tool for model transformations

    Electron. Commun. EASST

    (2012)
  • A Königs

    Model Integration and Transformation - A Triple Graph Grammar-based QVT Implementation

    (2008)
  • E. Leblebici et al.

    A comparison of incremental triple graph grammar tools

    Electron. Commun. EASST

    (2014)
  • No Magic, Inc. MagicDraw – architecture made simple. www.nomagic.com...
  • No Magic, Inc.: UML profiling and DSL. User Guide, v 18.1...
  • Object Management Group (OMG). Meta object facility (MOF) 2.0 Query/View/Transformation, v1.1, OMG....
  • Cited by (9)

    • Model driven transformation development (MDTD): An approach for developing model to model transformation

      2019, Information and Software Technology
      Citation Excerpt :

      However, it may also lead to incomplete transformations since its completeness will be associated to the examples of models used during development. Like our proposal, a model driven approach is presented by [48] to support the development of partial model-to-model transformation. It comprises a CASE tool to assist the use, customization and development of new model transformations.

    • Extracting SBVR business vocabularies and business rules from UML use case diagrams

      2018, Journal of Systems and Software
      Citation Excerpt :

      The two basic techniques are hard-coding with some general purpose programming language, or programming of transformation rules using a dedicated model transformation language (MTL) executable by model transformation engines. In a broader context, there are other interesting techniques relevant to the subject of model transformations, e.g. model-driven development approaches to model transformations themselves (Skersys et al., 2016), however, these are not used in-, nor do they have any direct influence to our approach and therefore will not be discussed further in this paper. Now, let us get back to the two basic implementation techniques that are of particular interest to us.

    • An Investigation of Currently Used Aspects in Model Transformation Development

      2021, Lecture Notes in Business Information Processing
    View all citing articles on Scopus

    Tomas Skersys is a scientific researcher at the Center of Information Systems Design Technologies and an Associate Professor at the Department of Information Systems (Kaunas University of Technology). His research interests and practical experience cover various aspects of business process management and model-driven development of information systems. On these topics, he published several articles in high rated academic journals and in a number of international conferences. He is also a co-editor of three books of international conferences published by Springer Verlag.

    Paulius Danenas is a junior scientific researcher at the Center of Information Systems Design Technologies, Kaunas University of Technology in Lithuania. He obtained a PhD degree in Informatics from Vilnius University in 2013. His research interests cover various topics in software engineering and model-driven development, as well as artificial intelligence, machine learning, business intelligence and decision support systems (particularly for business and financial domains). He has published several papers in high rated academic journals and in a number of international conferences.

    Rimantas Butleris is a Director of the Center of Information Systems Design Technologies and a full-time Professor at the Department of Information Systems (Kaunas University of Technology). His main area of research is requirements engineering. In his career, he was a co-author of more than seventy research papers and also participated in more than fifteen national and international research projects; in many of those he was a leading researcher. Up to the year 2013, Rimantas Butleris was a long-time program chair and co-chair of the International Conference on Information and Software Technologies (ICIST).

    View full text