Henshin - Examples
This page lists documented examples of Henshin transformations.
All examples can be found in the Henshin examples plug-in.
Endogenous Transformations
Endogenous transformations are transformations on a single model.
Please take also a look under Higher-order (HO) Transformations and
State Space Analysis for examples of endogenous transformations.
-
Bank Accounts (Tutorial):
shows the basic concepts, the graphical editor and the interpreter wizard.
-
Sierpinski Triangle:
A simple example for benchmarking the interpreter.
Exogenous Transformations
Exogenous transformations are transformations on multiple models,
e.g., translations between different DSLs.
Please take also a look under Higher-order (HO) Transformations
for examples of exogenous transformations.
-
Ecore2Rdb:
Classic class diagram to relational database example.
-
Java2StateMachine:
Translating a Java model into a state machine. This is the Reengineering case of TTC'11.
Higher-Order (HO) Transformations
Higher-order transformations modify or translate transformation models, e.g. Henshin transformations.
-
Ecore2GenModel:
Translating an Ecore model into a GenModel. This was one of the challenges in the TTC'10.
-
Grid & Comb Pattern:
Construction of grid structures, a higher-order transformation for modifying a Henshin rule, and several benchmarks.
This example was initially described in a technical report on benchmarks for graph transformation.
State Space Analysis
These are examples showing how to use the state space generation and analysis features of Henshin.
-
Dining Philosophers:
Simple state space generation example and benchmark for the classical dining philosophers problem.
-
Gossiping Girls:
Solution of the gossiping girls problem in Henshin.
-
Probabilistic Broadcast:
Example of a probabilistic graph transformation system for analyzing message
broadcasting in wireless sensor networks. This example is taken from an ICGT'12 paper.
If you want to share your Henshin transformation with
us and all other users, do not hesitate to send your example
to our mailing list.