What is AbuGraph?

AbuGraph is a Java application for the visualization of those data structures commonly known as Graphs. Informally speaking, a graph is just a set of points (or nodes) which are connected by lines (or edges). Graphs are widely used in mathematics and computer science. Common examples of graphs are neural networks, binary trees, semantic networks or finite state diagrams among many others.

AbuGraph can be easily used without paying too much attention on all those graphic details which are commonly used to draw a graph; so, common objects like lines, ellipses, text labels or arrows are automatically generated by the program, since the user just needs to specify nodes and connections between them using a simple set of commands for that.

AbuGraph has been devised to be used in two different ways:

  • Like a regular graph drawing tool. In this case the user generates commands towards AbuGraph using a simple text console and a reduced set of instructions. An acceptable graph layout can be generated in few minutes using this approach.

  • Like a visualization tool. Here, the user is another program which communicates with AbuGraph using a TCP connection. In this case, AbuGraph works as a graphical server processing the commands generated by another program. In such way, any data structure working as part of that program could be easily viewed as a graph.

In both cases the graph evolution can be followed in real time, since new nodes and edges are dynamically added to the graph just at the moment when they are requested. So, AbuGraph can be used to replace or complement plain text traces for evolving graphs by means of a single and easy to use graphical user interface.

The AbuGraph drawing algorithm is basically the same than the one used by Graph Layout, a small demo applet distributed by Sun Microsystems as part of the Java Developers Kit. AbuGraph is basically an evolution of Graph Layout which allows a better interaction with the user or with other programs (you can check out the original Graph Layout here or, if available, on your local JDK installation under the "demo/applets" directory).

AbuGraph is free software distributed according the Modified BSD License conditions, so you can freely use, modify and distribute the program if you wish.