Skip to main content
summaryrefslogtreecommitdiffstats
blob: f343ce10f78c75080f4e8077d1be5e8780dd4855 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116

<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>:
shows 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 &amp; 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>

Back to the top