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