Prerequisites
1. You must download and install GraphViz from http://www.graphviz.org for your platform (Win32, Unix, Linux, or Mac OS should be supported). The binaries (e.g. dot, fdp, neato, twopi, dot2gxl) should be in your environment path as well. 2. On the Unix or Mac platform you need to have the OSProcess and CommandShell Squeak packages installed as well. OSProcess is only known to work in Ian's Unix VM for Mac OS. The predominant Mac VM by John M. McIntosh probably doesn't work with this package yet (get Ian's VM at http://www-sor.inria.fr/~piumarta/squeak/). 3. If you want to update your graph model with the node coordinates from running GraphViz then you must install the YAXO Squeak package as well so that #doLayout on a GraphViz object will work. This is purely an add-on right now so if you don't have YAXO, no biggie -- just don't call #doLayout.
Background Loader
Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. Automatic graph drawing has many important applications in software engineering, database and web design, networking, and in visual interfaces for many other domains.
The Graphviz layout programs take descriptions of graphs in a simple text language, and make diagrams in several useful formats such as images and SVG for web pages, Postscript for inclusion in PDF or other documents; or display in an interactive graph browser. (Graphviz also supports GXL, an XML dialect.)
Graphviz has many useful features for concrete diagrams, such as options for colors, fonts, tabular node layouts, line styles, hyperlinks, and custom shapes.
In practice, graphs are usually generated from an external data sources, but they can also be created and edited manually, either as raw text files or within a graphical editor. (Graphviz was not intended to be a Visio replacement, so it is probably frustrating to try to use it that way.)
So basically, the Squeak interface provided here makes it fairly straightforward to generate the "dot" language file that the GraphViz command line programs use as input to create the graphs. For references on the "dot" language you can go to the graphviz web site mentioned above.
Several examples are provided in the Squeak package if you look at the class side of GraphViz or inspect my test cases. Graphing Smalltalk class hierarchies and/or class references has been a source of delight as well as using this program to graph many relationships pertinent to my business data.
Lastly, GraphViz will generate SVG output formats as well. I found a very cool Java-based Zoomable User Interface built specially to navigate large graphs generated by GraphViz called ZGRViewer (http://zvtm.sourceforge.net/zgrviewer.html). Then you can open the Java ZGRViewer program and surf around the graph file this is generated by Squeak. Very cool for looking at large models!