Skip to main content
Top
Published in: Software and Systems Modeling 3/2018

12-08-2016 | Special Section Paper

A framework for relating syntactic and semantic model differences

Authors: Shahar Maoz, Jan Oliver Ringert

Published in: Software and Systems Modeling | Issue 3/2018

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

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.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Footnotes
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]
 
Literature
1.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference Altmanninger, K., Seidl, M., Wimmer, M.: A survey on model versioning approaches. IJWIS 5(3), 271–304 (2009) Altmanninger, K., Seidl, M., Wimmer, M.: A survey on model versioning approaches. IJWIS 5(3), 271–304 (2009)
4.
go back to reference 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)CrossRef 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)CrossRef
5.
go back to reference 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) 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.
go back to reference 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)CrossRef 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)CrossRef
7.
go back to reference Cicchetti, A., Ruscio, D.D., Pierantonio, A.: A metamodel independent approach to difference representation. J. Object Technol. 6(9), 165–185 (2007)CrossRef Cicchetti, A., Ruscio, D.D., Pierantonio, A.: A metamodel independent approach to difference representation. J. Object Technol. 6(9), 165–185 (2007)CrossRef
8.
go back to reference 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) 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)
10.
go back to reference Eshuis, R.: Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15(1), 1–38 (2006)CrossRef Eshuis, R.: Symbolic model checking of UML activity diagrams. ACM Trans. Softw. Eng. Methodol. 15(1), 1–38 (2006)CrossRef
11.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference 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)CrossRef 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)CrossRef
15.
go back to reference Harel, D., Rumpe, B.: Meaningful modeling: What’s the semantics of “semantics”? IEEE Comput. 37(10), 64–72 (2004)CrossRef Harel, D., Rumpe, B.: Meaningful modeling: What’s the semantics of “semantics”? IEEE Comput. 37(10), 64–72 (2004)CrossRef
16.
go back to reference 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) 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.
go back to reference Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006) Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)
18.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference Lin, Y., Gray, J., Jouault, F.: DSMDiff: a differentiation tool for domain-specific models. Eur. J. Inf. Syst. 16(4), 349–361 (2007)CrossRef Lin, Y., Gray, J., Jouault, F.: DSMDiff: a differentiation tool for domain-specific models. Eur. J. Inf. Syst. 16(4), 349–361 (2007)CrossRef
24.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference Maoz, S., Ringert, J.O., Rumpe, B.: An operational semantics for activity diagrams using SMV. Tech. Rep. AIB-2011-07, RWTH Aachen University (2011) 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.
go back to reference 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) 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.
go back to reference 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) 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.
go back to reference Maoz, S., Ringert, J.O., Rumpe, B.: Summarizing semantic model differences. In: Models and Evolution Workshop at MODELS (2011) Maoz, S., Ringert, J.O., Rumpe, B.: Summarizing semantic model differences. In: Models and Evolution Workshop at MODELS (2011)
31.
go back to reference 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) 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.
go back to reference 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) 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)
34.
go back to reference 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) 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.
go back to reference 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)CrossRef 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)CrossRef
36.
go back to reference 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) 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)
Metadata
Title
A framework for relating syntactic and semantic model differences
Authors
Shahar Maoz
Jan Oliver Ringert
Publication date
12-08-2016
Publisher
Springer Berlin Heidelberg
Published in
Software and Systems Modeling / Issue 3/2018
Print ISSN: 1619-1366
Electronic ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-016-0552-y

Other articles of this Issue 3/2018

Software and Systems Modeling 3/2018 Go to the issue

Premium Partner