MetaDiff - Framework for Model Comparison

Welcome to MetaDiff! MetaDiff framework is an extensible comparison solution for modelling artifacts. Framework supports convenient way to add new implementations of comparison and matching algorithms and provides practical way of working with different meta-models. Main auditory for this framework are univesity students and researchers interested in model management area and willing to expiriment with model driven development tools. Domain specific language developers could also benefit from using MetaDiff to implement model comparison solutions for their languages.

Quick Overview

If you take usual code centric development environment then you will find features like integrated version control, merge and comparison of version differences, and other features that make development in teams possible and convenient. However, most of those features are oriented to flat text files and are only suitable for conventional programming language based development. Transferring those features to model driven development tools is not straightforward and therefore a number of problems exist which yet have to be addressed by
researchers and practitioners in this field.

The MetaDiff framework is an extensible comparison solution for modelling artifacts. Core of the framework is collection of interfaces or so called Extension Template. Main requirement for this Extension Template is to assure that the framework supports convenient way to add new implementations of matching and comparison algorithms. In addition, the framework should also provide practical way of working with different meta-models, i.e., different modelling languages.

The framework is using open source Java implementations of MOF standard (Eclipse EMF and NetBeans MDR). Those implementations are able to load meta-model of MOF itself and enable user to instantiate it, that is creating their own meta-models. The implementations also provide a way to generate Java API to programmatically access meta-model level information.

There are two application examples of MetaDiff framework available right now. It should be the best way to learn MetaDiff functionality following those example.

If you feel like you would like to get involved, don't hesitate! There are several ways in which you can contribute to MetaDiff project:

  • Simply your your comments, feedback, and ideas to interactive MetaDiff Wiki page
  • Join the MetaDiff Yahoo! Discussion Group, report your experiences and exchange thoughts with others.
  • Contribute to the code base with integration of new MOF implementations, new meta-models and implementation of new comparison algorithms.

Last updated: 03 September 2006