02.10.2012 Views

5 Graph Description Language (GDL) - Absint

5 Graph Description Language (GDL) - Absint

5 Graph Description Language (GDL) - Absint

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

22 node: { title:"2" label: "Start" shape: ellipse }<br />

23 node: { title:"1" label: "Exit point\ntest" shape: ellipse }<br />

24 node: { title:"0" label: "Entry point\ntest" shape: ellipse }<br />

25 edge: { source:"18" target:"1" }<br />

26 edge: { source:"0" target:"18" }<br />

27 bentnearedge: { source:"12" target:"17" label: "false" }<br />

28 bentnearedge: { source:"8" target:"12" label: "false" }<br />

29 backedge: { source:"16" target:"12" label: "back" }<br />

30 backedge: { source:"15" target:"12" label: "back" }<br />

31 edge: { source:"13" target:"14" }<br />

32 bentnearedge: { source:"14" target:"16" label: "false" }<br />

33 bentnearedge: { source:"14" target:"15" label: "true" }<br />

34 bentnearedge: { source:"12" target:"13" label: "true" }<br />

35 bentnearedge: { source:"4" target:"8" label: "false" }<br />

36 backedge: { source:"11" target:"8" label: "back" }<br />

37 edge: { source:"10" target:"11" }<br />

38 edge: { source:"9" target:"10" }<br />

39 bentnearedge: { source:"8" target:"9" label: "true" }<br />

40 edge: { source:"3" target:"4" }<br />

41 backedge: { source:"7" target:"4" label: "back" }<br />

42 edge: { source:"6" target:"7" }<br />

43 edge: { source:"5" target:"6" }<br />

44 bentnearedge: { source:"4" target:"5" label: "true" }<br />

45 edge: { source:"2" target:"3" }<br />

46 }<br />

Example 9: Control Flow <strong>Graph</strong> 3<br />

This example shows another improved visualization of the control flow graph of Example 7. The<br />

graph is shown in Figure 17. Here an orthogonal layout is used so that the graph looks like a<br />

typical flowchart. For orthogonal layout, a large down factor and near factor and an up factor of<br />

zero is recommended. This improves the layout of long vertical edges. Add the following lines to<br />

Example 8 after line 01:<br />

manhattan_edges: yes<br />

layout_downfactor: 100<br />

layout_upfactor: 0<br />

layout_nearfactor: 0<br />

xlspace: 12<br />

5.6.3 The Effect of the Layout Algorithms<br />

The following sequence of layouts shows the same graph visualized by different layout algorithms.<br />

The graph is cyclic, so the algorithm tree can’t be used.<br />

A key problem is selecting the nodes that appear at the top level of the graph. The layout algorithm<br />

looks for candidates that have no incoming edges yet at least one outgoing edge. If such nodes do<br />

53

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!