Sound Merging and Differencing for Class Diagrams

  • Uli Fahrenberg
  • Mathieu Acher
  • Axel Legay
  • Andrzej Wąsowski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8411)


Class diagrams are among the most popular modeling languages in industrial use. In a model-driven development process, class diagrams evolve, so it is important to be able to assess differences between revisions, as well as to propagate differences using suitable merge operations. Existing differencing and merging methods are mainly syntactic, concentrating on edit operations applied to model elements, or they are based on sampling: enumerating some examples of instances which characterize the difference between two diagrams. This paper presents the first known (to the best of our knowledge) automatic model merging and differencing operators supported by a formal semantic theory guaranteeing that they are semantically sound. All instances of the merge of a model and its difference with another model are automatically instances of the second model. The differences we synthesize are represented using class diagram notation (not edits, or instances), which allows creation of a simple yet flexible algebra for diffing and merging. It also allows presenting changes comprehensively, in a notation already known to users.


Class Diagram Activity Diagram Abstract Syntax Edit Operation Concrete Syntax 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Acher, M., Combemale, B., Collet, P., Barais, O., Lahire, P., France, R.B.: Composing your compositions of variability models. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 352–369. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  2. 2.
    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.) CAiSE 2012. LNCS, vol. 7328, pp. 629–645. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  3. 3.
    Alanen, M., Porres, I.: Difference and union of models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 2–17. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Antonik, A., Huth, M., Larsen, K.G., Nyman, U., Wąsowski, A.: EXPTIME-complete decision problems for modal and mixed specifications. Electr. Notes Theor. Comput. Sci. 242(1), 19–33 (2009)Google Scholar
  5. 5.
    Beneš, N., Křetínský, J., Larsen, K.G., Srba, J.: EXPTIME-completeness of thorough refinement on modal transition systems. Inf. Comput. 218, 54–68 (2012)Google Scholar
  6. 6.
    Bibliography on comparison and versioning of software models,
  7. 7.
    Brunet, G., Chechik, M., Easterbrook, S., Nejati, S., Niu, N., Sabetzadeh, M.: A manifesto for model merging. In: GaMMa 2006, pp. 5–12. ACM (2006)Google Scholar
  8. 8.
    Brunet, G., Chechik, M., Uchitel, S.: Properties of behavioural model merging. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 98–114. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Euzenat, J., Shvaiko, P.: Ontology matching. Springer (2007)Google Scholar
  10. 10.
    Fahrenberg, U., Legay, A., Wąsowski, A.: Vision paper: Make a difference (semantically). In: Whittle, et al. (eds.) [24], pp. 490–500Google Scholar
  11. 11.
    France, R.B., Fleurey, F., Reddy, R., Baudry, B., Ghosh, S.: Providing support for model composition in metamodels. In: EDOC, pp. 253–266. IEEE (2007)Google Scholar
  12. 12.
    Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: ICSE 2011. ACM (2011)Google Scholar
  13. 13.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Merging models with the epsilon merging language (EML). In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 215–229. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Kolovos, D.S., Di Ruscio, D., Pierantonio, A., Paige, R.F.: Different models for model matching: An analysis of approaches to support model differencing. In: CVSM/ICSE, pp. 1–6. IEEE (2009)Google Scholar
  15. 15.
    Maoz, S., Ringert, J.O., Rumpe, B.: ADDiff: semantic differencing for activity diagrams. In: ESEC/FSE, pp. 179–189. ACM (2011)Google Scholar
  16. 16.
    Maoz, S., Ringert, J.O., Rumpe, B.: CDDiff: Semantic differencing for class diagrams. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 230–254. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Maoz, S., Ringert, J.O., Rumpe, B.: A manifesto for semantic model differencing. In: Dingel, J., Solberg, A. (eds.) MODELS 2010. LNCS, vol. 6627, pp. 194–203. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Maoz, S., Ringert, J.O., Rumpe, B.: Semantically configurable consistency analysis for class and object diagrams. In: Whittle, et al. (eds.) [24], pp. 153–167Google Scholar
  19. 19.
    Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: ICSE, pp. 54–64. IEEE (2007)Google Scholar
  20. 20.
    Reddy, Y.R., Ghosh, S., France, R.B., Straw, G., Bieman, J.M., McEachen, N., Song, E., Georg, G.: Directives for composing aspect-oriented design class models. In: Rashid, A., Akşit, M. (eds.) Transactions on AOSD I. LNCS, vol. 3880, pp. 75–105. Springer, Heidelberg (2006)Google Scholar
  21. 21.
    Rubin, J., Chechik, M.: Combining related products into product lines. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 285–300. Springer, Heidelberg (2012)Google Scholar
  22. 22.
    Rubin, J., Chechik, M.: Quality of merge-refactorings for product lines. In: Cortellessa, V., Varró, D. (eds.) FASE 2013. LNCS, vol. 7793, pp. 83–98. Springer, Heidelberg (2013)Google Scholar
  23. 23.
    Sabetzadeh, M., Nejati, S., Easterbrook, S.M., Chechik, M.: Global consistency checking of distributed models with TReMer+. In: ICSE, pp. 815–818 (2008)Google Scholar
  24. 24.
    Whittle, J., Clark, T., Kühne, T. (eds.): MODELS 2011. LNCS, vol. 6981. Springer, Heidelberg (2011)Google Scholar
  25. 25.
    Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object-oriented design differencing. In: ASE, pp. 54–65. ACM (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Uli Fahrenberg
    • 1
  • Mathieu Acher
    • 1
    • 2
  • Axel Legay
    • 1
  • Andrzej Wąsowski
    • 3
  1. 1.IRISA / Inria RennesFrance
  2. 2.University of Rennes 1France
  3. 3.IT University of CopenhagenDenmark

Personalised recommendations