 |
|
Overview and Challenges |  | | Traditionally, software engineering applications
have been written to address the analysis and manipulation
of program structure. Reverse engineering functions usually generate
extremely large control flow diagrams. Forward engineering functions
focus on the inverse process where software architecture designers
define class structure, inheritance relations and associations
diagrammatically with state charts and use-case diagrams.
The software engineering industry has standardized on the Unified
Modeling Language (UML) specification for software system design.
Forward engineering generates code from the UML software design
specification. UML utilizes specialized diagrammatic techniques
that were developed by Rational Software. Many view UML as a
complex diagramming specification that is difficult and expensive
to support. This has left significant opportunities for
companies to develop better UML diagramming systems. Tom Sawyer
Software licenses its diagramming software to a number of these
companies.
 |
|
Tom Sawyer Software Solutions |  | |
In the reverse engineering sector, Tom Sawyer is the only company
whose component technology products have the appropriate scalability.
In recognition of this, companies such as Intel, Sun Microsystems,
Cyrano, Metrowerks, and SAP have licensed Tom Sawyer's technology.
Tom Sawyer's hierarchical layout technology can scale to display
thousands of nodes and edges in each diagram, visualizing the structure
of very large software programs. The company has also developed
technologies that allow for the folding and hiding of selected objects.
Our software also supports incremental layout technology so that
users can maintain perspective as large diagrams are explored. The
software detects cycles that represent recursive function calls
and provides valuable visualization support to make sense of the
complex structures of large software projects. |
 |
Further, because these diagrams can be so large, the company is continuously developing its comprehensive technologies to visualize
large graphs. Its diagram display engine products support rapid
object selection mechanisms, zooming, overview windows and multipage
printing of very large diagrams. Its display engines support double-buffered redraw so that graphics throughput is optimized for live
thread analysis and graphical profiling applications.
|