Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search


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.

  1. Bank Accounts (Tutorial): shows the basic concepts, the graphical editor and the interpreter wizard.
  2. Sierpinski Triangle: A simple example for benchmarking the interpreter.
  3. University Courses: An example showing the capabilities and usage of Units.

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.

  1. Ecore2RDB: Classic class diagram to relational database example.
  2. 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.

  1. Ecore2GenModel: Translating an Ecore model into a GenModel. This was one of the challenges in the TTC'10.
  2. Grid and 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.

  1. Dining Philosophers: Simple state space generation example and benchmark for the classical dining philosophers problem.
  2. Gossiping Girls: Solution of the gossiping girls problem in Henshin.
  3. 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.

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

  1. Simple 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.

Back to the top