EMF Customizer is a model (Ecore based) customization/styling/refining CSS like textual DSL (Domain Specific Language) targeting MDSD tool chains end users.
News
- 16 October 2009 - EMF-Customizer won 4th place of the Itemis Xtext Model Prize Laureate :)
Motivation
The motivation is to address the problem of customizing intermediate models in a Eclipse EMF based MDSD M2M (Model to Model transformation) toolchain such as Acceleo or openArchitectureWare in order to be able to do incremental model to model transformations while preserving user model refinements.
Currently, solutions exist to customize generated text with user code in model to text (M2T) transformations using either protected code regions or inheritance. This is a solved problem. But, as of today, there doesn't seem to be any such equivalent for customizing transformed models in model to model (M2M) transformations which is both freely available, simple to use and aimed at MDSD end users.
We strongly believe in the advantages of M2M over M2T based MDSD architectures, but being able to customize models in M2M chains is as critical as being able to customize generated code in M2T chains.
For these reasons, we decided to develop our own answer to this problem.
Status
EMF Customizer is no more a proof of concept but is not yet fully feature complete and should be considered alpha quality software because anything might change anytime (DSL and API). Some design decisions have not yet been finalized.
Internally, we're currently deploying it on a few projects in order to get feedback.
We're releasing it to the public early in order to get more feedback from a wider community so as to adjust the design as early as possible.
What it's not
The goal is not to create yet another full blown transformation language, it targets end user developers who are not familiar at all with metamodeling and model to model transformation languages. It therefore looks like CSS, and keeps its semantics: cascading, id selectors, type selectors, ... .
Quick start
About
EMF Customizer is an original idea published by Cédric Vidal, JEE & MDSD Architect at ProxiAD Group, as a proof of concept named EMF Styling on OPS4j and has since been industrialized by ProxiAD Group. It is now used internally in our MDSD toolchain.
Over at ProxiAD Group, we're heavily using the ecosystem of Eclipse technologies spanning Modeling, Code generation, quality, IDE and runtime technologies so we decided to give back this little contribution to the community hoping it would be useful to others.