A Manifesto for Semantic Model Differencing
Models are heavily used in software engineering and together with their systems they evolve over time. Thus, managing their changes is an important challenge for system maintainability. Existing approaches to model differencing concentrate on heuristics matching between model elements and on finding and presenting differences at a concrete or abstract syntactic level. While showing some success, these approaches are inherently limited to comparing syntactic structures.
This paper is a manifesto for research on semantic model differencing. We present our vision to develop semantic diff operators for model comparisons: operators whose input consists of two models and whose output is a set of diff witnesses, instances of one model that are not instances of the other. In particular, if the models are syntactically different but there are no diff witnesses, the models are semantically equivalent. We demonstrate our vision using two concrete diff operators, for class diagrams and for activity diagrams. We motivate the use of semantic diff operators, briefly discuss the algorithms to compute them, list related challenges, and show their application and potential use as new fundamental building blocks for change management in model-driven engineering.
Unable to display preview. Download preview PDF.
- 3.Broy, M., Cengarle, M.V., Grönniger, H., Rumpe, B.: Definition of the System Model. In: Lano, K. (ed.) UML 2 Semantics and Applications. Wiley, Chichester (2009)Google Scholar
- 4.Cengarle, M.V., Grönniger, H., Rumpe, B.: System Model Semantics of Class Diagrams. Informatik-Bericht 2008-05, Technische Universität Braunschweig (2008)Google Scholar
- 5.Ebert, J., Kelter, U., Systä, T.: Workshop on comparison and versioning of software models (CVSM 2009). In: ICSE Companion, pp. 457–458 (2009)Google Scholar
- 10.Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
- 14.MontiCore project, http://www.monticore.org/
- 15.Ohst, D., Welle, M., Kelter, U.: Differences between versions of UML diagrams. In: Proc. ESEC / SIGSOFT FSE, pp. 227–236. ACM, New York (2003)Google Scholar
- 17.SMV model checker, http://www.cs.cmu.edu/~modelcheck/smv.html