Currently, WebMap is written entirely in [incr Tcl] [14] taking advantage of the Motif-like Tk widget library, especially its canvas widget. [incr Tcl] provides object-oriented extensions to Tcl [3]. These extensions have a syntax similar to C++, but in contrast to C++ [incr Tcl] is an interpreted language. Nevertheless, it is possible to mix [incr Tcl] code with compiled C code and to have the interpreter call C functions like ordinary [incr Tcl] functions.
The object-oriented design of WebMap makes it easy to extend the program and to exchange parts of its functionality. This section shows how this is achieved. It describes the main parts of WebMap and how they interact to display and update a graphical map of the relevant web structure.
The design of the software is based on code separation into several functional units.
The part of WebMap which is concerned with the display of the map is divided the following way:
Classes belonging to these groups are illustrated in Fig. 7:
The notation used to describe the relations between
classes is explained in Fig. 6. These symbols
are part of the ``Object Modeling Technique'' (OMT) defined in
[6].
The web structure is stored as a web of linked
topology objects where each object represents a WWW document.
WebMap analyzes the hypertext links and categorizes them.
The current categories are:
In contrast to a WWW document which only contains links that lead
from this document to other documents and belong all to the same
link-category (there is only one), WebMap keeps track of the links
that lead from other documents to a certain document. So each category
consists of two
sets: in-edges and out-edges. As already mentioned in section
2.1, edges belonging to different categories are
displayed in different colors on the screen (back-edges and self-edges
are not displayed at all).
Surely there are a lot of other meaningful categories which are not
considered here. This leads to the following open questions:
TreeSameDomain
TreeOtherDomainSameServer
TreeOtherDomainOtherServer
NonTreeSameDomain
NonTreeOtherDomainSameServer
NonTreeOtherDomainOtherServer
NonTreeBack
NonTreeSelf
These questions should be considered among others in the current
discussion concerning the introduction of semantic links.
Anyway, WebMap's link categories present a way to give graphical
feedback for future semantic links.
Next: Dynamic Object Associations
Up: No Title
Previous: Horizon Tree