Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Henshin"
Line 33: | Line 33: | ||
* [http://www.eclipse.org/modeling/emft/henshin Official website] | * [http://www.eclipse.org/modeling/emft/henshin Official website] | ||
* [[Henshin/FAQ|FAQ]] | * [[Henshin/FAQ|FAQ]] | ||
+ | * [[Henshin/Projects|Projects]] | ||
* [[Henshin/Committer Instructions|Committer Instructions]] | * [[Henshin/Committer Instructions|Committer Instructions]] | ||
Revision as of 11:10, 8 February 2023
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
- A performance profiler to identify slow spots
- Support for conflict and dependency analysis
- State space analysis for verification
Advanced rule definition
- Support for rule variants
- Support for automated rule generation
- Support for generating application conditions from OCL constraints
Integration with other tools
- Integration with Xtext
- Support for massive parallel rule execution using Apache Giraph
Getting started
Please refer to the official Henshin website for installation instructions and a tutorial showing the first steps in Henshin.
Look at the 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 graphical editor and the interpreter.