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
Resources
- Official website
- Installation instructions
- Getting started
- Wiki with comprehensive documentation
- Examples
- FAQ
- Release Notes
- Projects that use Henshin