Ontology-based Model Comparison.
Katharina Wolter, Thorsten Krebs, Lothar Hotz · 2007
Abstract. This paper proposes an ontology-based approach for comparing software products modelled with UML. An ontology is used that defines the structure of all software products developed so far or even all products that can be developed using the specified architecture. Using such an ontology the models of different software products can be compared more effectively. 1. Problems in Comparing UML Models UML (Unified Modelling Language1) models are often used to specify software products. The modelling facilities of UML include, among others, classes that can be used to represent the product's components (of any kind), attributes that describe properties of a class, specialisation relations for modelling a taxonomic hierarchy of classes and compositional relations (i.e. aggregation and composition) for modelling a partonomy of classes. With these modelling facilities the product architecture can be specified. Typically, one UML model represents one software product. This means that for every product a new model is created and that there is no direct relation between the models of different products. Comparing products – i.e. comparing models – is hampered by the fact that there is no such relation between the different product models. A lexical comparison, for example can test for occurrence of classes with identical names in different models, but the outcome of this comparison heavily depends on the naming of classes. Two semantically identical classes with different names will not be recognised as being identical or similar when using a lexical comparison. The properties and relations of a class have to be compared rather than their names. Single classes can be compared according to their position in the taxonomy: distance in the taxonomic hierarchy is a heuristic similarity measure. Sub-graphs of classes can be compared according to their compositional relations: comparing parts in partonomy is a heuristic similarity measure, as well.