A Survey of Model Comparison Approaches and Applications

Matthew Stephan, James R. Cordy


This survey paper presents the current state of model comparison as it applies to Model-Driven Engineering. We look specifically at how model matching is accomplished, the application of the approaches, and the types of models that approaches are intended to work with. Our paper also indicates future trends and directions. We find that many of the latest model comparison techniques are geared towards facilitating arbitrary meta models and use similarity-based matching. Thus far, model versioning is the most prevalent application of model comparison. Recently, however, work on comparison for versioning has begun to stagnate, giving way to other applications. Lastly, there is wide variance among the tools in the amount of user effort required to perform model comparison, as some require more effort to facilitate more generality and expressive power.


  1. Al-Batran, B., Schatz, B., and Hummel, B. (2011). Semantic clone detection for model-based development of embedded systems. Model Driven Engineering Languages and Systems, pages 258-272.
  2. Alalfi, M. H., Cordy, J. R., Dean, T. R., Stephan, M., and Stevenson, A. (2012). Models are code too: Near-miss clone detection for simulink models. In ICSM, volume 12.
  3. Alanen, M. and Porres, I. (2003). Difference and union of models. In UML, pages 2-17.
  4. Alanen, M. and Porres, I. (2005). Version control of software models. Advances in UML and XML-Based Software Evolution, pages 47-70.
  5. Altmanninger, K., Kappel, G., Kusel, A., Retschitzegger, W., Seidl, M., Schwinger, W., and Wimmer, M. (2008). AMOR-towards adaptable model versioning. In MCCM, volume 8, pages 4-50.
  6. Altmanninger, K., Seidl, M., and Wimmer, M. (2009). A survey on model versioning approaches. International Journal of Web Information Systems, 5(3):271-304.
  7. Barrett, S., Butler, G., and Chalin, P. (2010). Mirador: a synthesis of model matching strategies. In IWMCP, pages 2-10.
  8. Berardi, D., Calvanese, D., and De Giacomo, G. (2005). Reasoning on UML class diagrams. Artificial Intelligence, 168(1-2):70-118.
  9. Brun, C. and Pierantonio, A. (2008). Model differences in the Eclipse modelling framework. The European Journal for the Informatics Professional, pages 29-34.
  10. Chawathe, S., Rajaraman, A., Garcia-Molina, H., and Widom, J. (1996). Change detection in hierarchically structured information. In ICMD, pages 493-504.
  11. Chen, J. and Cui, H. (2004). Translation from adapted UML to promela for corba-based applications. Model Checking Software, pages 234-251.
  12. Chen, P., Critchlow, M., Garg, A., Van der Westhuizen, C., and van der Hoek, A. (2004). Differencing and merging within an evolving product line architecture. PFE, pages 269-281.
  13. Cicchetti, A., Di Ruscio, D., and Pierantonio, A. (2007). A metamodel independent approach to difference representation. Technology, 6(9):165-185.
  14. Cicchetti, A., Di Ruscio, D., and Pierantonio, A. (2008). Managing model conflicts in distributed development. In Models, pages 311-325.
  15. Clavel, M., Duran, F., Eker, S., Lincoln, P., Marti-Oliet, N., Meseguer, J., and Quesada, J. (2002). Maude: specification and programming in rewriting logic. Theoretical Computer Science, 285(2):187-243.
  16. Cobena, G., Abiteboul, S., and Marian, A. (2002). Detecting changes in XML documents. In ICDE, pages 41-52.
  17. D'Amato, C., Staab, S., and Fanizzi, N. (2008). On the influence of description logics ontologies on conceptual similarity. Knowledge Engineering: Practice and Patterns, pages 48-63.
  18. Deissenboeck, F., Hummel, B., Juergens, E., Pfaehler, M., and Schaetz, B. (2010). Model clone detection in practice. In IWSC, pages 57-64.
  19. Deissenboeck, F., Hummel, B., Jurgens, E., Schatz, B., Wagner, S., Girard, J., and Teuchert, S. (2009). Clone detection in automotive model-based development. In ICSE, pages 603-612.
  20. Dijkman, R., Dumas, M., Van Dongen, B., Karik, R., and Mendling, J. (2011). Similarity of business process models: Metrics and evaluation. Information Systems, 36(2):498-516.
  21. Elrad, T., Aldawud, O., and Bader, A. (2002). Aspectoriented modeling: Bridging the gap between implementation and design. In Generative Programming and Component Engineering, pages 189-201.
  22. Farail, P., Gaufillet, P., Canals, A., Le Camus, C., Sciamma, D., Michel, P., Cregut, X., and Pantel, M. (2006). The topcased project: a toolkit in open source for critical aeronautic systems design. ERTS, pages 1-8, electronic.
  23. Fortsch, S. and Westfechtel, B. (2007). Differencing and merging of software diagrams state of the art and challenges. ICSDT, pages 1-66.
  24. Gheyi, R., Massoni, T., and Borba, P. (2005). An abstract equivalence notion for object models. Electronic Notes in Theoretical Computer Science, 130:3-21.
  25. Girschick, M. (2006). Difference detection and visualization in UML class diagrams. Technical University of Darmstadt Technical Report TUD-CS-2006-5, pages 1- 15.
  26. Kelter, U., Wehren, J., and Niere, J. (2005). A generic difference algorithm for UML models. Software Engineering, 64:105-116.
  27. Kolovos, D. (2009). Establishing correspondences between models with the epsilon comparison language. In Model Driven Architecture-Foundations and Applications, pages 146-157.
  28. Kolovos, D., Di Ruscio, D., Pierantonio, A., and Paige, R. (2009). Different models for model matching: An analysis of approaches to support model differencing. In CVSM, pages 1-6.
  29. Kolovos, D., Paige, R., and Polack, F. (2006). Model comparison: a foundation for model composition and model transformation testing. In IWGIMM, pages 13-20.
  30. Koschke, R. (2006). Survey of research on software clones. Duplication, Redundancy, and Similarity in Software, pages 1-24,electronic.
  31. Krinke, J. (2002). Identifying similar code with program dependence graphs. In WCRE, pages 301-309.
  32. Latella, D., Majzik, I., and Massink, M. (1999). Automatic verification of a behavioural subset of UML statechart diagrams using the SPIN model-checker. Formal Aspects of Computing, 11(6):637-664.
  33. Letkeman, K. (2005). Comparing and merging UML models in IBM Rational Software Architect. IBM Rational - Technical Report (Online).
  34. Letkeman, K. (2007). Comparing and merging UML models in IBM Rational Software Architect: Part 7. http://www.ibm.com/developerworks/rational/library/ 07/0410 letkeman/.
  35. Lilius, J. and Paltor, I. (1999). Formalising UML state machines for model checking. UML, pages 430-444.
  36. Lin, Y., Gray, J., and Jouault, F. (2007). DSMDiff: a differentiation tool for domain-specific models. European Journal of Information Systems, 16(4):349-361.
  37. Lin, Y., Zhang, J., and Gray, J. (2004). Model comparison: A key challenge for transformation testing and version control in model driven software development. In OOPSLA Workshop on Best Practices for Model-Driven Software Development, volume 108, pages 6, electronic.
  38. Liu, H., Ma, Z., Zhang, L., and Shao, W. (2007). Detecting duplications in sequence diagrams based on suffix trees. In APSEC, pages 269-276.
  39. Maoz, S., Ringert, J., and Rumpe, B. (2011a). Cd2alloy: Class diagrams analysis using alloy revisited. Model Driven Engineering Languages and Systems, pages 592- 607.
  40. Maoz, S., Ringert, J., and Rumpe, B. (2011b). A manifesto for semantic model differencing. In ICMSE, MODELS'10, pages 194-203.
  41. Mehra, A., Grundy, J., and Hosking, J. (2005). A generic approach to supporting diagram differencing and merging for collaborative design. In ASE, pages 204-213.
  42. Melnik, S., Garcia-Molina, H., and Rahm, E. (2002). Similarity flooding: A versatile graph matching algorithm and its application to schema matching. In ICDE, pages 117- 128.
  43. Mens, T. (2002). A state-of-the-art survey on software merging. TSE, 28(5):449-462.
  44. Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., and Zave, P. (2007). Matching and merging of statecharts specifications. In ICSE, pages 54-64.
  45. Nentwich, C., Emmerich, W., Finkelstein, A., and Ellmer, E. (2003). Flexible consistency checking. TOSEM, 12(1):28-63.
  46. Nguyen, T. (2006). A novel structure-oriented difference approach for software artifacts. In CSAC, volume 1, pages 197-204.
  47. Oda, T. and Saeki, M. (2005). Generative technique of version control systems for software diagrams. In ICSM, pages 515-524.
  48. Ohst, D., Welle, M., and Kelter, U. (2003). Differences between versions of UML diagrams. ACM SIGSOFT Software Engineering Notes, 28(5):227-236.
  49. Oliveira, H., Murta, L., and Werner, C. (2005). Odysseyvcs: a flexible version control system for UML model elements. In SCM, pages 1-16.
  50. Pham, N., Nguyen, H., Nguyen, T., Al-Kofahi, J., and Nguyen, T. (2009). Complete and accurate clone detection in graph-based models. In ICSE, pages 276-286.
  51. Reddy, R., France, R., Ghosh, S., Fleurey, F., and Baudry, B. (2005). Model Composition - A Signature-Based Approach.
  52. Reiter, T., Altmanninger, K., Bergmayr, A., Schwinger, W., and Kotsis, G. (2007). Models in conflict-detection of semantic conflicts in model-based development. In MDEIS, pages 29-40.
  53. Rho, J. and Wu, C. (1998). An efficient version model of software diagrams. In APSEC, pages 236-243.
  54. Rivera, J. and Vallecillo, A. (2008). Representing and operating with model differences. Objects, Components, Models and Patterns, pages 141-160.
  55. Roy, C., Cordy, J., and Koschke, R. (2009). Comparison and evaluation of code clone detection techniques and tools: A qualitative approach. Science of Computer Programming, 74(7):470-495.
  56. Rubin, J. and Chechik, M. (2012). Combining related products into product lines. In 15th International Conference on Fundamental Approaches to Software Engineering. To Appear.
  57. Schipper, A., Fuhrmann, H., and von Hanxleden, R. (2009). Visual comparison of graphical models. In ICECCS, pages 335-340.
  58. Sebastiani, M. and Supiratana, P. (2008). Tracing the differences on an evolving software model. http:// www.idt.mdh.se/kurser/ct3340/archives/ht08/papersRM 08/28.pdf.
  59. Selonen, P. (2007). A Review of UML Model Comparison Approaches. In NW-MoDE, pages 37-51.
  60. Selonen, P. and Kettunen, M. (2007). Metamodel-based inference of inter-model correspondence. In ECSMR, pages 71-80.
  61. Shvaiko, P. and Euzenat, J. (2005). A survey of schemabased matching approaches. Journal on Data Semantics IV, pages 146-171.
  62. Soto, M. (2007). Delta-p: Model comparison using semantic web standards. Softwaretechnik-Trends, 2:27-31.
  63. Soto, M. and Munch, J. (2006). Process model difference analysis for supporting process evolution. Software Process Improvement, pages 123-134.
  64. Stephan, M., Alafi, M., Stevenson, A., and Cordy, J. (2012). Towards qualitative comparison of simulink model clone detection approaches. In IWSC, pages 84-85.
  65. Stephan, M. and Cordy, J. R. (2011). A survey of methods and applications of model comparison. Technical report, Queen's University. TR. 2011-582 Rev. 2.
  66. Stephan, M. and Cordy, J. R. (2013). Application of model comparison techniques to model transformation testing. In MODELSWARD. to appear.
  67. Stevens, P. (2009). A simple game-theoretic approach to checkonly qvt relations. Theory and Practice of Model Transformations, pages 165-180.
  68. Storrle, H. (2010). Towards clone detection in uml domain models. In ECSA, pages 285-293.
  69. van den Brand, M., Protic, Z., and Verhoeff, T. (2010). Fine-grained metamodel-assisted model comparison. In IWMCP, pages 11-20.
  70. Van den Brand, M., Protic, Z., and Verhoeff, T. (2010). Generic tool for visualization of model differences. In IWMCP, pages 66-75.
  71. Wenzel, S. (2008). Scalable visualization of model differences. In CVSM, pages 41-46.
  72. Wenzel, S., Koch, J., Kelter, U., and Kolb, A. (2009). Evolution analysis with animated and 3D-visualizations. In ICSM, pages 475-478.
  73. Xing, Z. and Stroulia, E. (2005). UMLDiff: an algorithm for object-oriented design differencing. In ASE, pages 54-65.

Paper Citation

in Harvard Style

Stephan M. and Cordy J. (2013). A Survey of Model Comparison Approaches and Applications . In Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-8565-42-6, pages 265-277. DOI: 10.5220/0004311102650277

in Bibtex Style

author={Matthew Stephan and James R. Cordy},
title={A Survey of Model Comparison Approaches and Applications},
booktitle={Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},

in EndNote Style

JO - Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - A Survey of Model Comparison Approaches and Applications
SN - 978-989-8565-42-6
AU - Stephan M.
AU - Cordy J.
PY - 2013
SP - 265
EP - 277
DO - 10.5220/0004311102650277