What editors are available for defining Henshin transformations?
There are currently two editors available for Henshin: a tree-based one (EMF) and a graphical one (GMF). For a short introduction on transformation rules see the Henshin Graphical Editor page.
How can I execute transformations?
Use the Henshin Interpreter to execute transformations.
What sort of automatic analysis is supported?
You can use the Henshin Statespace Explorer to generate a state space for a transformation system, check structural invariants and do model checking.
After installing an update of Henshin, I cannot open my transformation anymore!
Migrate your old Henshin files using the Henshin Migration Wizard.
How can I use dynamic EMF with Henshin?
Define your Ecore models as usual. Make sure you use set the namespace URIs and prefixes for all packages. To use the packages in Henshin, right-click in the Henshin editor and select Import Package -- From Workspace and choose the packages from your Ecore files. To create an dynamic instance model, right-click on an Ecore file and select Henshin -- Create Dynamic Instance. This will create an XMI file which you can then edit in the Sample Reflective Model Editor of EMF.
Does Henshin support automatic tracing for exogenous transformations?
Henshin follows a rewrite approach. Tracing is not build into the transformation language but can be easily realized using a generic Henshin Trace Model.
How can I define a higher-order (HO) transformation in Henshin?
Import the Henshin and the Ecore metamodel into your transformation (import from the registry and use the runtime versions). Check out the examples repository on our website for more details.
Why is my rule with a String constant not matched even though the constant is correct?
The attribute in the Henshin rule must look like this: "CONSTANT" where CONSTANT is the string to be matched. Make sure you use double quotes here. In the instance model, the object's attribute must have the value CONSTANT -- in the EMF editor you must not use any quotes here!