Henshin
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:
Basic transformation definition and execution
- Rule-based transformation paradigm with units for managing control flow of rules
- Graphical and textual syntax, based on a transformation meta-model
- Native support for endogenous transformations; support of exogenous transformations via traces
- Efficient in-place execution of transformations using a dedicated interpreter with debugging support
Analysis
- A performance profiler to identify slow spots
- Support for conflict and dependency analysis
- State space analysis for verification
Advanced rule definition
- Support for rule variants
- Support for automated rule generation
- Support for generating application conditions from OCL constraints
Integration with other tools
- Integration with Xtext
- Support for massive parallel rule execution using Apache Giraph
Getting started
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.