Specifying model transformations by direct manipulation using concrete visual notations and interactive recommendations

https://doi.org/10.1016/j.jvlc.2015.02.005Get rights and content

Author-Highlights

  • We provide direct manipulation of visual notations for model transformation tasks.

  • A recommender system is used to suggest source and target model correspondences.

  • We provide a tool, CONVErT, to realize the approach.

  • User study shows acceptance of concrete visual approach for model transformation.

Abstract

Model transformations are a crucial part of Model-Driven Engineering (MDE) technologies but are usually hard to specify and maintain for many engineers. Most current approaches use meta-model-driven transformation specification via textual scripting languages. These are often hard to specify, understand and maintain. We present a novel approach that instead allows domain experts to discover and specify transformation correspondences using concrete visualizations of example source and target models. From these example model correspondences, complex model transformation implementations are automatically generated. We also introduce a recommender system that helps domain experts and novice users find possible correspondences between large source and target model visualization elements. Correspondences are then specified by directly interacting with suggested recommendations or drag and drop of visual notational elements of source and target visualizations. We have implemented this approach in our prototype tool-set, CONVErT, and applied it to a variety of model transformation examples. Our evaluation of this approach includes a detailed user study of our tool and a quantitative analysis of the recommender system.

Introduction

Model transformation plays a significant role in the realization of Model Driven Engineering (MDE). Current MDE approaches require specifying correspondences between source and target models using textual scripting languages and the abstract representations of meta-modeling languages. Although these abstractions provide better generalization, and hence code reduction, they introduce difficulties for many potential transformation specification users. This is because in order to effectively use them, users have to possess in-depth knowledge of transformation languages and meta-modeling language syntax. These are often very far removed from the actual concrete model syntax for the target domain. Moreover, taking into account large models being used in today׳s software systems, many transformation specifications are very complex and challenging to specify and then maintain, even for experienced transformation script and meta-model users [1], [2], [3]. Although some approaches have been developed to mitigate these problems, such as by using visual abstractions [4], [5], by-example transformations [3], [6], [7], graph transformations [8], [9], [10], [11], automatic inference of bi-directional transformations [12], [13], and automated assistance for mapping correspondence deduction [14], none of these fully address the problems nor do so in an integrated, visual, human-centric and highly extensible way.

We introduce a new approach that helps to better incorporate user׳s domain knowledge by providing them with familiar concrete model visualizations for use during model visualization and transformation generation. This approach follows the three principles of direct manipulation [15], i.e. (1) it provides support for generating concrete visualizations of example source and target models; (2) these visualizations allow user interaction in the form of drag and drop of their concrete visual notation elements; and (3) interactions are automatically translated into transformation code and hence direct coding in complex transformation scripting languages is avoided. In addition, to better aid users in finding correspondences in large model visualizations, an automatic recommender system is introduced that provides suggestions for possible correspondences between source and target model elements. Complex model transformation code is automatically generated from the user׳s interaction with concrete visual notations and suggested recommendations.

This paper is organized as follows: Section 2 gives a motivating example, our key research questions and the requirements being addressed by the research reported in this paper. Section 3 briefly discusses key related work. Section 4 outlines our approach to model transformation generation followed by a usage example in Section 5. Section 6 describes the architecture and implementation of our approach in CONcrete Visual assistEd Transformation (CONVErT) framework. Section 7 describes our evaluation and user-study setup and is followed by a discussion in Section 8. Finally Section 9 concludes the paper with a summary.

Section snippets

Motivation

Assume Tom, a software developer, is working in an MDE-using team and has received a system analysis report for an application. Being an expert in UML diagram interpretation and a Java coder, he is familiar with concrete syntax of the diagrams and Java code. He is interested in transforming specific parts of UML diagrams provided by the analysis directly to his programming code, to increase team productivity, code quality and to ease software evolution. For example, he wants to create a model

Related work

Complexity of model transformation specification is due to both the difficulty inherent in specifying large, complex inter-model correspondences using the complex syntax of model transformation languages [17], [18], and the use of meta-models [19]. Most model transformation approaches rely on knowledge of multiple, often large and complicated meta-models, along with expert knowledge of transformation scripting languages and tools (e.g. Eclipse Modelling Framework project [20]). While these

Our CONVErT approach

Our approach to model transformation generation in CONVErT relies on example concrete visualizations of input source and target models. These specifically generated visualizations enable use of drag and drop of notations to perform model transformations and specify correspondences between source and target model visualizations. Consecutively, this concrete, by-example approach for model transformation has three key steps: (1) The user – the domain expert – provides source and target model

Use case

Assume Tom, a software engineer, intends to create an automatic code generator to transform specific parts of a UML class diagram model to Java code. While various IDEs and template generators support generic code generation, Tom may want to specify particular pattern implementations be used, particular code snippets be used, particular code formatting, commenting and layout, use of particular APIs be used in particular ways within the generated code base, and may want particular coding

Architecture

Our new approach to concrete visualization generation and model mapping generation as presented in this paper has been implemented as a proof of concept in our CONVErT framework [45]. A high-level architecture and key parts of CONVErT are depicted in Fig. 13. In the following paragraphs, we briefly describe the implementation of key mechanisms provided by this framework.

The reverse engineering and model abstraction mechanism of CONVErT (Fig. 13 (1)) uses a graph lattice as meta-model to be used

Evaluation

We have used CONVErT to specify a wide range of complex model transformation and information visualization problems. These include several MDE problems using UML source models and code and script targets; CAD tool integration using 2D and tree structure source and target visualizations; and various business analysis problems, including a Minard׳s Map visualization. Details can be found on CONVErT׳s website (see footnote 3) including example videos of specifying CONVErT transformations using

Discussion

Our user study demonstrated that on average users positively liked the idea of concrete visual transformation. See for example their answers to question Q.3 in Table 2 where all users highly rated (4 or 5) the use of visual diagrams in understanding the source-to-target relationships and question Q.4 where 87% of the users rated the ease of use of the approach high or very high (67% very high and 20% high). However, certain drawbacks of the used version of prototype tool affected user

Summary

We have presented a new approach for transformation generation using familiar concrete visualizations of source and target model examples. Through use of these visual notations, the required knowledge and skill for performing model transformation specification is reduced. The system presented in this paper provides abstractions by reverse engineering model examples and gives users the capability to specify correspondences on familiar notations or use correspondences suggested by the system.

Acknowledgments

We thank anonymous reviewers for their comments and feedback. This work was supported in part by Australian Research Council Discovery Project (DP140102185), Swinburne University of Technology (Australia) Early Research Career grant, and German Research Foundation (DFG) under the Priority Program SPP1593: Design For Future – Managed Software Evolution.

References (47)

  • H. Stoeckle et al.

    A framework for visual notation exchange

    J. Vis. Lang. Comput.

    (2005)
  • F. Hernández del Olmo et al.

    Evaluation of recommender systemsa new approach

    Expert Syst. Appl.

    (2008)
  • R. Amor et al.

    Directions in modelling environments

    Autom. Constr.

    (1995)
  • G. Kappel et al.

    Model transformation by-example: a survey of the first wave

    Conceptual Modelling and its Theoretical Foundations

    (2012)
  • Y. Sun et al.

    Model transformation by demonstration

  • M. Faunes, H. Sahraoui, M. Boukadoum, Generating model transformation rules from examples using an evolutionary...
  • L.M. Haas, M.A. Hernández, H. Ho, L. Popa, M. Roth, Clio grows up: from research prototype to industrial tool, in:...
  • A. Raffio, D. Braga, S. Ceri, P. Papotti, M. Hernandez, Clip: a visual language for explicit schema mappings, in: IEEE...
  • D. Varró, Model transformation by example, in: Model Driven Engineering Languages and Systems, Lecture Notes in...
  • M. Kessentini et al.

    Search-based model transformation by example

    Softw. Syst. Model.

    (2012)
  • H. Ehrig et al.

    Fundamental theory for typed attributed graph transformation

  • G. Rozenberg et al.
    (1999)
  • A. Schürr

    Specification of graph translators with triple graph grammars

  • S. Hidaka, Z. Hu, H. Kato, K. Nakano, A compositional approach to bidirectional model transformation, in: 31st...
  • H. Ehrig, K. Ehrig, C. Ermel, F. Hermann, G. Taentzer, Information preserving bidirectional model transformations, in:...
  • S. Bossung, H. Stoeckle, J. Grundy, R. Amor, J. Hosking, Automated data mapping specification via schema heuristics and...
  • B. Shneiderman, Direct manipulation: a step beyond programming languages (abstract only), in: Proceedings of the Joint...
  • J. Grundy, R. Mugridge, J. Hosking, P. Kendall, Generating EDI message translations from visual specifications, in:...
  • Y. Li, J. Grundy, R. Amor, J. Hosking, A data mapping specification environment using a concrete business form-based...
  • I. Avazpour, Towards user-centric concrete model transformation (Ph.D. thesis), Swinburne University of Technology,...
  • G. Kappel et al.

    Lifting metamodels to ontologiesa step to the semantic integration of modeling languages

  • F. Budinsky

    Eclipse Modeling Framework: A Developer׳s Guide

    (2004)
  • Cited by (0)

    This paper has been recommended for acceptance by Shi Kho Chang.

    View full text