Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
125 tokens/sec
GPT-4o
53 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Incremental Model Transformations with Triple Graph Grammars for Multi-version Models (2307.02105v2)

Published 5 Jul 2023 in cs.SE

Abstract: Like conventional software projects, projects in model-driven software engineering require adequate management of multiple versions of development artifacts, importantly allowing living with temporary inconsistencies. In previous work, multi-version models for model-driven software engineering have been introduced, which allow checking well-formedness and finding merge conflicts for multiple versions of a model at once. However, also for multi-version models, situations where different artifacts, that is, different models, are linked via automatic model transformations have to be handled. In this paper, we propose a technique for jointly handling the transformation of multiple versions of a source model into corresponding versions of a target model, which enables the use of a more compact representation that may afford improved execution time of both the transformation and further analysis operations. Our approach is based on the well-known formalism of triple graph grammars and the aforementioned encoding of model version histories called multi-version models. In addition to batch transformation of an entire model version history, the technique also covers incremental synchronization of changes in the framework of multi-version models. We show the correctness of our approach with respect to the standard semantics of triple graph grammars and conduct an empirical evaluation to investigate the performance of our technique regarding execution time and memory consumption. Our results indicate that the proposed technique affords lower memory consumption and may improve execution time for batch transformation of large version histories, but can also come with computational overhead in unfavorable cases.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (29)
  1. A. Seibel, S. Neumann, and H. Giese, “Dynamic hierarchical mega models: comprehensive traceability and its efficient maintenance,” Software & Systems Modeling, vol. 9, no. 4, pp. 493–528, 2010.
  2. A. C. W. Finkelstein, D. Gabbay, A. Hunter, J. Kramer, and B. Nuseibeh, “Inconsistency Handling in Multiperspective Specifications,” IEEE Transactions on Software Engineering, vol. 20, no. 8, pp. 569–578, 1994.
  3. M. Barkowsky and H. Giese, “Towards Development with Multi-version Models: Detecting Merge Conflicts and Checking Well-Formedness,” in Graph Transformation, N. Behr and D. Strüber, Eds.   Cham: Springer International Publishing, 2022, pp. 118–136.
  4. ——, “Triple graph grammars for multi-version models,” vol. Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam (155), 2023.
  5. A. Schürr, “Specification of graph translators with triple graph grammars,” in Proc. of the 20t⁢hsuperscript20𝑡ℎ20^{t}h20 start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT italic_h International Workshop on Graph-Theoretic Concepts in Computer Science, ser. Lecture Notes in Computer Science, E. W. Mayr, G. Schmidt, and G. Tinhofer, Eds., vol. 903.   Herrsching, Germany: Spinger Verlag, June 1994, pp. 151–163.
  6. H. Giese, S. Hildebrandt, and L. Lambers, “Bridging the Gap between Formal Semantics and Implementation of Triple Graph Grammars - Ensuring Conformance of Relational Model Transformation Specifications and Implementations,” Software and Systems Modeling, vol. 13, no. 1, pp. 273–299, 2014. [Online]. Available: http://dx.doi.org/10.1007/s10270-012-0247-y
  7. ——, “Toward bridging the gap between formal semantics and implementation of triple graph grammars,” vol. Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam (37), 2010.
  8. G. Taentzer, C. Ermel, P. Langer, and M. Wimmer, “A fundamental approach to model versioning based on graph modifications: from theory to implementation,” Software & Systems Modeling, vol. 13, no. 1, pp. 239–272, 2014.
  9. H. Giese and R. Wagner, “From model transformation to incremental bidirectional model synchronization,” Software & Systems Modeling, vol. 8, pp. 21–43, 2009.
  10. S. Hildebrandt, “On the Performance and Conformance of Triple Graph Grammar Implementations,” Ph.D. dissertation, Hasso Plattner Institute at the University of Potsdam, June 2014.
  11. “EMF,” https://www.eclipse.org/modeling/emf/, last accessed 14 October 2022.
  12. T. Arendt, E. Biermann, S. Jurack, C. Krause, and G. Taentzer, “Henshin: advanced concepts and tools for in-place emf model transformations,” in International Conference on Model Driven Engineering Languages and Systems.   Springer, 2010, pp. 121–135.
  13. “Git,” https://git-scm.com/, last accessed 23 February 2022.
  14. H. Bruneliere, J. Cabot, F. Jouault, and F. Madiot, “MoDisco: a generic and extensible framework for model driven reverse engineering,” in Proceedings of the IEEE/ACM international conference on Automated software engineering, 2010.
  15. “TGGs for Multi-Version Models Evaluation Artifacts,” https://github.com/hpi-sam/Incremental-TGGs-for-Multi-version-Models, last accessed 13 April 2023.
  16. M. Barkowsky and H. Giese, “Incremental Model Transformations with Triple Graph Grammars for Multi-version Models Evaluation Data,” 2023. [Online]. Available: https://doi.org/10.5281/zenodo.8109856
  17. Z. Diskin, K. Czarnecki, and M. Antkiewicz, “Model-versioning-in-the-large: Algebraic foundations and the tile notation,” in 2009 ICSE Workshop on Comparison and Versioning of Software Models.   IEEE, 2009, pp. 7–12.
  18. A. Rutle, A. Rossini, Y. Lamo, and U. Wolter, “A category-theoretical approach to the formalisation of version control in MDE,” in International Conference on Fundamental Approaches to Software Engineering, ser. LNTCS, vol. 5503.   Springer, 2009, pp. 64–78.
  19. L. Murta, C. Corrêa, J. G. Prudêncio, and C. Werner, “Towards Odyssey-VCS 2: Improvements over a UML-based version control system,” in Proceedings of the 2008 international workshop on Comparison and versioning of software models, 2008.
  20. M. Koegel and J. Helming, “EMFStore: a model repository for EMF models,” in Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 2, 2010, pp. 307–308.
  21. Y. Xiong, H. Song, Z. Hu, and M. Takeichi, “Synchronizing concurrent model updates based on bidirectional transformation,” Software & Systems Modeling, vol. 12, no. 1, pp. 89–104, 2013.
  22. F. Orejas, E. Pino, and M. Navarro, “Incremental concurrent model synchronization using triple graph grammars.” in FASE, 2020, pp. 273–293.
  23. L. Fritsche, J. Kosiol, A. Schürr, and G. Taentzer, “Avoiding unnecessary information loss: correct and efficient model synchronization based on triple graph grammars,” International Journal on Software Tools for Technology Transfer, vol. 23, pp. 335–368, 2021.
  24. K. Czarnecki and M. Antkiewicz, “Mapping features to models: A template approach based on superimposed variants,” in Generative Programming and Component Engineering, ser. LNPSE, R. Glück and M. Lowry, Eds., vol. 3676.   Berlin, Heidelberg: Springer Berlin Heidelberg, 2005, pp. 422–437.
  25. D. Reuling, C. Pietsch, U. Kelter, and T. Kehrer, “Towards Projectional Editing for Model-Based SPLs,” in Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems, ser. VAMOS ’20.   New York, NY, USA: Association for Computing Machinery, 2020.
  26. B. Westfechtel and S. Greiner, “Extending single-to multi-variant model transformations by trace-based propagation of variability annotations,” Software and Systems Modeling, vol. 19, no. 4, pp. 853–888, 2020.
  27. H. Giese, M. Maximova, L. Sakizloglou, and S. Schneider, “Metric temporal graph logic over typed attributed graphs,” in International Conference on Fundamental Approaches to Software Engineering, ser. LNTCS, vol. 11424.   Springer, Cham, 2019, pp. 282–298.
  28. L. Sakizloglou, S. Ghahremani, M. Barkowsky, and H. Giese, “Incremental execution of temporal graph queries over runtime models with history and its applications,” Software and Systems Modeling, pp. 1–41, 2021.
  29. A. García-Domínguez, N. Bencomo, J. M. Parra-Ullauri, and L. H. García-Paucar, “Querying and annotating model histories with time-aware patterns,” in 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS).   IEEE, 2019, pp. 194–204.

Summary

We haven't generated a summary for this paper yet.