ABSTRACT
The evolution of models as a result of collaborative effort must be tracked and maintained. The usage of text-based version control systems is ubiquitous, however, it does not assist domain users in comprehending the semantics of model differences. To overcome these concerns, we propose ---called DSMCompare---, a complete solution. It considers both the abstract and concrete syntax of a domain-specific language (DSL) to express model differences and facilitates the definition of domain-specific semantics for specific difference patterns. The method extends the DSL automatically to allow for the description of modifications and adapts its graphical concrete syntax to visualize the differences. It moreover enables the creation of semantic differencing rules for identifying recurrent domain-specific difference patterns. Because these rules may conflict with one another, we provide algorithms for resolving conflicts and scheduling rules. We report on evaluations based on synthetic models and version histories of models provided by third parties to illustrate the applicability and effectiveness of our approach. We also outline an extension of DSMCompare to three-way differencing.
- K. Altmanninger, G. Kappel, A. Kusel, W. Retschitzegger, M. Seidl, W. Schwinger, and M. Wimmer. 2008. AMOR - Towards Adaptable Model Versioning. In 1st International Workshop on Model Co-Evolution and Consistency Management. See also http://www.modelversioning.org/.Google Scholar
- Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause, and Gabriele Taentzer. 2010. Henshin: advanced concepts and tools for in-place EMF model transformations. In International Conference on Model Driven Engineering Languages and Systems. Springer, 121--135.Google ScholarDigital Library
- F. Basciani, J. Di Rocco, D. Di Ruscio, A. Di Salle, L. Iovino, and A. Pierantonio. 2014. MDEForge: an extensible web-based modeling platform. In Proceedings of the 2nd International Workshop on Model-Driven Engineering on and for the Cloud. CEUR-WS.org, 66--75.Google Scholar
- P. Brosch, G. Kappel, P. Langer, M. Seidl, K. Wieland, and M. Wimmer. 2012. An introduction to model versioning. In SFM (LNCS, Vol. 7320). Springer, 336--398.Google Scholar
- P. Brosch, M. Seidl, K. Wieland, and M. Wimmer. 2009. We can work it out: Collaborative conflict resolution in model versioning. In European Conference on Computer-Supported Cooperative Work. Springer, 207--214.Google Scholar
- P. Brosch, M. Seidl, M. Wimmer, and G. Kappel. 2012. Conflict visualization for evolving UML models. Journal of Object Technology 11, 3 (2012), 2:1--30.Google ScholarCross Ref
- CDO Model repository. last accessed January 2021. https://www.eclipse.org/cdo/.Google Scholar
- A. Cicchetti, D. Di Ruscio, and A. Pierantonio. 2007. A metamodel independent approach to difference representation. Journal of Object Technology 6, 9 (2007), 165--185.Google ScholarCross Ref
- Hartmut Ehrig, Claudia Ermel, Ulrike Golas, and Frank Hermann. 2015. Tool Support. In Graph and Model Transformation. Springer, 351--399.Google Scholar
- EMF Compare. last accessed January 2021. https://www.eclipse.org/emf/compare/.Google Scholar
- Javier Espinazo-Pagán, Jesús Sánchez Cuadrado, and Jesús García Molina. 2011. Morsa: A Scalable Approach for Persisting and Accessing Large Models. In Proc. MODELS (Lecture Notes in Computer Science, Vol. 6981). Springer, 77--92.Google Scholar
- Gerti Kappel, Elisabeth Kapsammer, Gerhard Kramler, Thomas Reiter, Werner Retschitzegger, and Wieland Schwinger. 2006. Towards A Semantic Infrastructure Supporting Model-based Tool Integration. In Proc. GaMMa'06 (GaMMa '06). ACM, 43--46.Google Scholar
- T. Kehrer, U. Kelter, and G. Taentzer. 2011. A rule-based approach to the semantic lifting of model differences in the context of model versioning. In Automated Software Engineering. IEEE Computer Society, 163--172.Google Scholar
- S. Kelly and J-K. Tolvanen. 2008. Domain-Specific Modeling - Enabling Full Code Generation. Wiley.Google Scholar
- Maximilian Koegel and Jonas Helming. 2010. EMFStore: a model repository for EMF models. In Proceedings ICSE Vol 2. ACM, 307--308. See also https://www.eclipse.org/emfstore/.Google ScholarDigital Library
- D. Kolovos, D. Di Ruscio, A. Pierantonio, and R. Paige. 2009. Different models for model matching: An analysis of approaches to support model differencing. In Comparison and Versioning of Software Models. IEEE, 1--6.Google Scholar
- T. Kühne, G. Mezei, E. Syriani, H. Vangheluwe, and M. Wimmer. 2009. Explicit transformation modeling. In MODELS 2009 Workshops (LNCS, Vol. 6002). Springer, 240--255.Google Scholar
- S. Maoz, J. O. Ringert, and B. Rumpe. 2011. A manifesto for semantic model differencing. In MODELS 2010 Workshops (LNCS, Vol. 6627). Springer, 194--203.Google Scholar
- MetaEdit. last accessed May 2021. https://www.metacase.com/news/smart_model_versioning.html.Google Scholar
- MPS. last accessed May 2021. Differences viewer for files. https://www.jetbrains.com/help/mps/differences-viewer.html.Google Scholar
- MPS. last accessed May 2021. Version Control. https://www.jetbrains.com/help/mps/version-control-integration.html.Google Scholar
- R. F. Paige, N. D. Matragkas, and L. M. Rose. 2016. Evolving models in Model-Driven Engineering: State-of-the-art and future challenges. Journal of Systems and Software 111 (2016), 272--280.Google ScholarDigital Library
- A. Schipper, H. Fuhrmann, and R. von Hanxleden. 2009. Visual comparison of graphical models. In International Conference on Engineering of Complex Computer Systems. IEEE, 335--340.Google ScholarDigital Library
- D. C. Schmidt. 2006. Guest editor's introduction: Model-driven engineering. Computer 39, 2 (2006), 25--31.Google ScholarDigital Library
- F. Schwägerl, S. Uhrig, and B. Westfechtel. 2015. A graph-based algorithm for three-way merging of ordered collections in EMF models. Science of Computer Programming 113 (2015), 51--81.Google ScholarDigital Library
- E. Syriani and H. Vangheluwe. 2013. A modular timed graph transformation language for simulation-based design. Software & System Modeling 12, 2 (2013), 387--414.Google ScholarDigital Library
- M. van den Brand, Z. Protić, and T. Verhoeff. 2010. Generic Tool for Visualization of Model Differences. In International Workshop on Model Comparison in Practice. ACM, 66--75.Google Scholar
- Zhenchang Xing and Eleni Stroulia. 2005. UMLDiff: an algorithm for object-oriented design differencing. In Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering. 54--65.Google ScholarDigital Library
Index Terms
- Domain-specific model differencing for graphical domain-specific languages
Recommendations
Domain-specific model differencing in visual concrete syntax
SLE 2019: Proceedings of the 12th ACM SIGPLAN International Conference on Software Language EngineeringLike any other software artifact, models evolve and need to be versioned. In the last few years, dedicated support for model versioning has been proposed to improve the default text-based versioning that version control systems offer. However, there is ...
DSMCompare: domain-specific model differencing for graphical domain-specific languages
AbstractDuring 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 ...
Exploration of modularity and reusability of domain-specific languages
Features for creating modular and reusable domain-specific languages are presented.These features are illustrated with a non-trivial expression DSL in MetaMod.A comparison between the implementation in MetaMod and in Jetbrains MPS is shown.The ...
Comments