TY - JOUR
T1 - A framework for relating syntactic and semantic model differences
AU - Maoz, Shahar
AU - Ringert, Jan Oliver
N1 - Publisher Copyright:
© 2016, Springer-Verlag Berlin Heidelberg.
PY - 2018/7/1
Y1 - 2018/7/1
N2 - 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.
AB - 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.
KW - Model differencing
KW - Model evolution
KW - Semantics
UR - http://www.scopus.com/inward/record.url?scp=84982131014&partnerID=8YFLogxK
U2 - 10.1007/s10270-016-0552-y
DO - 10.1007/s10270-016-0552-y
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:84982131014
SN - 1619-1366
VL - 17
SP - 753
EP - 777
JO - Software and Systems Modeling
JF - Software and Systems Modeling
IS - 3
ER -