In my recent posts, Meet the Clones in My Neighborhood and You're Only as JUNG as You Feel, I mentioned how JUNG could be used to extract clusters of cloned code from a complex graph of an entire application. This has been very helpful to drill down into code to look at sub clusters as in the tiled image below. (I’ve substituted number for module names, since this is actual code.) But even with this simplified image, the team wanted to convey more meaning in our next generation tool: Visual Intelligence Explorer. The amazing thing about JUNG is that it allows our team to have complete control over the image rendering process. So we can control how the lines are drawn between the nodes. Up till now, with other tools, we’ve been coloring the lines, green for a weak relationship, red for a strong one. But using JUNG we’ve discovered lines convey meaning more intuitively when weighted instead of being colored.
This is especially useful in large graphs, where lines can hide other lines and get lost in the tangle. Line weights are natural and intuitive. Think of cable, rope, twine, string, and thread. Just the sound of those linear objects conveys strength. Cables pull barges, ropes rope cows, twine bales hay, string wraps packages, and threads? Well a thread is what I’m hanging by with this metaphor.
But just look at the image below, over 200,000 lines of code are represented by this graph of code modules, what’s important, what’s not? Let’s add some weights to those lines.
Here’s a zoom-in of the same image. Here we’ve made four types of lines; the weakest are dotted lines, the threads. Then we move all the way to our ropes and cables. The point is now we can see the most important cloned code.
Our Visual Intelligence Explorer is taking shape very quickly. Please check back here, soon I’ll be posting about using the text search engine Lucene to find legacy source code signatures.
Hi. My name is Steve Woods and I work in HP Enterprise Services Application Modernization. I’ll be posting on topics that involve how we use some fairly innovative approaches to legacy transformation. In particular, I’ll discuss our Visual Intelligence Tools. Let me begin by covering the Woolsey and Swanson rule. In 1969, Woolsey and Swanson published a great book on operations research, Operations Research for Immediate Application: A Quick & Dirty Manual. Chapter Twelve: Final Instructions has the following warning to his students.
I recently showed this slide to the CIO of a large financial services company. He asked for a copy to frame and put on his desk. Seems every time he asks his staff to provide him with transformational opportunities this is the expression he gets. Legacy applications are around today for many reasons, but many organizations are living with the problem, not accepting the solution. I believe the toughest part of the “acceptance” is the acceptance of a transformational approach. Most accept that modern architectures work, but how do we get there? Can you even get there from here? In future posts, I’ll be addressing the Woolsey and Swanson impasse. I look forward to your comments.
I’d like to invite you to our virtual event; I’ll be discussing the Visual Intelligence Tools. Application Transformation: Getting to the bottom line.
For a quick preview check out Dana Gardner’s recent post:
Nov 5th, Americas: http://www.bitpipe.com/hpsolutionsconference/america
Nov 4th, Europe, Middle East, Africa: http://www.bitpipe.com/hpsolutionsconference/europe
Nov 3rd, Asia, Pacific and Japan: http://www.bitpipe.com/hpsolutionsconference/asia