Next: Graphical User Interface
Up: NetWorKs
Previous: Introduction
The following key issues prompted the general design of the NetWorKs program as well as the class organization.
- The program should illustrate algorithms by displaying how steps in an algorithm change the graph, and by displaying text provided by the algorithm. Changes may be as simple as changing the color of an edge or vertex to indicate it has been selected.
- The program should include a GUI which is intuitive, simple, and modeless whenever possible. Since the program is intended for presentations and instructional use, it is essential that the GUI not distract users nor viewers. Also, because of new technologies that allow access to the Internet with devices based primarily on a pointing device, every effort should be made to minimize use of the keyboard.
- The program should provide a rich set of methods to access the graph including efficient access to all vertices and edges. The underlying data structure should support methods providing access for edge-based, vertex-based, or random processing.
- The program should allow algorithms to run in a stepwise fashion controlled by the user. To assure that the graph has not been modified between steps, the program should exit the algorithm if the user edits relevant data in the graph.
- The algorithms should be able to manipulate the graph without concern for the details of maintaining the display. Recall that algorithms are completed stepwise, so the program can update the display after each step.
- The program should be platform independent, and files should be transportable across platforms. Note that using Java does not automatically provide platform independence, and certainly does not assure that files are transportable.
Learning Java while writing classes for this project complicated matters considerably. It is mostly for that reason that the classes were designed using a bottom-up approach. The NetWorKs application and applet satisfy each of these design goals.
Next: Graphical User Interface
Up: NetWorKs
Previous: Introduction
Kelly Waters
Mon Oct 27 18:18:15 EST 1997