| |
| <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> |
| |
| <p> |
| Henshin is a joint project by developers at |
| the <a href="http://www.uni-marburg.de/index_html-en?set_language=en">Philipps-University</a> in Marburg, |
| the <a href="http://www.hpi.uni-potsdam.de/willkommen.html?L=1">Hasso Plattner Institute</a> in Potsdam and |
| the <a href="http://www.tu-berlin.de/menue/home/parameter/en/">Technical University of Berlin</a>. |
| </p> |
| |
| <h2>Features</h2> |
| |
| <p> |
| The Henshin language and toolset supports, among others, the following features: |
| <ul> |
| <li>Support for endogenous and exogenous transformations</li> |
| <li>Natural treatment and efficient in-place execution of endogenous transformations</li> |
| <li>Arbitrary n-to-n exogenous transformations using a flexible generic <a href="http://wiki.eclipse.org/Henshin_Trace_Model">trace model</a></li> |
| <li>Intuitive transformation language 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>Formal graph transformation semantics</li> |
| <li>Arbitrary mixing of different graph transformation styles (DPO/SPO)</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_Statespace_Explorer">model checking and state space visualization</a></li> |
| </ul> |
| </p> |
| |