| |
| <h1>Henshin - Examples</h1> |
| |
| <p> |
| This page lists documented examples of Henshin transformations. |
| All examples can be found in the <a href="https://git.eclipse.org/c/henshin/org.eclipse.emft.henshin.git/tree/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> |
| <li> |
| <a href="examples.php?example=universitycourses">University Courses</a>: |
| An example showing the capabilities and usage of Units. |
| </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> |
| |
| |
| <h2>Critical Pair Analysis</h2> |
| |
| These are examples showing how to use the critical pair analysis feature of Henshin. |
| |
| <ol> |
| <li> |
| <a href="examples.php?example=simpleclassmodelingrefactoring">Simple Class Modeling Refactoring</a>: |
| Example of simple class modeling refactorings analysed for their conflicts and dependencies. |
| </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> |
| |