<h1>Henshin - Examples</h1> | |
<p> | |
This page lists documented examples of Henshin transformations. | |
All examples can be found in the <a href="http://dev.eclipse.org/svnroot/modeling/org.eclipse.emft.henshin/trunk/plugins/org.eclipse.emf.henshin.examples/">Henshin examples plug-in</a>. | |
</p> | |
<h2>Endogenous Transformations</h2> | |
Endogenous transformations are transformations on a single model. | |
Please take also a look under <i>Higher-order (HO) Transformations</i>, | |
<i>State Space Analysis</i> and <i>Giraph Code Generation</i> | |
for examples of endogenous transformations. | |
<ol> | |
<li> | |
<a href="examples.php?example=bank">Bank Accounts</a> (Tutorial): | |
shows the basic concepts, the graphical editor and the interpreter wizard. | |
</li> | |
<li> | |
<a href="examples.php?example=sierpinski">Sierpinski Triangle</a>: | |
A simple example for benchmarking the interpreter. | |
</li> | |
</ol> | |
<h2>Exogenous Transformations</h2> | |
Exogenous transformations are transformations on multiple models, | |
e.g., translations between different DSLs. | |
Please take also a look under <i>Higher-order (HO) Transformations</i> | |
for examples of exogenous transformations. | |
<ol> | |
<li> | |
<a href="examples.php?example=ecore2rdb">Ecore2Rdb</a>: | |
Classic class diagram to relational database example. | |
</li> | |
<li> | |
<a href="examples.php?example=java2statemachine">Java2StateMachine</a>: | |
Translating a Java model into a state machine. This is the Reengineering case of TTC'11. | |
</li> | |
</ol> | |
<h2>Higher-Order (HO) Transformations</h2> | |
Higher-order transformations modify or translate transformation models, e.g. Henshin transformations. | |
<ol> | |
<li> | |
<a href="examples.php?example=ecore2genmodel">Ecore2GenModel</a>: | |
Translating an Ecore model into a GenModel. This was one of the challenges in the TTC'10. | |
</li> | |
<li> | |
<a href="examples.php?example=combpattern">Grid & Comb Pattern</a>: | |
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. | |
</li> | |
</ol> | |
<h2>State Space Analysis</h2> | |
These are examples showing how to use the state space generation and analysis features of Henshin. | |
<ol> | |
<li> | |
<a href="examples.php?example=diningphils">Dining Philosophers</a>: | |
Simple state space generation example and benchmark for the classical dining philosophers problem. | |
</li> | |
<li> | |
<a href="examples.php?example=gossipinggirls">Gossiping Girls</a>: | |
Solution of the gossiping girls problem in Henshin. | |
</li> | |
<li> | |
<a href="examples.php?example=probbroadcast">Probabilistic Broadcast</a>: | |
Example of a probabilistic graph transformation system for analyzing message | |
broadcasting in wireless sensor networks. This example is taken from an ICGT'12 paper. | |
</li> | |
</ol> | |
<h2>Giraph Code Generation</h2> | |
These are examples of uses of the Giraph code generator provided by Henshin. | |
<ol> | |
<li> | |
<a href="examples.php?example=giraph-movies">Movies</a>: | |
Simplified version of the example used in the paper | |
<i>Implementing Graph Transformations in the Bulk Synchronous Parallel Model</i>. | |
</li> | |
</ol> | |
<i>If you want to share your Henshin transformation with | |
us and all other users, do not hesitate to send your example | |
to our <a href="https://dev.eclipse.org/mailman/listinfo/henshin-dev">mailing list</a>.</i> | |