To provide as much flexibility as possible, the display application is implemented as multiple nearly-independent modules. Each module is responsible for the display of a particular kind of data and is implemented using both a C file and a Tcl/Tk script. Transmission of requests and reception of responses related to that display type are handled in the C file. The C code converts the simulator response into a form useful by Tcl and then invokes a Tcl procedure to perform the display action. The Tcl file implements the user interface for the data display maintained by the module.
One such display module is used to illustrate the path a simulated connection takes through the network, as shown in Figure 2. These path displays are either transient, in which case they are automatically removed from the display after a short delay, or persistent. Because multiple routes may be displayed simultaneously, the path module automatically chooses a different color for subsequent path displays. A small control panel provides a means to change the persistence and color of displayed routes.
In the following sections, we describe both the Tcl and C code for the path module to provide a concrete example of the ease with which modules can be created.