The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
Visual Paradigm for UML is a Unified Modeling Language (UML) design tool that supports all UML diagrams, SysML diagrams, and entity relationship diagrams. Visual Paradigm for UML provides extensive use case modeling features, including full function UML use case diagram, flow of events editor, use case/actor grid, and activity diagram generation. Visual Paradigm for UML produces system documentation in PDF, HTML, and MS Word formats. A developer can design system documentation with the template designer. A system analyst can estimate the consequences of changes with impact analysis diagrams, such as matrix and analysis diagram. Visual Paradigm for UML generates Java code.