The Henshin project provides a state-of-the-art model transformation language for the Eclipse Modeling Framework. Henshin supports both direct transformations of EMF single model instances (endogenous transformations), and translation of source model instances into a target language (exogenous transformations).
FeaturesThe Henshin language and tool set supports, among others, the following features:
- Expressive transformation language with a graphical syntax
- Pattern matching and control-flow constructs with parameter passing
- Support for endogenous and exogenous transformations
- Natural treatment and efficient in-place execution of endogenous transformations
- Arbitrary m-to-n exogenous transformations using a flexible generic trace model
- Formal graph transformation semantics
- Arbitrary mixing of different graph transformation styles (DPO/SPO)
- Efficient interpreter engine based on constraint solving
- Verification using state space tools
- Code generator for Apache Giraph
- Conflict and dependency detection in transformations using critical pair analysis
- 06-01-2020: Henshin 1.6 released with textual syntax, variant management, conflict and dependency analysis and more (see our announcement).
- 17-06-2016: Henshin 1.4 released with critical pair analysis, parameter kinds, and lots of bugfixes.
- 06-02-2015: Henshin 1.2 released! Check out the new Giraph code generator
- 28-12-2014: Bugfix release 184.108.40.206412281229 fixes a problem in the handling of PACs in the interpreter
- 16-08-2014: Henshin 220.127.116.11408162130: Bugfix release
- 28-07-2014: Henshin 1.0 released!
- 01-12-2013: Version 0.9.10 released with bugfixes and a code generator for Apache Giraph.
- 28-05-2013: Version 0.9.8 released with support for edge indices and several bugfixes.
- 01-03-2013: Version 0.9.6 released with many editor improvements and better handling of multi-valued attributes.
- 06-11-2012: Version 0.9.4 released with lots of bug-fixes and new features.
- 19-06-2012: Version 0.9.2 released with new interpreter API, performance improvements and bugfixes, support for IteratedUnits, logging, profiling and more.
- 03-04-2012: Version 0.9.0 released!
- 17-10-2011: Update 0.8.0 R201110170738 released which adds support for parameter types in the interpreter wizard
- 21-09-2011: Henshin SDK 0.8.0 released