Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Henshin"

 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Image:Henshin_small.png|200px|right|Henshin logo]]
 
[[Image:Henshin_small.png|200px|right|Henshin logo]]
 +
 +
''Important links:'' [[Henshin/Installation instructions|Installation instructions]] |  [[Henshin/Getting started|Getting started]] |  [[Henshin/Examples|Examples]]  | [[Henshin/FAQ|FAQ]]
 +
 
'''Henshin''' is an in-place model transformation language for the [[Eclipse Modeling Framework]] (EMF). It supports direct transformations of EMF model instances (endogenous transformations), as well as generating instances of a target language from given instances of a source language (exogenous transformations). Its main features are:  
 
'''Henshin''' is an in-place model transformation language for the [[Eclipse Modeling Framework]] (EMF). It supports direct transformations of EMF model instances (endogenous transformations), as well as generating instances of a target language from given instances of a source language (exogenous transformations). Its main features are:  
  
*Support for endogenous as well as [[Henshin/Trace Model|exogenous]] transformations
+
'''Basic transformation definition and execution'''
*Natural treatment and efficient [[Henshin/Interpreter|in-place execution]] of endogenous transformations
+
* [[Henshin/Graphical_Editor#Editing_Transformation_Rules|Rule]]-based transformation  paradigm with [[Henshin/Units|units]] for managing control flow of rules
*[[Henshin/Transformation Meta-Model|Meta-model]] and [[Henshin/Graphical Editor|graphical syntax]] and [[Henshin/Textual Editor|textual syntax]] for transformations
+
* [[Henshin/Graphical Editor|Graphical]] and [[Henshin/Textual Editor|textual syntax]], based on a transformation [[Henshin/Transformation Meta-Model|meta-model]]
*[[Henshin/Graphical_Editor#Editing_Transformation_Rules|Rule]]-based with transformation [[Henshin/Units|units]] controlling rule application
+
* Native support for endogenous transformations;  support of exogenous transformations via [[Henshin/Trace Model|traces]]
*Support for [[Henshin/Variant Management|managing rule variants]]  
+
* Efficient in-place execution of transformations using a dedicated [[Henshin/Interpreter|interpreter]] with debugging support
*[[Henshin/State Space Tools|State space analysis]] for verification
+
 
*Support for [[Henshin/Code Generator for Giraph|massive parallel rule execution]] using Apache Giraph
+
 
 +
'''Analysis'''
 +
*A [[Henshin/Performance Profiler|performance profiler]] to identify slow spots 
 
*Support for [[Henshin/Conflict and Dependency Analysis|conflict and dependency analysis]]
 
*Support for [[Henshin/Conflict and Dependency Analysis|conflict and dependency analysis]]
*Automated [[Henshin/Rule Generation|rule generation]]
+
*[[Henshin/State Space Tools|State space analysis]] for verification
*Integration with [[Henshin/Xtext Adapter|Xtext]]
+
  
=== Getting started ===
+
<br />
Please refer to the official Henshin website for [https://www.eclipse.org/henshin/install.php installation instructions] and a [https://www.eclipse.org/henshin/examples.php?example=bank tutorial] showing the first steps in Henshin.<br>
+
'''Advanced rule definition'''
Look at the [[Henshin/Transformation Meta-Model|Henshin meta-model]] for more information about how model transformations are specified in Henshin and what their capabilities are. Details about rule creation and rule application can be found in the articles about the [[Henshin/Graphical Editor|graphical editor]] and the [[Henshin/Interpreter|interpreter]].
+
*Support for [[Henshin/Variant Management|rule variants]]
 +
*Support for [[Henshin/Rule Generation|automated rule generation]]
 +
*Support for [[Henshin/OCL2AC|generating application conditions from OCL constraints]]
 +
 
 +
<br />
 +
'''Integration with other tools'''
 +
*Integration with [[Henshin/Xtext Adapter|Xtext]]
 +
*Support for [[Henshin/Code Generator for Giraph|massive parallel rule execution]] using Apache Giraph
  
 
=== Resources ===
 
=== Resources ===
  
 
* [http://www.eclipse.org/modeling/emft/henshin Official website]
 
* [http://www.eclipse.org/modeling/emft/henshin Official website]
 +
* [[Henshin/Installation instructions|Installation instructions]]
 +
* [[Henshin/Getting started|Getting started]]
 +
* [[Henshin/Examples|Examples]] 
 
* [[Henshin/FAQ|FAQ]]
 
* [[Henshin/FAQ|FAQ]]
 +
* [[Henshin/Release Notes|Release Notes]]
 
* [[Henshin/Committer Instructions|Committer Instructions]]
 
* [[Henshin/Committer Instructions|Committer Instructions]]
 +
* [[Henshin/Projects|Projects that use Henshin]]
  
 
=== Screenshots ===
 
=== Screenshots ===

Latest revision as of 14:24, 12 February 2023

Henshin logo

Important links: Installation instructions | Getting started | Examples | FAQ

Henshin is an in-place model transformation language for the Eclipse Modeling Framework (EMF). It supports direct transformations of EMF model instances (endogenous transformations), as well as generating instances of a target language from given instances of a source language (exogenous transformations). Its main features are:

Basic transformation definition and execution

  • Rule-based transformation paradigm with units for managing control flow of rules
  • Graphical and textual syntax, based on a transformation meta-model
  • Native support for endogenous transformations; support of exogenous transformations via traces
  • Efficient in-place execution of transformations using a dedicated interpreter with debugging support


Analysis


Advanced rule definition


Integration with other tools

Resources

Screenshots

Henshin transformation editors     Henshin state space explorer

Back to the top