TU Berlin, TFS
Henshin
Henshin (Japanese for "transformation") is a development environment supporting the visual modeling and execution of rule-based EMF transformations. The Henshin Editor is based on the Henshin subproject of Eclipse EMFT www.eclipse.org/modeling/emft/) that integrates the Henshin modeling language as Eclipse plug-in.
Henshin supports model transformation "in-place". This means that a transformation does not generate a new model but changes the instance model directly. In Henshin, we define EMF transformation systems that have two basic kinds of elements: graphs (EMF instance models) and transformation units. The simplest transformation unit is a transformation rule consisting of a pre-condition graph (left-hand side LHS) and a post-condition graph (right-hand side RHS). A transformation rule is applied to an EMF instance model by finding the pre-condition graph in the model and replacing it by the post-condition graph. Rule application may be restricted by defining additional application conditions for a rule. More complex transformation units like sequences, IF-THEN-ELSE blocks or counted units are composed from simpler transformation units. A transformation unit is applied by applying its subunits in the predefined order automatically. Using transformation units, complex transformations containing any number of rule applications can be performed.
Visual Multi-View Henshin-Editor
The Visual Henshin Editor provided at this site was developed in a student project (visual languages and tools) at Technische Universität Berlin in 2010, and extended in the bachelor thesis of Johann Schmidt and the master thesis of Angeline Warning, both supervised by Enrico Biermann and Claudia Ermel.
The Henshin-Editor User Manual explains the available visual editors to define EMF transformation systems, i.e. graphs, transformation rules, application conditions and transformation units for complex EMF transformation. Moreover, we explain how transformation rules and units are applied to transform EMF instance models typed over arbitrary EMF models and how EMF graphs are checked for EMF consistency (objects are contained in exactly one container, and there are no containment cycles). Rules can be validated to ensure that their application will never destroy EMF consistency of consistent EMF instance models.
If you have any questions please don't hesitate to contact the
Henshin Developer Team.
Henshin-Editor Documentation and Papers on Henshin
- Enrico Biermann, Claudia Ermel, Johann Schmidt and Angeline Warning: Henshin-Editor User Manual
- Enrico Biermann, Claudia Ermel, Johann Schmidt and Angeline Warning: Visual Modeling of Controlled EMF Model Transformation using Henshin.
Proc. of Workshop on Graph-Based Tools (GraBaTs10), ECEASST, Vol. 32, 2010.
- Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause and Gabriele Taentzer: Henshin: Advanced Concepts and Tools for
In-Place EMF Model Transformations.
Proc. of Int. Conf. on Model Driven Engineering Languages and Systems (MODELS10), Springer-Verlag, LNCS 6394, pages 121-135, 2010.
- Johann Schmidt: Entwicklung eines visuellen Editors zur Steuerung von EMF-Modelltransformationen (in German).
Bachelor thesis, TU Berlin, 2010.
- Angeline Warning: Entwicklung eines visuellen Editors für Anwendungsbedingungen und amalgamierte Regeln zur Flexibilisierung von EMF-Modelltransformationen (in German).
Diploma thesis, TU Berlin, 2010.
- Enrico Biermann, Claudia Ermel, Gabriele Taentzer: Formal Semantics of Consistent EMF Model Transformations by Algebraic Graph Transformation.
Journal on Software & Systems Modeling, DOI 10.1007/s10270-011-0199-7, Springer-Verlag, 2011.
Software Requirements and Installation
Now, EMF transformation systems can be defined and applied in the Eclipse Runtime Workbench.
Copyright
Henshin is subproject of the Eclipse EMFT project. It may be used respecting the Eclipse copyright license (Terms and Conditions of Use for the Eclipse Foundation Web Site ). The Henshin Editor provided on this site is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your option) any later version.