Tired of manually maintaining collections of similar-but-yet-not-the-same meta-models? Frustrated for having to develop yet-another-transformation-variant for these meta-models? Then you are in the right place: Merlin is a tool to engineer and analyse meta-model product lines, and their associated transformation product lines.
Merlin extends FeatureIDE to create feature models and build meta-model products. Meta-model product lines can be analysed syntactically for well-formedness, including the associated OCL constraints. It is also possible to analyse instance level properties (i.e., properties of the instance models of the meta-models of the product line), using constraint solving techniques. Merlin uses the USE validator for this purpose.
On top of meta-model product lines, Merlin also supports the creation and analysis of transformation product lines using the Epsilon model management languages. While we provide built-in support for OCL and Epsilon, Merlin is open to other transformation languages.
Property satisfiability analysis for product lines of modelling languages. 2022. Esther Guerra, Juan de Lara, Marsha Chechik, Rick Salay. IEEE Transactions on Software Engineering (IEEE Computer Society). Volume 48, Issue 2. pp.: 397-416. [PDF]
Model transformation product lines. 2018. Juan de Lara, Esther Guerra, Marsha Chechik, Rick Salay. MODELS'2018: ACM/IEEE 21th International Conference on Model Driven Engineering Languages and Systems, (Copenhagen) (ACM). [PDF]