A Tool Environment for Managing Families of Model Transformation Rules

  • Daniel Strüber
  • Stefan Schulz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9761)


Model transformation systems often contain families of rules that are substantially similar to each other. Variability-based rules are a recent approach to express such families of rules in a compact representation, enabling the convenient editing of multiple rule variants at once. On the downside, this approach gives rises to distinct maintenance drawbacks: Users are required to view and edit presence conditions. The complexity and size of the resulting rules may impair their readability.

In this paper, we propose to facilitate the editing of variability-based rules through suitable tool support. Inspired by the paradigms of filtered editing and virtual seperation of concerns, we present a tool environment that offers editable views for variants expressed in a variability-based rule. We demonstrate that our tool environment is helpful to address the identified issues, rendering variability-based rules a highly feasible reuse approach.


Base Rule Model Transformation Graph Transformation Software Product Line Rule Variant 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer, Heidelberg (2006)zbMATHGoogle Scholar
  2. 2.
    Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W., Kolovos, D.S., Paige, R.F., Lauder, M., Schürr, A., Wagelaar, D.: Surveying rule inheritance in model-to-model transformation languages. J. Object Technol. 11(2), 3:1–3:46 (2012)Google Scholar
  3. 3.
    Anjorin, A., Saller, K., Lochau, M., Schürr, A.: Modularizing triple graph grammars using rule refinement. In: Gnesi, S., Rensink, A. (eds.) FASE 2014 (ETAPS). LNCS, vol. 8411, pp. 340–354. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  4. 4.
    Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: Proceedings of the International Conference on Software Engineering (ICSE). ACM, pp. 311–320 (2008)Google Scholar
  5. 5.
    Störrle, H.: On the impact of layout quality to understanding UML diagrams: size matters. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 518–534. Springer, Heidelberg (2014)Google Scholar
  6. 6.
    Sarnak, N., Bernstein, R.L., Kruskal, V.: Creation and maintenance of multiple versions. In: SCM. Berichte des German Chapter of the ACM, vol. 30, pp. 264–275. Teubner (1988)Google Scholar
  7. 7.
    Kästner, C.: Virtual separation of concerns, Ph.D. dissertation, University of Magdeburg (2010)Google Scholar
  8. 8.
    Strüber, D., Rubin, J., Chechik, M., Taentzer, G.: A variability-based approach to reusable and efficient model transformations. In: Egyed, A., Schaefer, I. (eds.) FASE 2015. LNCS, vol. 9033, pp. 283–298. Springer, Heidelberg (2015)Google Scholar
  9. 9.
    Strüber, D., Rubin, J., Arendt, T., Chechik, M., Taentzer, G., Plöger, J.: RuleMerger: automatic construction of variability-based model transformation rules. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 122–140. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49665-7_8 CrossRefGoogle Scholar
  10. 10.
    Strüber, D.: Model-driven engineering in the large: Refactoring techniques for models and model transformation systems, Ph.D. dissertation, Philipps-Universität Marburg (2016)Google Scholar
  11. 11.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Rouquette, N., Haugen, Ø., Petriu, D.C. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  12. 12.
    Green, T.R.G., Petre, M.: Usability analysis of visual programming environments: a ’cognitive dimensions’ framework. J. Vis. Lang. Comput. 7(2), 131–174 (1996)CrossRefGoogle Scholar
  13. 13.
    Deissenboeck, F., Hummel, B., Juergens, E., Pfaehler, M., Schaetz, B.: Model clone detection in practice. In: International Workshop on Software Clones, pp. 57–64. ACM (2010)Google Scholar
  14. 14.
    Strüber, D., Plöger, J., Acreţoaie, V.: Clone detection for graph-based model transformation languages. In: International Conference on Model Transformation (ICMT). Springer, 2016Google Scholar
  15. 15.
    Hermann, F., Gottmann, S., Nachtigall, N., Braatz, B., Morelli, G., Pierre, A., Engel, T.: On an automated translation of satellite procedures using triple graph grammars. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 50–51. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  16. 16.
    Famelis, M.: Managing design-time uncertainty in software models, Ph.D. dissertation, University of Toronto (2016)Google Scholar
  17. 17.
    Kusel, A., Schönböck, J., Wimmer, M., Kappel, G., Retschitzegger, W., Schwinger, W.: Reuse in model-to-model transformation languages: are we there yet? J. Softw. Syst. Model. 14, 1–36 (2013)Google Scholar
  18. 18.
    Kulcsár, G., Leblebici, E., Anjorin, A.: A solution to the FIXML case study using triple graph grammars and eMoflon. In: TTC@STAF, pp. 71–75 (2014)Google Scholar
  19. 19.
    Machado, R., Foss, L., Ribeiro, L.: Aspects for graph grammars. Electron. Commun. EASST 18 (2009)Google Scholar
  20. 20.
    Sijtema, M.: Introducing variability rules in ATL for managing variability in MDE-based product lines. MtATL 10, 39–49 (2010)Google Scholar
  21. 21.
    Strüber, D., Selter, M., Taentzer, G.: Tool support for clustering large meta-models. In: BigMDE Workshop on the Scalability of Model-Driven Engineering. ACM Digital Library, pp. 7.1–7.4 (2013)Google Scholar
  22. 22.
    Strüber, D., Lukaszczyk, M., Taentzer, G.: Tool support for model splitting using information retrieval and model crawling techniques. In: BigMDE: Workshop on Scalability in Model Driven Engineering, pp. 44–47. (2014)Google Scholar
  23. 23.
    de Lara, J., Ermel, C., Taentzer, G., Ehrig, K.: Parallel graph transformation for model simulation applied to timed transition petri nets. Electron. Notes Theor. Comput. Sci. 109, 17–29 (2004)CrossRefzbMATHGoogle Scholar
  24. 24.
    Leblebici, E., Anjorin, A., Schürr, A., Taentzer, G.: Multi-amalgamated triple graph grammars. In: Parisi-Presicce, F., Westfechtel, B. (eds.) ICGT 2015. LNCS, vol. 9151, pp. 87–103. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  25. 25.
    Basso, F.P., Pillat, R.M., Oliveira, T.C., Becker, L.B.: Supporting large scale model transformation reuse. In: ACM SIGPLAN Notices, vol. 49(3), pp. 169–178. ACM (2013)Google Scholar
  26. 26.
    Sánchez Cuadrado, J., Guerra, E., de Lara, J.: A component model for model transformations. IEEE Trans. Softw. Eng. 40(11), 1042–1060 (2014)CrossRefGoogle Scholar
  27. 27.
    Cuadrado, J.S., Guerra, E., de Lara, J.: Reusable model transformation components with bentō. In: Kolovos, D., Wimmer, M. (eds.) ICMT 2015. LNCS, vol. 9152, pp. 59–65. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  28. 28.
    de Lara, J., Guerra, E.: Towards the flexible reuse of model transformations: a formal approach based on graph transformation. J. Logical Algebraic Methods Program. 83(5), 427–458 (2014)CrossRefzbMATHGoogle Scholar
  29. 29.
    Criado, J., Martínez, S., Iribarne, L., Cabot, J.: Enabling the reuse of stored model transformations through annotations. In: Kolovos, D., Wimmer, M. (eds.) ICMT 2015. LNCS, vol. 9152, pp. 43–58. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  30. 30.
    Prehofer, C.: Feature-oriented programming: a fresh look at objects. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 419–433. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  31. 31.
    Batory, D.: Feature-oriented programming and the AHEAD tool suite. In: International Conference on Software Engineering (ICSE), pp. 702–703. IEEE Computer Society (2004)Google Scholar
  32. 32.
    Walkingshaw, E., Ostermann, K.: Projectional editing of variational software. In: Generative Programming: Concepts and Experiences, pp. 29–38. ACM (2014)Google Scholar
  33. 33.
    Schwägerl, F., Buchmann, T., Westfechtel, B.: SuperMod: a model-driven tool that combines version control and software product line engineering. In: International Conference on Software Paradigm Trends. SCITEPRESS, pp. 5–18 (2015)Google Scholar
  34. 34.
    Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)CrossRefGoogle Scholar
  35. 35.
    Acretoaie, V., Störrle, H., Strüber, D.: Transparent model transformation: turning your favourite model editor into a transformation tool. In: Kolovos, D., Wimmer, M. (eds.) ICMT 2015. LNCS, vol. 9152, pp. 121–130. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  36. 36.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, DTIC Document (1990)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Philipps-Universität MarburgMarburgGermany

Personalised recommendations