Skip to main content
Log in

A framework for relating syntactic and semantic model differences

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Model differencing is an important activity in model-based development processes. Differences need to be detected, analyzed, and understood to evolve systems and explore alternatives. Two distinct approaches have been studied in the literature: syntactic differencing, which compares the concrete or abstract syntax of models, and semantic differencing, which compares models in terms of their meaning. Syntactic differencing identifies change operations that transform the syntactical representation of one model to the syntactical representation of the other. However, it does not explain their impact on the meaning of the model. Semantic model differencing is independent of syntactic changes and presents differences as elements in the semantics of one model but not the other. However, it does not reveal the syntactic changes causing these semantic differences. We define Diffuse, a language-independent, abstract framework, which relates syntactic change operations and semantic difference witnesses. We formalize fundamental relations of necessary, exhibiting, and sufficient sets of change operations and analyze their properties. We further demonstrate concrete instances of the Diffuse framework for three different popular modeling languages, namely class diagrams, activity diagrams, and feature models. The Diffuse framework provides a novel foundation for combining syntactic and semantic differencing.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. Eclipse Graphical Modeling Project. http://www.eclipse.org/modeling/gmp/

  2. Removed first parameter (process model) and successor node parameter (in addition to \( dest \)) when clear in examples.

  3. Shortened names of CD change operations defined in [33]

References

  1. Acher, M., Heymans, P., Collet, P., Quinton, C., Lahire, P., Merle, P.: Feature model differences. In: Ralyté, J., Franch, X., Brinkkemper, S., Wrycza, S. (eds.) Proceedings of the 24th International Conference on Advanced Information Systems Engineering (CAiSE). Lecture Notes in Computer Science, vol. 7328, pp. 629–645. Springer (2012)

  2. Alanen, M., Porres, I.: Difference and union of models. In: Stevens, P., Whittle, J., Booch, G. (eds.) Proceedings of the 6th International Conference on the UML. Lecture Notes in Computer Science, vol. 2863, pp. 2–17. Springer (2003)

  3. Altmanninger, K., Seidl, M., Wimmer, M.: A survey on model versioning approaches. IJWIS 5(3), 271–304 (2009)

    Google Scholar 

  4. Apiwattanapong, T., Orso, A., Harrold, M.J.: JDiff: A differencing technique and tool for object-oriented programs. Autom. Softw. Eng. 14(1), 3–36 (2007)

    Article  Google Scholar 

  5. Barrett, S., Chalin, P., Butler, G.: Table-driven detection and resolution of operation-based merge conflicts with mirador. In: France, R.B., Küster, J.M., Bordbar, B., Paige, R.F. (eds.) Proceedings of the 7th European Conference on Modelling Foundations and Applications (ECMFA). Lecture Notes in Computer Science, vol. 6698, pp. 329–344. Springer (2011)

  6. Briand, L.C., Labiche, Y., O’Sullivan, L., Sówka, M.M.: Automated impact analysis of UML models. J. Syst. Softw. 79(3), 339–352 (2006)

    Article  Google Scholar 

  7. Cicchetti, A., Ruscio, D.D., Pierantonio, A.: A metamodel independent approach to difference representation. J. Object Technol. 6(9), 165–185 (2007)

    Article  Google Scholar 

  8. Czarnecki, K., Wasowski, A.: Feature diagrams and logics: there and back again. In: Proceedings of the 11th International Conference on Software Product Lines (SPLC), pp. 23–34. IEEE Computer Society (2007)

  9. EMF Compare. http://www.eclipse.org/emf/compare/. Accessed 10 Aug 2016

  10. Eshuis, R.: Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15(1), 1–38 (2006)

    Article  Google Scholar 

  11. Fahrenberg, U., Acher, M., Legay, A., Wasowski, A.: Sound merging and differencing for class diagrams. In: Gnesi, S., Rensink, A. (eds.) Proceedings of the 17th International Conference on Fundamental Approaches to Software Engineering (FASE). Lecture Notes in Computer Science, vol. 8411, pp. 63–78. Springer (2014)

  12. Fahrenberg, U., Legay, A., Wasowski, A.: Vision paper: Make a difference! (semantically). In: Whittle, J., Clark, T., Kühne, T. (eds.): Model Driven Engineering Languages and Systems, 14th International Conference, MODELS 2011, Wellington, New Zealand, October 16–21, 2011. Proceedings, Lecture Notes in Computer Science, vol. 6981, pp. 490–500. Springer (2011)

  13. Fisler, K., Krishnamurthi, S., Meyerovich, L.A., Tschantz, M.C.: Verification and change-impact analysis of access-control policies. In: Roman, G., Griswold, W.G., Nuseibeh, B. (eds.) Proceedings of the 27th International Conference on Software Engineering (ICSE), pp. 196–205. ACM (2005)

  14. Gerth, C., Küster, J.M., Luckey, M., Engels, G.: Detection and resolution of conflicting change operations in version management of process models. Softw. Syst. Model. 12(3), 517–535 (2013)

    Article  Google Scholar 

  15. Harel, D., Rumpe, B.: Meaningful modeling: What’s the semantics of “semantics”? IEEE Comput. 37(10), 64–72 (2004)

    Article  Google Scholar 

  16. Jackson, D., Ladd, D.A.: Semantic Diff: A Tool for Summarizing the Effects of Modifications. In: Müller, H.A., Georges, M. (eds.) Proceedings of the International Conference on Software Maintenance (ICSM), pp. 243–252. IEEE Computer Society (1994)

  17. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)

    Google Scholar 

  18. Kehrer, T., Kelter, U., Taentzer, G.: A rule-based approach to the semantic lifting of model differences in the context of model versioning. In: Alexander, P., Pasareanu, C.S., Hosking, J.G. (eds.) Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 163–172 (2011)

  19. Kehrer, T., Kelter, U., Taentzer, G.: Consistency-preserving edit scripts in model versioning. In: 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 191–201 (2013)

  20. Küster, J.M., Gerth, C., Engels, G.: Dependent and conflicting change operations of process models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) Proceedings of the 5th European Conference on Model Driven Architecture- Foundations and Applications (ECMDA-FA). Lecture Notes in Computer Science, vol. 5562, pp. 158–173. Springer (2009)

  21. Küster, J.M., Gerth, C., Förster, A., Engels, G.: Detecting and resolving process model differences in the absence of a change log. In: Dumas, M., Reichert, M., Shan, M.C. (eds.) Proceedings of the 6th International Conference on Business Process Management (BPM). Lecture Notes in Computer Science, vol. 5240, pp. 244–260. Springer (2008)

  22. Langer, P., Mayerhofer, T., Kappel, G.: Semantic model differencing utilizing behavioral semantics specifications. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfrán, E. (eds.) Proceedings of the 17th International Conference on Model-Driven Engineering Languages and Systems (MODELS). Lecture Notes in Computer Science, vol. 8767, pp. 116–132. Springer (2014)

  23. Lin, Y., Gray, J., Jouault, F.: DSMDiff: a differentiation tool for domain-specific models. Eur. J. Inf. Syst. 16(4), 349–361 (2007)

    Article  Google Scholar 

  24. Lippe, E., van Oosterom, N.: Operation-based merging. In: Proceedings of the 5th ACM SIGSOFT Symposium on Software Development Environments (SDE), SDE 5, pp. 78–87. ACM, New York, NY, USA (1992)

  25. Maoz, S., Ringert, J.O., Rumpe, B.: A manifesto for semantic model differencing. In: Dingel, J., Solberg, A. (eds.) MODELS 2010 Workshops. Lecture Notes in Computer Science, vol. 6627, pp. 17–31. Springer (2011)

  26. Maoz, S., Ringert, J.O., Rumpe, B.: ADDiff: Semantic differencing for activity diagrams. In: Gyimóthy, T., Zeller, A. (eds.) Proceedings of the 19th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE) and 13rd European Software Engineering Conference (ESEC), pp. 179–189. ACM (2011)

  27. Maoz, S., Ringert, J.O., Rumpe, B.: An operational semantics for activity diagrams using SMV. Tech. Rep. AIB-2011-07, RWTH Aachen University (2011)

  28. Maoz, S., Ringert, J.O., Rumpe, B.: CD2Alloy: Class Diagrams Analysis Using Alloy Revisited. In: Whittle, J., Clark, T., Kühne, T. (eds.): Model Driven Engineering Languages and Systems, 14th International Conference, MODELS 2011, Wellington, New Zealand, October 16–21, 2011. Proceedings, Lecture Notes in Computer Science, vol. 6981, pp. 592–607. Springer (2011)

  29. Maoz, S., Ringert, J.O., Rumpe, B.: CDDiff: Semantic differencing for class diagrams. In: Mezini, M. (ed.) Proceedings of the 25th European Conference on Object Oriented Programming (ECOOP). Lecture Notes in Computer Science, vol. 6813, pp. 230–254. Springer (2011)

  30. Maoz, S., Ringert, J.O., Rumpe, B.: Summarizing semantic model differences. In: Models and Evolution Workshop at MODELS (2011)

  31. Maoz, S., Ringert, J.O., Rumpe, B.: Verifying component and connector models against crosscutting structural views. In: Jalote, P., Briand, L.C., van der Hoek, A. (eds.) Proceedings of the 36th International Conference on Software Engineering (ICSE), pp. 95–105. ACM (2014)

  32. Maoz, S., Ringert, J.O.: A framework for relating syntactic and semantic model differences. In: Lethbridge, T., Cabot, J., Egyed, A. (eds.) Proceedings of the 18th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 24–33 (2015)

  33. Rindt, M., Kehrer, T., Kelter, U., Pietsch, P.: Rules for Edit Operations in Class Diagrams. Tech. rep., University of Siegen (2012). Available from http://pi.informatik.uni-siegen.de/qudimo/download/RiKKP2011.pdf

  34. Störrle, H.: Making sense to modelers—presenting UML class model differences in prose. In: Hammoudi, S., Pires, L.F., Filipe, J., das Neves, R.C. (eds.) MODELSWARD, pp. 39–48. SciTePress (2013)

  35. Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: A fundamental approach to model versioning based on graph modifications: from theory to implementation. Softw. Syst. Model. 13(1), 239–272 (2014)

    Article  Google Scholar 

  36. Thüm, T., Batory, D.S., Kästner, C.: Reasoning about edits to feature models. In: Proceedings of the 31st International Conference on Software Engineering (ICSE), pp. 254–264. IEEE (2009)

Download references

Acknowledgments

We thank the anonymous reviewers of the MoDELS’15 conference paper and its present journal version for their helpful comments. Part of this work was done while SM was on sabbatical as visiting scientist at MIT CSAIL. JOR acknowledges support from a postdoctoral Minerva Fellowship, funded by the German Federal Ministry for Education and Research.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Shahar Maoz or Jan Oliver Ringert.

Additional information

Communicated by Dr. Jordi Cabot and Alexander Egyed.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Maoz, S., Ringert, J.O. A framework for relating syntactic and semantic model differences. Softw Syst Model 17, 753–777 (2018). https://doi.org/10.1007/s10270-016-0552-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0552-y

Keywords

Navigation