Abstract. This paper discusses the difference and union of models in the context of a version control system. We show three metamodelindependent algorithms that calculate the difference between two models, merge a model with the difference of two models and calculate the union of two models. We show how to detect union conflicts and how they can be resolved either automatically or manually. We present an application of these algorithms in a version control system for MOF-based models.
In this article, we describe successive versions of a metamodeling language using a set-theoretic formalization. We focus on language extension mechanisms, particularly on the relatively new subset and union properties of MOF 2.0 and the UML 2.0 Infrastructure. We use Liskov substitutability as the rationale for our formalization. We also show that property redefinitions are not a safe language extension mechanism. Each language version provides new features, and we note how such features cannot be mixed arbitrarily. Instead, constraints over the metamodel and model structures must be established. We expect that this article provides a better understanding of the foundations of MOF 2.0, which is necessary to define new extensions, model transformation languages and tools.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.