views:

42

answers:

1

I've become interested in abusing concept mapping (Wikipedia article, explanation by the inventor) as a technique for analyzing the design of moderately large software systems. (The systems are two compilers: One is about 25,000 lines with a 1,000-line runtime system; the other about 200,000 lines with a 90,000-line runtime system. Neither system is written in an object-oriented language or style.) I'm interested in something much simpler than UML; a concept map is essentially a directed graph with just one type of node and one type of edge. I would like to know if there are good software tools for this kind of job; I will upvote any answer that reports on experience with concept-mapping tools.

I'm not particularly interested in generating the concept maps automatically; we've done quite a bit of visualization by automatically generating graphs using dot, and this was useful in its way, but we're looking for something that will enable more control over the layout of the final graph.

+1  A: 

I was recently tasked with generating a concept map of a large legacy codebase for my company. I found that the existing software tools dedicated specifically to concept mapping were not easily amenable to the notion of automated generation.

Ultimately, I used more generic graph generation and visualization libraries to approximate a concept map. Like you say, a concept map is essentially a directed graph, and leveraging the wealth of powerful graph-related code out there produced satisfactory results for my team.

Since you were interested in tools, the final product was rendered by the Nodebox Graph library.

ZackBeNimble