Skip to main content
Log in

Variability-based model transformation: formal foundation and application

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Model transformation systems often contain transformation rules that are substantially similar to each other, causing maintenance issues and performance bottlenecks. To address these issues, we introduce variability-based model transformation. The key idea is to encode a set of similar rules into a compact representation, called variability-based rule. We provide an algorithm for applying such rules in an efficient manner. In addition, we introduce rule merging, a three-component mechanism for enabling the automatic creation of variability-based rules. Our rule application and merging mechanisms are supported by a novel formal framework, using category theory to provide precise definitions and to prove correctness. In two realistic application scenarios, the created variability-based rules enabled considerable speedups, while also allowing the overall specifications to become more compact.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Arendt T, Biermann E, Jurack S, Krause C, Taentzer G (2010) Henshin: advanced concepts and tools for in-place EMF model transformation. In: Proceedings of the international conference on model-driven engineering languages and systems. Springer, pp 121–135

  2. Arendt T, Habel A, Radke H, Taentzer G (2014) From core OCL invariants to nested graph constraints. In: Proceedings of the international conference on graph transformation, pp 97–112

  3. Alkhazi B, Ruas T, Kessentini M, Wimmer M, Grosky WI (2016) Automated refactoring of ATL model transformations: a search-based approach. In: Proceedings of the international conference on model driven engineering languages and systems. ACM, pp 295–304

  4. Acretoaie V, Störrle H (2015) Efficient model querying with VMQL. In: Proceedings of the workshop on combining modelling with search- and example-based approaches, pp 7–16. http://CEUR-WS.org

  5. Anjorin A, Saller K, Lochau M, Schürr A (2014) Modularizing triple graph grammars using rule refinement. In: Proceedings of the international conference on fundamental approaches to software engineering, pp 340–355

  6. Atallah MJ (2002) Algorithms and theory of computation handbook. CRC press, Cambridge

  7. Enrico B, Claudia E, Gabriele T (2012) Formal foundation of consistent EMF model transformations by algebraic graph transformation. Softw Syst Modeling 11(2): 227–250

    Article  Google Scholar 

  8. Bürdek J, Kehrer T, Lochau M, Reuling D, Kelter U, Schürr A (2015) Reasoning about product-line evolution using complex differences on feature models. J Autom Softw Eng 23(4): 1–47

    Google Scholar 

  9. Born K, Lambers L, Strüber D, Taentzer G (2017) Granularity of conflicts and dependencies in graph transformation systems. In: Proceedings of the international conference on graph transformation. Springer, pp 125–141

  10. Blouin D, Plantec A, Dissaux P, Singhoff F, Diguet J-P (2014) Synchronization of models of rich languages with triple graph grammars: an experience report. In: Proceedings of the international conference on theory and practice of model transformations

  11. Czarnecki K, Antkiewicz M (2005) Mapping features to models: a template approach based on superimposed variants. In: Proceedings of the international conference on generative programming and component engineering. ACM, pp 422–437

  12. Chechik M, Famelis M, Salay R, Strüber D (2016) Perspectives of model transformation reuse. In: Proceedings of international conference on integrated formal methods. Springer, pp 28–44

  13. Cuadrado JS, Guerra E, de Lara J(2014) Reverse engineering of model transformations for reusability. In: Proceedings of the international conference on theory and practice of model transformations. Springer, pp 186–201

  14. Krzysztof C, Simon H (2006) Feature-based survey of model transformation approaches. IBM Syst J 45(3): 621–646

    Article  Google Scholar 

  15. Sánchez CJ, Garcia MJ (2009) A model-based approach to families of embedded domain-specific languages. IEEE Trans Softw Eng 35(6): 825–840

    Article  Google Scholar 

  16. Clements PC, Northrop L (2001) Software product lines: practices and patterns. Addison-Wesley, Boston

    Google Scholar 

  17. Cook SA (1971) The complexity of theorem-proving procedures. In: Proceedings of the third annual ACM symposium on theory of computing. ACM, pp 151–158

  18. Deissenboeck F, Hummel B, Juergens E, Pfaehler M, Schaetz B (2010) Model clone detection in practice. In: Proceedings of the workshop on software clones. ACM, pp 57–64

  19. Hartmut E, Karsten E, Ulrike P, Gabriele T (2006) Fundamental theory for typed attributed graphs and graph transformation based on Adhesive HLR categories. Fundam Inf 74(1): 31–61

    MathSciNet  MATH  Google Scholar 

  20. Hartmut E, Karsten E, Ulrike P, Gabriele T (2006) Fundamentals of algebraic graph transformation. Monographs in theoretical computer science. An EATCS series. Springer

  21. Ehrig H, Golas U, Habel A, Lambers L, Orejas F (2012) \({\mathcal{M}}\)-adhesive transformation systems with nested application conditions. part 2: Embedding, critical pairs and local confluence. Fundam Inf 118(1-2): 35–63

    MathSciNet  MATH  Google Scholar 

  22. Ehrig H, Golas U, Habel A, Lambers L, Orejas F (2014) M-adhesive transformation systems with nested application conditions. Part 1: parallelism, concurrency and amalgamation. Math Struct Comput Sci 24(04):240406

  23. Famelis M, Lucio L, Selim G, Salay R, Chechik M, Cordy JR, Dingel J, Vangheluwe H, Ramesh S (2015) Migrating automotive product lines: a case study. In: Proceedings of the international conference on theory and practice of model transformations. Springer

  24. Ulrike G, Annegret H, Hartmut E (2014) Multi-amalgamation of rules with application conditions in m-adhesive categories. Math Struct Comput Sci 24(04): 240405

    Article  MathSciNet  MATH  Google Scholar 

  25. Ghamarian AH, Rensink A (2012) Generalised compositionality in graph transformation. In: Proceedings of the international conference on graph transformation. Springer, pp 234–248

  26. Hermann F, Gottmann S, Nachtigall N, Braatz B, Morelli G, Pierre A, Engel T (2013) On an automated translation of satellite procedures using triple graph grammars. In: Proceedings of the international conference on theory and practice of model transformations. Springer, pp 50–51

  27. Annegret H, Reiko H, Gabriele T (1996) Graph grammars with negative application conditions. Fundam Inf 26(3/4): 287–313

    MathSciNet  MATH  Google Scholar 

  28. Heckel R, Küster JM, Taentzer G (2002) Confluence of typed attributed graph transformation systems. In: Proceedings of the international conference on graph transformation. Springer, pp 161–176

  29. Horváth Á, Varró G, Varró D (2007) Generic search plans for matching advanced graph patterns. ECEASST 6. http://journal.ub.tu-berlin.de/index.php/eceasst/article/view/49

  30. Holthusen S, Wille D, Legat C, Beddig S, Schaefer I, Vogel-Heuser B (2014) Family model mining for function block diagrams in automation software. In: Proceedings of the international software product line conference. ACM, pp 36–43

  31. Izsó B, Szatmári Z, Bergmann Gábor, Horváth Á, R (2013) Towards precise metrics for predicting graph query performance. In: Proceedings of the international conference on automated software engineering. IEEE, pp 421–431

  32. Jouault F, Allilaire F, Bézivin J, Kurtev I, Valduriez P (2006) ATL: A QVT-like transformation language. In: Proceedings on symposium on object-oriented programming systems, languages, and applications, companion. ACM, pp 719–720

  33. Kästner C, Apel S (2008) Integrating compositional and annotative approaches for product line engineering. In: Proceedings of the workshop on modularization, composition and generative techniques for product line engineering, pp 35–40

  34. Kavimandan A, Gokhale A, Karsai G, Gray J (2011) Managing the quality of software product line architectures through reusable model transformations. In: Proceedings of the QoSA/ISARCS. ACM, pp 13–22

  35. Miryung K, Vibha S, David N, Gail M (2005) An empirical study of code clone genealogies. ACM SIGSOFT Softw Eng Notes 30(5): 187–196

    Article  Google Scholar 

  36. Kusel A, Schönböck Johannes, Wimmer Manuel, Kappel Gerti, Retschitzegger Werner, Schwinger Wieland (2013) Reuse in model-to-model transformation languages: are we there yet? J Softw Syst Modeling 1–36

  37. Krause C, Tichy M, Giese H (2014) Implementing graph transformations in the bulk synchronous parallel model. In: Proceedings of the international conference on fundamental approaches to software engineering. Springer, pp 325–339

  38. Mann M, Ekker H, Flamm C (2013) The graph grammar library-a generic framework for chemical graph rewrite systems. In: Proceedings of the international conference on theory and practice of model transformations. Springer, pp 52–53

  39. Tamás M, Gergely M, Tihamér L, Márk A (2010) Manual and Automated Performance Optimization of Model Transformation Systems. Int J Softw Tools Technol Transf 12(3–4): 231–243

    Google Scholar 

  40. Mihaly M, Marek Z (2001) Duality for simple \({\omega }\)-categories and disks. Theory Appl Categ 8(7): 114–243

    MathSciNet  MATH  Google Scholar 

  41. Anh NH, Thanh NT, Pham NH, Jafar A-K, Nguyen TN (2012) Clone management for evolving software. IEEE Trans Softw Eng 38(5): 1008–1026

    Article  Google Scholar 

  42. Shiva N, Mehrdad S, Marsha C, Steve E, Pamela Z (2012) Matching and merging of variant feature specifications. IEEE Trans Softw Eng 38(6): 1355–1375

    Article  Google Scholar 

  43. OMG. http://www.omg.org/spec/UML/2.5/. Last Accessed Jan 2011

  44. Pham NH, Nguyen HA, Nguyen TT, Al-Kofahi JM, Nguyen TN (2009) Complete and Accurate Clone Detection in Graph-Based Models. In: Proceedings of the international conference on software engineering. IEEE, pp 276–286

  45. Richa, Borde E, Pautet L (2015) Translating ATL Model Transformations to Algebraic Graph Transformations. In: Proceeding of the international conference on theory and practice of model transformations. Springer, pp 183–198

  46. Rubin J, Chechik M (2012) Combining related products into product lines. In: Proceedings of the international conference on fundamental approaches to software engineering. Springer, pp 285–300

  47. Rubin J, Chechik M (2013) Quality of merge-refactorings for product lines. In: Proceedings of the international conference on fundamental approaches to software engineering. Springer, pp 83–98

  48. Rensink A (2010) Compositionality in graph transformation. In: Proceedings of the international colloquium on automata, languages and programming. Springer, pp 309–320

  49. Rentschler A (2015) Model transformation languages with modular information hiding. Ph.D. thesis, Karlsruher Institut für Technologie

  50. Rensink A, Kuperus J-H (2009) Repotting the geraniums: on nested graph transformation rules. ECEASST 18. http://journal.ub.tu-berlin.de/index.php/eceasst/article/view/260

  51. Ryssel U, Ploennigs J, Kabitzsch K (2010) Automatic variation-point identification in function-block-based models. In: Proceedings of the international conference on generative programming and component engineering. ACM, pp 23–32

  52. Rensink A, Schmidt Á, Varró D (2004) Model checking graph transformations: A comparison of two approaches. In: Proc. of the International Conference on Graph Transformation, pages 226–241. Springer

  53. Rudolf M (1998) Utilizing constraint satisfaction techniques for efficient graph pattern matching. In: Proceedings of the workshop on theory and application of graph transformations. Springer, p 238

  54. Rentschler A, Werle D, Noorshams Q, Happe L, Reussner R (2014) Remodularizing legacy model transformations with automatic clustering techniques. In: Proceedings of the workshop on the analysis of model transformations, pp 4–13. http://CEUR-WS.org

  55. Sellis TK (1988) Multiple-query optimization. ACM Trans Database Syst (TODS) 13(1): 23–52

    Article  Google Scholar 

  56. Syriani E, Gray J (2012) Challenges for addressing quality factors in model transformation. In: Proceedings of the international conference on software testing, verification and validation. IEEE, pp 929–937

  57. Segura S, Galindo JA, Benavides D, Parejo JA, Ruiz-Cortés A (2012) BeTTy: benchmarking and testing on the automated analysis of feature models. In: Proceedings of the workshop on variability modelling of software-intensive systems, pp 63–71

  58. Sijtema M (2010) Introducing variability rules in ATL for managing variability in MDE-based product lines. In: Proceedings of the workshop on model transformation with ATL, pp 39–49

  59. Shane S, Wojtek K (2003) Model transformation: the heart and soul of model-driven software development. IEEE Softw 20(5): 42–45

    Article  Google Scholar 

  60. Strüber D, Kehrer T, Arendt T, Pietsch C, Reuling D (2016) Scalability of Model transformations: position paper and benchmark set. In: Workshop on scalable model driven engineering, pp 21–30

  61. Strüber D, Plöger J, Acretoaie V (2016) Clone detection for graph-based model transformation languages. In: Proceedings of the international conference on the theory and practice of model transformations (ICMT). Springer, pp 191–206

  62. Strüber D, Rubin J, Arendt T, Chechik M, Taentzer G, Plöger J (2016) RuleMerger: automatic construction of variability-based rules. In: Proceedings of the international conference on fundamental approaches to software engineering. Springer, pp 122–140

  63. Strüber D, Rubin J, Chechik M, Taentzer G (2015) A variability-based approach to reusable and efficient model transformations. In: Proceedings of the international conference on fundamental approaches to software engineering. Springer, pp 283–298

  64. Strüber D, Schulz S (2016) A tool environment for managing families of model transformation rules. In: Proceedings of the international conference on graph transformations (ICGT), in memory of Hartmut Ehrig. Springer, pp 89–101

  65. Störrle H (2014) On the impact of layout quality to understanding UML diagrams: size matters. In: Proceedings of the international conference on model-driven engineering languages and systems. Springer,pp 518–534

  66. Strüber D (2016) Model-driven engineering in the large: refactoring techniques for models and model transformation systems. Ph.D. thesis, Philipps-Universität Marburg

  67. Taentzer G (1996) Parallel and distributed graph transformation: formal description and application to communication based systems. Ph.D. thesis, Technical University of Berlin

  68. Taentzer G, Arendt T, Ermel C, Heckel R (2012) Towards Refactoring of Rule-Based, In-Place Model Transformation Systems. In: Proceedings of the workshop on the analysis of model transformations. ACM, pp 41–46

  69. Thüm T, Apel S, Kästner C, Schaefer I, Saake G (2014) A classification and survey of analysis strategies for software product lines. ACM Comput Surv 47(1):6:1–6:45

  70. Tichy M, Krause C, Liebel G (2013) Detecting performance bad smells for henshin model transformations. In: Proceedings of the workshop on the analysis of model transformations, pp 82–86. http://CEUR-WS.org

  71. Trujillo S, Zubizarreta A, De Sosa J, Mendialdua X (2009) On the refinement of model-to-text transformations. In: Proceedings of the Jornadas de Ingenieria del Software y Bases de Datos, pp 123–133

  72. Varró G, Deckwerth F (2013) A rete network construction algorithm for incremental pattern matching. In: Proceedings of the international conference on theory and practice of model transformations. Springer, pp 125–140

  73. Gergely V, Katalin F, Dániel V (2006) Adaptive graph pattern matching for model transformations using model-sensitive search plans. Electron Notes Theor Comput Sci 152: 191–205

    Article  Google Scholar 

  74. Varró G, Schürr A, Varró D (2005) Benchmarking for graph transformation. In: Proceedings of the international symposium on visual languages and human-centric computing. IEEE, pp 79–88

  75. Wille D (2014) Managing lots of models: the famine approach. In: Proceedings of the international symposium on foundations of software engineering. ACM, pp 817–819

  76. Rui X, Donald W et al (2005) Survey of clustering algorithms. IEEE Trans Neural Netw 16(3): 645–678

    Article  Google Scholar 

  77. Yan X, Han J (2002) gspan: graph-based substructure pattern mining. In: Proceedings of the international conference on data mining. IEEE, pp 721–724

  78. Peixiang Z, Jiawei H (2010) On graph query optimization in large networks. In: Proceedings of the VLDB endowment 3(1–2): 340–351

    Google Scholar 

  79. Ziadi T, Henard C, Papadakis M, Ziane M, Le TY (2014) Towards a language-independent approach for reverse-engineering of software product lines. In: Proceedings of the symposium on applied computing. ACM, pp 1064–1071

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to D. Strüber.

Additional information

Communicated by Perdita Stevens, Andrzej Wasowski, and Ewen Denney

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Strüber, D., Rubin, J., Arendt, T. et al. Variability-based model transformation: formal foundation and application. Form Asp Comp 30, 133–162 (2018). https://doi.org/10.1007/s00165-017-0441-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-017-0441-3

Keywords

Navigation