170 likes | 711 Views
Graph Visualization Tools NAM, Javis, Otter, H3Viewer. Burton Filstrup. Motivation. “Visual depictions of graphs and networks are external representations that exploit human visual processing to reduce the cognitive load of a task.” – Tamara Munzer “A picture is worth a thousand words.”
E N D
Graph Visualization Tools NAM, Javis, Otter, H3Viewer Burton Filstrup
Motivation • “Visual depictions of graphs and networks are external representations that exploit human visual processing to reduce the cognitive load of a task.” – Tamara Munzer • “A picture is worth a thousand words.” –Some Wise Guy
Presentation Overview • Introduction to graph visualization • Tools • NAM/Javis • Otter • H3Viewer • Tool Comparison
Visualization Tasks • Graph Layout • Interaction • Animation
Graph Layout • Most useful layout algorithms are NP complete • Geographic Layout (Otter) • Hierarchical (Otter, H3Viewer) • Distortion-Based Layout (H3Viewer) • Topological Force-Directed Layout (NAM) • Gradient Descent, Simulated Annealing
Interaction • Pan, zoom (All) • Rotate, translate, scale (Otter, H3Viewer) • Distort (H3Viewer) • Filter/color (Otter, H3Viewer) • Link to associated information (Otter, H3Viewer)
Animation • Packet Flows (NAM, Javis) • Evolution
NAM & Javis • Network animator • Integrated with NS • Developed at Berkeley • Source is available in C++ (NAM) or Java (Javis) • Input file is an NS trace • Demo
NAM Input • Can define events for nodes, links, queues, packets, agents • Define a node event n -t * -s 69 -v circle -c grey -z 0.177110 • Define a link event l -t * -s 66 -d 67 -r 512000.000000 -D 0.010000 -c grey -o 236.6deg -l 0.012432
Otter • 2-D graph visualization tool • Developed at CAIDA • Viewer source is available in Java • Input file is typically generated by a Perl script
Otter Input • Can define nodes, links, paths • Nodes and links can be assigned to groups for filtering and coloring • Define node (w/position): N 3 32.715278 -117.156389 medusa.sdsc.edu(198.17.46.10) • Define link and associate a value with it: L 1 2 0 V 1 2 1'1
H3Viewer • Scalable 3-D visualization tool • Developed by Tamara Munzer at Stanford • Library available in C++/OpenGL
H3Viewer Input • Can define nodes, links • Nodes can be assigned to groups for filtering and coloring • A node definition’s location in the input file determines its position in the tree • Many H3Viewer features are currently available only through the API – MST policy, filtering, coloring…
Graph Layout Comparison • NAM • Force-directed approach is not scalable • Poor manual layout support • Otter • Hierarchical layout is not scalable • Allows manual/geographic layout • Layout doesn’t work for general graphs • H3Viewer • Quasi-hierarchical layout is highly scalable • Layout doesn’t work for general graphs
Interaction Comparison • NAM • Animates packet flows • Otter • Provides extensive navigation controls • Allows coloring/filtering of nodes & links • H3Viewer • Provides intuitive, effortless navigation • Allows coloring/filtering of nodes & links
Ease of Use • NAM • Input files can be generated automatically by NS • Otter • Simple input file format • Easily customizable node values • H3Viewer • Complicated input files • Viewers are primarily implemented on IRIX • Well-defined library API
References • NAM • http://imj.ucsb.edu/~ksarac/nstutorial/ns.html • Javis • ftp://cs.ucl.ac.uk/nets/src/jns/javis • Otter • http://www.caida.org/ • H3Viewer • http://graphics.stanford.edu/papers/h3/