Next: Summary
Up: thesis
Previous: Complexity
Uses of Directed Edge Constraints
Figure:
A screenshot from Dunnart showing the context menu that allows user to manipulate connectors that translate into graph edges. Note the option allowing the user to remove the directed edge constraint.
| r250pt
|
Below are a few examples showing the application of directed edge constraints. All images were drawn in Dunnart. Using Dunnart, the graphs were created by dragging shapes onto the canvas and creating connections between the shapes. The tool converted the diagram to a graph data structure and using the cyclic detection algorithm presented in Fig
, highlighted all cyclic edges in purple. In order to properly deal with directed cycles, Dunnart used both the No Cycle Constraints and the Acyclic Subgraph techniques. For the Acyclic Subgraph approach, the user can use an implementation of the maximum acyclic subgraph algorithm to determine the edge not to have a directed edge constraint. If the user needs to maintain a higher level of control over the layout, a context menu6.1 allows the user to place or remove directed edge constraints for vertices
that are connected by the user selected edge. To highlight the fact that an edge did not have a directed edge constraint, the edge is highlighted in red. When the layout algorithm was applied, Dunnart generated directed edge constraints for the vertices whose edges did not have the constraints removed. In the images shown, all the cyclic edges are shown in purple dashed edges, all cyclic edges that do not have a directed edge constraint on them are in dotted red, and acyclic edges are solid black edges.
Figure:
A very simple graph showing a flowchart of some generic syntax. (
) shows one layout using a combination of directed edge constraints that lays out the components of the loops in a manner that clearly shows the order of loop execution. (
) is a layout that shows the order of execution for statements, based on the result of passing or failing certain conditionals in the graph. Allowing the user to have control over the choice of which edges not to have directed edge constraints, allows the user to highlight certain paths through the graph.
|
[]
[]
|
Subsections
Next: Summary
Up: thesis
Previous: Complexity
2006-11-07