I spent the weekend working on my prototype implementation using some service agents I had kicking around from previous work. I added a “graph agent” that collects information from the various service agents and assembles them into a directed graph for further analysis. Building the initial graph turned out to be pretty easy. There’s a very easy-to-use directed graph library called JGraphT that made the task pretty simple.
Now comes the hard part: verifying that the graph is correct. The easiest way to do that is to see it, so I followed the recommendation on the JGraphT site and downloaded the JGraph library. It’s a commercial product, but it does have a free license for non-commercial use.Unfortunately, the latest version (called JGraphX) doesn’t have a simple importer for the latest version of JGraphT, but the previous version, JGraph v5, still works pretty seamlessly wiht JGraphT. It wasn’t too hard to get the graph to display in a window, but figuring out how to do it with a reasonably useful layout is proving tricky. By default, it lays out with all of the vertices stacked on top of each other. But it is a start.
Now I need to troubleshoot why the edges aren’t behaving the way I expect them to; only some of them are correct. I think I’ve got an idea, but it will take a little time to code up and check. But in the meantime, I am making progress.