Using internal domain-specific languages to inherit tool support and modularity for model transformations

  • Georg Hinkel
  • Thomas Goldschmidt
  • Erik Burger
  • Ralf Reussner
Theme Section Paper

DOI: 10.1007/s10270-017-0578-9

Cite this article as:
Hinkel, G., Goldschmidt, T., Burger, E. et al. Softw Syst Model (2017). doi:10.1007/s10270-017-0578-9

Abstract

Model-driven engineering (MDE) has proved to be a useful approach to cope with today’s ever-growing complexity in the development of software systems; nevertheless, it is not widely applied in industry. As suggested by multiple studies, tool support is a major factor for this lack of adoption. In particular, the development of model transformations lacks good tool support. Additionally, modularization techniques are inevitable for the development of larger model transformations to keep them maintainable. Existing tools for MDE, in particular model transformation approaches, are often developed by small teams and cannot keep up with advanced tool support for mainstream general-purpose programming languages, such as IntelliJ or Visual Studio. Internal DSLs are a promising solution to these problems. In this paper, we investigate the impact of design decisions of an internal DSL to the reuse of tool support and modularization concepts from the host language. We validate our findings in terms of understandability, applicability, tool support, and extensibility using three case studies from academia, a model-driven engineering platform, and the industrial automation domain where we apply an implementation of an internal model transformation language on the .NET platform. The results confirm the value of inherited modularity and tool support while conciseness and understandability are still competitive.

Keywords

Model-driven engineering Model transformation Domain-specific language Tool support Extensibility 

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  • Georg Hinkel
    • 1
  • Thomas Goldschmidt
    • 2
  • Erik Burger
    • 3
  • Ralf Reussner
    • 3
  1. 1.FZI Forschungszentrum InformatikKarlsruheGermany
  2. 2.ABB Corporate ResearchLadenburgGermany
  3. 3.Karlsruhe Institute of TechnologyKarlsruheGermany