Improve the quality of your EMF-based models!
In this talk, we present an integrated and flexible framework for quality assurance of models which are based on the Eclipse Modeling Framework (EMF). Ths set will be an essential new part of the forthcoming release of the Eclipse incubation project EMF Refactor. From the user's point of view we show how metrics and smells are reported and refactorings are performed on arbitrary EMF instance models. Afterwards, we present how new metrics, smells, or refactorings (e.g., for your own DSML) can be integrated using several concrete specification languages (e.g., Java, OCL, or the EMF model transformation language Henshin).
Models are primary artifacts in model-driven software development processes. Therefore, software quality assurance frequently leads back to the quality assurance of the involved models. Such a model quality assurance process can be performed based on static model analysis and uses techniques like model metrics and model smells. Based on the outcome of the model analysis, appropriate model refactoring steps can be performed.
A common open source technology in model-based software development is the Eclipse Modeling Framework (EMF). Besides the opportunity to support domain-specific modeling languages (DSMLs), also more general languages like the UML are supported and some commercial modeling products (e.g., IBM Rational Software Architect) rely on the UML2EMF technology.
Tools and example metrics, smells, and refactoring for UML2EMF models can actually be downloaded from the web site of the Eclipse incubation project EMF Refactor (Downloads > Specials). It is planned to integrate the tools for smell detection and metrics calculation in the forthcoming release of EMF Refactor. On this web site you also find slides concerning a tutorial held at ECMFA 2012 on July 2, 2012.