The UML as a Formal Modeling Notation
«UML» '98 Selected papers from the First International Workshop on The Unified Modeling Language «UML»'98: Beyond the Notation
Differences between versions of UML diagrams
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Differencing logical UML models
Automated Software Engineering
Software Evolution
Models in Conflict --- Towards a Semantically Enhanced Version Control System for Models
Models in Software Engineering
Dependent and Conflicting Change Operations of Process Models
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Workshop on comparison and versioning of software models (CVSM 2009)
ICSE '09 COMPANION Proceedings of the 2009 31st International Conference on Software Engineering: Companion Volume
MontiCore: a framework for compositional development of domain specific languages
International Journal on Software Tools for Technology Transfer (STTT)
JTLV: a framework for developing verification algorithms
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Using a model merging language for reconciling model versions
ECMDA-FA'06 Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications
ADDiff: semantic differencing for activity diagrams
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
CDDiff: semantic differencing for class diagrams
Proceedings of the 25th European conference on Object-oriented programming
Vision paper: make a difference! (semantically)
Proceedings of the 14th international conference on Model driven engineering languages and systems
MMDiff: a modeling tool for metamodel comparison
Proceedings of the 50th Annual Southeast Regional Conference
Towards semantics-aware merge support in optimistic model versioning
MODELS'11 Proceedings of the 2011th international conference on Models in Software Engineering
CAiSE'12 Proceedings of the 24th international conference on Advanced Information Systems Engineering
An introduction to model versioning
SFM'12 Proceedings of the 12th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: formal methods for model-driven engineering
Searching for model migration strategies
Proceedings of the 6th International Workshop on Models and Evolution
Hi-index | 0.00 |
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.