Henshin is an in-place model transformation language for the Eclipse Modeling Framework (EMF). It supports direct transformations of EMF model instances (endogenous transformations), as well as generating instances of a target language from given instances of a source language (exogenous transformations). Its main features are:
- Support for endogenous as well as exogenous transformations
- Natural treatment and efficient in-place execution of endogenous transformations
- Meta-model and graphical syntax and textual syntax for transformations
- Rule-based with transformation units controlling rule application
- Support for rule variants
- Support for massive parallel rule execution using Apache Giraph
- State space analysis for verification
- Support for conflict and dependency analysis
- Automated rule generation
- Integration with Xtext
- A performance profiler to identify slow spots
Please refer to the official Henshin website for installation instructions and a tutorial showing the first steps in Henshin.
Look at the Henshin meta-model for more information about how model transformations are specified in Henshin and what their capabilities are. Details about rule creation and rule application can be found in the articles about the graphical editor and the interpreter.