blob: 4a44a5df1136c403e9ca5ec30c222544d1433555 [file] [log] [blame]
<p>
The <a href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.henshin">Henshin project</a>
provides a state-of-the-art model transformation language for the
<a href="http://www.eclipse.org/modeling/emf">Eclipse Modeling Framework</a>.
Henshin supports both direct transformations of EMF single model instances
(endogenous transformations), and translation of source model instances
into a target language (exogenous transformations).
</p>
<h2>Features</h2>
<p>
The Henshin language and toolset supports, among others, the following features:
<ul>
<li>Expressive <a href="https://wiki.eclipse.org/Henshin_Transformation_Meta-Model">transformation language</a> with a <a href="http://wiki.eclipse.org/Henshin_Graphical_Editor">graphical syntax</a></li>
<li>Pattern matching and control-flow constructs with parameter passing</li>
<li>Support for <a href="http://en.wikipedia.org/wiki/Model_transformation#Endogenous_versus_exogenous">endogenous and exogenous transformations</a></li>
<li>Natural treatment and efficient in-place execution of endogenous transformations</li>
<li>Arbitrary m-to-n exogenous transformations using a flexible generic <a href="http://wiki.eclipse.org/Henshin_Trace_Model">trace model</a></li>
<li>Formal graph transformation semantics</li>
<li>Arbitrary mixing of different graph transformation styles (<a href="http://en.wikipedia.org/wiki/Graph_rewriting">DPO/SPO</a>)</li>
<li>Efficient <a href="http://wiki.eclipse.org/Henshin_Interpreter">interpreter engine</a> based on constraint solving</li>
<li>Verification using <a href="http://wiki.eclipse.org/Henshin_State_Space_Tools">state space tools</a></li>
</ul>
</p>