<
From version < 3.1 >
edited by uru
on 2015/06/06 22:03
To version < 6.1 >
edited by dag
on 2017/07/23 22:05
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.uru
1 +XWiki.dag
Content
... ... @@ -1,7 +1,7 @@
1 1  {{panel title="Project Overview"}}
2 2  Responsible:
3 3  
4 -* {{mention reference="XWiki.uru" style="FULL_NAME" anchor="XWiki-uru-EIxca"/}}
4 +* {{mention reference="XWiki.uru" style="FULL_NAME" anchor="XWiki-uru-azXeo"/}}
5 5  
6 6  Related Theses:
7 7  
... ... @@ -14,6 +14,10 @@
14 14  
15 15  {{toc/}}
16 16  
17 +{{note}}
18 +A word of warning. Please scrutinize any results you get from GrAna. A lot of the existing analyses were written with certain graphs structures and use cases in mind. For instance, if the analysis does not account for self loops but your graph contains them, the results might be wrong.
19 +{{/note}}
20 +
17 17  = Single Graphs Within the Editor =
18 18  
19 19  Within Eclipse we provide a //Graph Analysis// view, which can be found via Eclipse's //Windows->Show View->Others// dialog.
... ... @@ -30,6 +30,8 @@
30 30  
31 31  You can specify a list of {{code language="none"}}Job{{/code}}s. A job is a self-contained unit of work. It specifies the previously mentioned data using the following keywords: {{code language="none"}}resources{{/code}}, {{code language="none"}}layoutoptions{{/code}}, {{code language="none"}}analyses{{/code}}, and {{code language="none"}}output{{/code}}. Layout options are specified by blocks that start with an arbitrary identifier followed by curly brackets. It is possible to specify multiple blocks of layout options. Each block results in a separate layout run allowing, for instance, to first execute a node placement algorithm and then an edge routing algorithm. For convenience it is possible to specify resources and output files globally at the beginning of the file and then use the {{code language="none"}}ref{{/code}} keyword to reference them from a job.
32 32  
37 +Besides jobs, there are also {{code language="none"}}RangeJobs and CompareJobs.{{/code}} A RangeJob can be used to analyze the effect of a specific layout option onto a specific metric. In the example below, the //thoroughness// layout option is registered using the {{code language="none"}}rangeoption{{/code}} keyword. An integer range is specified resulting in all values between (inclusive) 1 and 50 being tested. While the analyses specified using the {{code language="none"}}analyses{{/code}} keyword are only measured on the initial graph, the analysis specified using the {{code language="none"}}rangeanalysis{{/code}} keyword will be measured for every tested value of the range layout option. Since analyses can be composed out of multiple components (e.g. the edge crossing analysis states the minimum, maximum, and average number of crossings per edge as well as the sum – four components), the {{code language="none"}}component{{/code}} keyword tells GrAna which component to write to the output file. The CompareJob can apply two different layouts to a graph and compare the results (the graph is copied internally so the layouts do not influence each other). The two layouts are specified via two layout blocks as shown in the avg_distance example below. This kind of job can be used to analyze the effect of a layout on the individual nodes (e.g. the distance nodes are moved).
38 +
33 33  To execute GrAna based on a //.grana// file, right click the file and select //Execute Analysis Batch ...//
34 34  
35 35  {{code language="java"}}
... ... @@ -41,6 +41,8 @@
41 41  globalOutputs
42 42   original_alg "/Test/results/original.csv"
43 43   awesome_alg "file://workspaces/eclps/Test/results/new.csv"
50 + thoroughness "/Test/results/thorough.csv"
51 + compare "/Test/results/compare.csv"
44 44  
45 45  execute all
46 46  
... ... @@ -76,6 +76,39 @@
76 76   de.cau.cs.kieler.kiml.grana.nodeCount
77 77   de.cau.cs.kieler.kiml.grana.edgeCrossings
78 78   output ref awesome_alg
87 +
88 +rangejob thoroughness
89 + resources
90 + ref random
91 + layoutoptions
92 + klay {
93 + de.cau.cs.kieler.algorithm: de.cau.cs.kieler.klay.layered
94 + de.cau.cs.kieler.klay.layered.crossMin: LAYER_SWEEP
95 + }
96 + analyses
97 + de.cau.cs.kieler.kiml.grana.nodeCount
98 + rangeoption
99 + de.cau.cs.kieler.klay.layered.thoroughness
100 + intrange 1 to 50
101 + // floatvalues 0.3, 0.4, 0.5
102 + rangeanalysis
103 + de.cau.cs.kieler.kiml.grana.edgeCrossings
104 + component 3
105 + output ref thoroughness
106 +
107 +comparejob avg_distance
108 + resources
109 + ref random
110 + layoutoptions
111 + l1 {
112 + algorithm: fixed
113 + }
114 + l2 {
115 + algorithm: layered
116 + }
117 + analyses
118 + de.cau.cs.kieler.grana.compare.averageDistance
119 + output ref compare
79 79  {{/code}}
80 80  
81 81  == Eclipse Wizard ==
... ... @@ -85,10 +85,6 @@
85 85  [[image:attach:granaWizard.jpg]]
86 86  \\
87 87  
88 -{{note}}
89 -A word of warning. Please scrutinize any results you get from GrAna. A lot of the existing analyses were written with certain graphs structures and use cases in mind. For instance, if the analysis does not account for self loops but your graph contains them, the results might be wrong.
90 -{{/note}}
91 -
92 92  = Required Plugins =
93 93  
94 94  * (((
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -12288275
1 +40075275
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/12288275/Graph Analysis (GrAna)
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/40075275/Graph Analysis (GrAna)