DSGraph Distributed Snapshot Graph Algorithms & visualization
June 03Created by Ophir Ovadia2 Participants Student: Ovadia Ophir Lab instructor: Mr. Melamed Roie Lab chief engineer: Dr. David Ilana Tehcnion - faculty of Electrical Engineering – Software Lab
June 03Created by Ophir Ovadia3 Abstract DSGraph was developed to extract information about graphs’ properties and structure. These graphs represent a snapshot of a distributed system of connections.
June 03Created by Ophir Ovadia4 Information retrieval Information retrieval is accomplished in Two strategies: – Textually presented information. – Visually presented information.
June 03Created by Ophir Ovadia5 Information retrieval (cont) Textually presented information: – DSGraph gathers both overall and statistical information. – Information is gathered through execution of graph theory algorithms, variations on those algorithms and algorithms developed especially for DSGraph. – These include algorithms such as: BFS Number of connected components Number of disjoint paths between vertices More...
June 03Created by Ophir Ovadia6 Information retrieval (cont) Visually presented information: – DSGraph outputs visual graphs’ layouts meant to be viewed with two tools: GraphViz – relatively small (or reduced) graphs, highly customizable, has clusters, colors etc. Embedder – huge graphs, very fast but harder to understand.
June 03Created by Ophir Ovadia7 Information retrieval (cont) Visual information (cont): – Exhibiting large and heavily connected graphs is very difficult, therefore several methods are used for this task: Display the graph as is (for completeness). Display the BFS search tree (actually performs the connected components algorithm since the whole graph has to be covered). Display a reduction of the graph (the scale is customizable) while keeping its overall structure intact (see the report).
June 03Created by Ophir Ovadia8 Sample layout – 100 vertices
June 03Created by Ophir Ovadia9 Same graph another layout
June 03Created by Ophir Ovadia10 Software Design DSGraph was designed with great care to follow the Object Oriented Programming & Design scheme. DSGraph ’s design promotes its extendibility and reusability in a very easy and strait forward manner. DSGraph is written in C++. Code is extensively documented and follows strict coding guidelines. Design patterns are heavily employed.
June 03Created by Ophir Ovadia11 Software Design (cont) Design Patterns: – Singleton – the driver of the system. – Controller – the controller of the system. – Strategy – algorithms. – Visitor – variations on the algorithms.
June 03Created by Ophir Ovadia12 Class Diagram – visitors and algorithms interactions.
June 03Created by Ophir Ovadia13 The End Author: Ophir Ovadia Software Lab Faculty of Elecrical Engineering Technion The End