# 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*,

*State Space Analysis*and

*Giraph Code Generation*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.

## Giraph Code Generation

These are examples of uses of the Giraph code generator provided by Henshin.-
Movies:
Simplified version of the example used in the paper
*Implementing Graph Transformations in the Bulk Synchronous Parallel Model*.

## Critical Pair Analysis

These are examples showing how to use the critical pair analysis feature of Henshin.- Simple Class Modeling Refactoring: Example of simple class modeling refactorings analysed for their conflicts and dependencies.

*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.*