Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

DSMCompare: domain-specific model differencing for graphical domain-specific languages

Published: 01 October 2022 Publication History

Abstract

During the development of a software project, different developers collaborate on creating and changing models. These models evolve and need to be versioned. Over the past several years, progress has been made in offering dedicated support for model versioning that improves on what is being supported by text-based version control systems. However, there is still need to understand model differences in terms of the semantics of the modeling language, and to visualize the changes using its concrete syntax. To address these issues, we propose a comprehensive approach—called DSMCompare—that considers both the abstract and the concrete syntax of a domain-specific language (DSL) when expressing model differences, and which supports defining domain-specific semantics for specific difference patterns. The approach is based on the automatic extension of the DSL to enable the representation of changes and on the automatic adaptation of its graphical concrete syntax to visualize the differences. In addition, we allow for the definition of semantic differencing rules to capture recurrent domain-specific difference patterns. Since these rules can be conflicting with each other, we introduce algorithms for conflict resolution and rule scheduling. To demonstrate the applicability and effectiveness of our approach, we report on evaluations based on synthetic models and on version histories of models developed by third parties.

References

[1]
Kelly S and Tolvanen J-P Domain-specific modeling - enabling full code generation 2008 NY Wiley
[2]
Schmidt DC Guest editor’s introduction: Model-driven engineering Computer 2006 39 2 25-31
[3]
Paige RF, Matragkas ND, and Rose LM Evolving models in model-driven engineering: State-of-the-art and future challenges J. Syst. Softw. 2016 111 272-280
[4]
Brosch, P., Kappel, G., Langer, P., Seidl, M., Wieland, K., Wimmer, M.: An introduction to model versioning. In SFM, volume 7320 of LNCS, pages 336–398. Springer, (2012)
[5]
OMG. XMI metadata interchange v. 2.5.1. https://www.omg.org/spec/XMI/About-XMI/, last accessed (2021)
[6]
Altmanninger, K., Kappel, G., Kusel, A., Retschitzegger, W., Seidl, M., Schwinger, W., Wimmer, M.: AMOR – towards adaptable model versioning. In Workshop on Model Co-Evolution and Consistency Management, (2008)
[7]
CDO Model repository. https://www.eclipse.org/cdo/, last accessed January 2021
[8]
Kappel, G., Kapsammer, E., Kramler, G., Reiter, T., Retschitzegger, W., Schwinger, W.: Towards a semantic infrastructure supporting model-based tool integration. In International Workshop on Global Integrated Model Management, pages 43–46. ACM (2006)
[9]
Koegel, M., Helming, J.: EMFStore: a model repository for EMF models. In International Conference on Software Engineering, volume 2, pages 307–308. ACM (2010)
[10]
EMF Compare. https://www.eclipse.org/emf/compare/, last accessed (2021)
[11]
Brosch, P., Seidl, M., Wieland, K., Wimmer, M.: We can work it out: Collaborative conflict resolution in model versioning. In European Conference on Computer-Supported Cooperative Work, pages 207–214. Springer (2009)
[12]
Schwägerl F, Uhrig S, and Westfechtel B A graph-based algorithm for three-way merging of ordered collections in EMF models Sci. Comput. Program. 2015 113 51-81
[13]
Sirius. https://www.eclipse.org/sirius/, last accessed (2021)
[14]
Zadahmad, M., Syriani, E., Alam, O., Guerra, E., de Lara, J.: Domain-specific model differencing in visual concrete syntax. In Software Language Engineering, pages 100–112. ACM (2019)
[15]
Kehrer, T., Kelter, U., Taentzer, G.: A rule-based approach to the semantic lifting of model differences in the context of model versioning. In Automated Software Engineering, pages 163–172. IEEE Computer Society (2011)
[16]
Cicchetti A, Ruscio DD, and Pierantonio A A metamodel independent approach to difference representation J. Object Technol. 2007 6 9 165-185
[17]
Syriani E and Vangheluwe H A modular timed graph transformation language for simulation-based design Softw. Syst. Model. 2013 12 2 387-414
[18]
GMF. https://www.eclipse.org/gmf-tooling/, 2019. (last accessed in 2019)
[19]
Kelly, S., Lyytinen, K., Rossi, M.: MetaEdit+ A fully configurable multi-user and multi-tool CASE and CAME environment. In Conference on Advanced Information Systems Engineering, volume 1080 of LNCS, pages 1–21. Springer (1996)
[20]
Syriani, E., Vangheluwe, H., Mannadiar, R., Hansen, C., Van Mierlo, S., Ergin, H.: AToMPM: A web-based modeling environment. In MODELS’13 Invited Talks, Demonstration Session, Poster Session, and ACM Student Research Competition, volume 1115, pages 21–25. CEUR-WS.org (2013)
[21]
OMG. The Object Constraint Language (OCL) v. 2.4. Specification. http://www.omg.org/spec/OCL/, 2014. (last accessed in January 2021)
[22]
Lin Y, Gray J, and Jouault F DSMDiff: a differentiation tool for domain-specific models Eur. J. Inf. Syst. 2007 16 4 349-361
[23]
Brun C and Pierantonio A Model differences in the eclipse modelling framework UPGRADE, Eur. J. Informatics Prof. 2008 9 2 29-34
[24]
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of algebraic graph transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer (2006)
[25]
Kühne, T., Mezei, G., Syriani, E., Vangheluwe, H., Wimmer, M.: Explicit transformation modeling. In MODELS 2009 Workshops, volume 6002 of LNCS, pages 240–255. Springer (2009)
[26]
Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: Advanced concepts and tools for in-place EMF model transformations. In Model Driven Engineering Languages and Systems, volume 6394 of LNCS, pages 121–135. Springer, (2010)
[27]
Strüber, D., Born, K., Gill, K. D., Groner, R., Kehrer, T., Ohrndorf, M., Tichy, M.: Henshin: A usability-focused framework for emf model transformation development. In International Conference on Graph Transformation, volume 10373 of LNCS, pages 196–208. Springer (2017)
[28]
Biermann E, Ermel C, and Taentzer G Formal foundation of consistent emf model transformations by algebraic graph transformation Softw. Syst. Model. 2012 11 2 227-250
[29]
de Lara J, Bardohl R, Ehrig H, Ehrig K, Prange U, and Taentzer G Attributed graph transformation with node type inheritance Theoret. Comput. Sci. 2007 376 3 139-163
[30]
Lambers, L., Ehrig, H., Orejas, F.: Conflict detection for graph transformation with negative application conditions. In International Conference on Graph Transformation, volume 4178 of LNCS, pages 61–76. Springer (2006)
[31]
Lambers, L., Strüber, D., Taentzer, G., Born, K., Huebert, J.: Multi-granular conflict and dependency analysis in software engineering based on graph transformation. In International Conference on Software Engineering, pages 716–727. ACM (2018)
[32]
Al-Herz, A., Pothen, A.: A 2/3-approximation algorithm for vertex-weighted matching. Discrete Applied Mathematics, (2019)
[33]
Tarjan R Depth-first search and linear graph algorithms SIAM J. Comput. 1972 1 2 146-160
[34]
Herrmannsdoerfer, M., Ratiu, D., Wachsmuth, G.: Language evolution in practice: The history of GMF. In Software Language Engineering, volume 5969 of LNCS, pages 3–22. Springer (2009)
[35]
Tanhaei M, Habibi J, and Mirian-Hosseinabadi S-H Automating feature model refactoring: A model transformation approach Inf. Softw. Technol. 2016 80 138-157
[36]
Stephan, M., Cordy, J. R.: A survey of model comparison approaches and applications. In Model-Driven Engineering and Software Development, 265–277. SciTePress (2013)
[37]
Kolovos, D., Di Ruscio, D., Pierantonio, A., Paige R.: Different models for model matching: An analysis of approaches to support model differencing. In Workshop on Comparison and Versioning of Software Models, pages 1–6. IEEE (2009)
[38]
Langer P, Wimmer M, Gray J, Kappel G, and Vallecillo A Language-specific model versioning based on signifiers Journal of Object Technology 2012 11 3 4-1
[39]
Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object-oriented design differencing. In Automated software engineering, pages 54–65 (2005)
[40]
Maoz, S., Ringert, J. O., Rumpe, B.: A manifesto for semantic model differencing. In MODELS 2010 Workshops, volume 6627 of LNCS, pages 194–203. Springer (2011)
[41]
Maoz S and Ringert JO A framework for relating syntactic and semantic model differences Softw. Syst. Model. 2018 17 3 753-777
[42]
Holthusen, S., Wille, D., Legat, C., Beddig, S., Schaefer, I., Vogel-Heuser, B.: Family model mining for function block diagrams in automation software. In International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools, volume 2, pages 36–43. ACM (2014)
[43]
Reuling D, Lochau M, and Kelter U From imprecise n-way model matching to precise n-way model merging J. Object Technol. 2019 18 2 8:1-20
[44]
García, J., Diaz, O., Azanza, M.: Model transformation co-evolution: A semi-automatic approach. In Software Language Engineering, volume 7745 of LNCS, pages 144–163. Springer (2013)
[45]
Vermolen, S. D., Wachsmuth, G., Visser, E.: Reconstructing complex metamodel evolution. In Software Language Enginerring, volume 6940 of LNCS, pages 201–221. Springer (2012)
[46]
Gleicher M Considerations for visualizing comparison Trans. Vis. Comput. Gr. 2018 24 1 413-423
[47]
Brosch P, Seidl M, Wimmer M, and Kappel G Conflict visualization for evolving UML models J. Object Technol. 2012 11 3 2:1-30
[48]
Schipper, A., Fuhrmann, H., von Hanxleden, R.: Visual comparison of graphical models. In International Conference on Engineering of Complex Computer Systems, pages 335–340. IEEE (2009)
[49]
Mehra, A., Grundy, J. C., Hosking J. G.: A generic approach to supporting diagram differencing and merging for collaborative design. In Automated Software Engineering, pages 204–213. ACM (2005)
[50]
Ohst, D., Welle, M., Kelter, U.: Differences between versions of UML diagrams. In Proceedings of the 9th European software engineering conference held jointly with 11th international symposium on Foundations of software engineering, pages 227–236. ACM (2003)
[51]
van den Brand, M., Protić, Z., Verhoeff, T.: Generic tool for visualization of model differences. In International Workshop on Model Comparison in Practice, pages 66–75. ACM (2010)
[52]
Wenzel, S.: Scalable visualization of model differences. In Workshop on Comparison and versioning of software models, pages 41–46. ACM (2008)
[53]
Altmanninger K, Seidl M, and Wimmer M A survey on model versioning approaches Int. J. Web Inf. Syst. 2009 5 3 271-304
[54]
Brosch, P., Seidl, M., Kappel, G.: A recommender for conflict resolution support in optimistic model versioning. In SPLASH/OOPSLA Companion, pages 43–50. ACM (2010)
[55]
Espinazo-Pagán, J., García-Molina, J.: A homogeneous repository for collaborative mde. In International Workshop on Model Comparison in Practice, pages 56–65. ACM (2010)
[56]
Espinazo-Pagán, J., Cuadrado, J. S., Molina, J. G.: Morsa: A scalable approach for persisting and accessing large models. In Model Driven Engineering Languages and Systems, volume 6981 of LNCS, pages 77–92. Springer (2011)
[60]
MPS. Differences viewer for files. https://www.jetbrains.com/help/mps/differences-viewer.html, last accessed May 2021
[63]
Akdur D, Garousi V, and Demirörs O A survey on modeling and model-driven engineering practices in the embedded software industry J. Syst. Architect. 2018 91 62-82
[64]
Mohagheghi P, Gilani W, Stefanescu A, Fernandez MA, Nordmoen B, and Fritzsche M Where does model-driven engineering help? experiences from three industrial cases Softw. Syst. Model. 2013 12 3 619-639
[65]
Störrle, H.: Towards clone detection in uml domain models. In European Conference on Software Architecture: Companion Volume, pages 285–293. ACM (2010)
[66]
Störrle H Cost-effective evolution of research prototypes into end-user tools Sci. Comput. Program. 2017 134 47-60
[67]
Babur Ö, Cleophas L, and van den Brand M Metamodel clone detection with SAMOS J. Comput. Lang. 2019 51 57-74
[68]
Basciani, F., Rocco, J., Di Ruscio, D., Salle, A., Iovino, L., Pierantonio, A.: MDEForge: an extensible web-based modeling platform. In International Workshop on Model-Driven Engineering on and for the Cloud, volume 1242, pages 66–75. CEUR-WS.org (2014)

Cited By

View all
  • (2024)Timeline exploration of model differences in source code repositories through graphical and textual viewsProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3652620.3688207(755-759)Online publication date: 22-Sep-2024

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Software and Systems Modeling (SoSyM)
Software and Systems Modeling (SoSyM)  Volume 21, Issue 5
Oct 2022
401 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 October 2022
Accepted: 12 December 2021
Revision received: 16 June 2021
Received: 05 February 2021

Author Tags

  1. Model-driven engineering
  2. Model differencing
  3. Domain-specific languages
  4. Graphical concrete syntax

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Timeline exploration of model differences in source code repositories through graphical and textual viewsProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3652620.3688207(755-759)Online publication date: 22-Sep-2024

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media