To meet these goals we first developed a graphical representation of the system.
Connectors show paths to other tasks within the same package if they exist.
The second step was to identify the unifying elements of the system. A table of attribute vs. task was developed, and the code for each task searched for the noted attributes. In the future we plan to apply the information gathered to communicate our system to other projects, develop a more consistent user interface, replace prototype code, and organize code of high algorithmic content into libraries. We anticipate that both current and future programmers will benefit from this document, and that the guidelines we've established are applicable to other software projects.