Fine-grained metamodel-assisted model comparison

  • Authors:
  • Mark van den Brand;Zvezdan Protić;Tom Verhoeff

  • Affiliations:
  • Eindhoven University of Technology, AZ, Eindhoven;Eindhoven University of Technology, AZ, Eindhoven;Eindhoven University of Technology, AZ, Eindhoven

  • Venue:
  • Proceedings of the 1st International Workshop on Model Comparison in Practice
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we consider two major concerns in the process of comparing two models -- representation and calculation of model differences. Based on previous work, we adopt a set of requirements which a difference representation should satisfy in order to be seamlessly used in Model Driven Engineering environments. Given these requirements, we represent model differences by means of a differences model, which conforms to a differences metamodel. We show that the traditional meta-modeling approaches, which conform to the four-layered meta-modeling architecture, lack means for the specification of differences metamodels which fully satisfy the specified requirements. Consequently, we specify a metametamodel which offers a different view on the traditional metamodeling approaches and we use it to define the differences metamodel which fully satisfies the specified requirements. Traditional approaches to difference calculation consider models as trees, and use the structure provided by these trees to guide the calculation process. The calculation algorithms used in those approaches are based on matching elements in one model to elements in another model by using one of the following four types of matching: static-identity, signature-based, similarity-based, and language-specific. We adopt the same philosophy, but unlike the traditional approaches which have a fixed calculation algorithm and a fixed matching type, we provide a calculation algorithm that is highly configurable and is designed such that all four traditional types of matching can be used together. As a proof-of-concept we have implemented a tool which allows representation, calculation, and visualization of model differences.