Software engineers have long needed a way to understand complex software systems during all phases of the lifecycle. This need is driven by the fact that, in Software Engineering, there is ample evidence that a clear and visual representation of a software product can significantly enhance its understandability and reduce the lifecycle cost. For instance, when large volumes of data or text are to be understood or analyzed, it is often the case that a simple visual representation of the information allows the user to quickly and accurately detect discrepancies caused by confusing software documents. This early understanding reduces the person-months needed to take the project through successful system implementation.