Wolfgang Nejdl and Martin Wolpers
Institut für Rechnergestützte Wissensverarbeitung, University of Hannover
{nejdl, wolpers}@kbs.uni-hannover.de
Previous approaches like RMM [3] have introduced the notion of semantical modeling for hypertext collections, based on database oriented modeling techniques. We generalize these approaches in our KBS Hyperbook System by decoupling meta data / semantical models (abstractions), which explicitly model all relevant units of the hyperbook, and data / document units referencing the actual data (comparable to the idea of indexing discussed in [5]), and implementing a metadata-based system using several sets of abstractions to visualize document units and their (semantic) relationships. As a modeling language, we use the language O-Telos [4], which is an object-oriented design language with additional deductive rules and constraints, providing a rich set of meta-modeling facilities.
The basic hyperbook abstractions define the core abstractions, mainly used by the display engine of the KBS Hyperbook System. This display engine views the book only as a set of concepts and relations between them, where each concept is described by one or more attributes. Each concept is visualized as shown at http://www.kbs.uni-hannover.de/hyperbook/, where the data associated with each concept attribute are displayed in one browser frame as the right page of the book and the relations are displayed in another frame on the left page of the book.
The basic hyperbook abstractions (figure 1) consist of modeling abstractions similar to ER modeling notations (concepts, relations and attributes), viewing abstractions (link, index, trail, choice, view) comparable to the ones used in RMM and of the data objects (related to the notion of index entries described in [5]). All of these abstractions are stored in the KBS Hyperbook metadata repository, while the actual data (referenced by the data objects) are stored as either files, URLS, etc.

Figure 1: The Abstract Hyperbook Level
The hyperbook we have been implementing within the last year is used for a CS1 course ``Introduction to Programming in Java''. For this hyperbook, we have defined a set of structural abstractions as shown in Figure 2. This set of abstractions also shows, where our adaptive component is used to adapt/annotate relations depending on the users previous knowledge and current goals (see [2]).

Figure 2: Structural Hyperbook Abstractions
SemanticInformationUnits correspond to information units about Java Objects, Iteration Constructs, Parameters, etc. They are further indexed by KnowledgeItems, which gives for each knowledge item one main information unit, and some other information units where it occurs too, but not as main knowledge item. ProjectUnits represent project descriptions, and are indexed by those knowledge items which the student needs to know in order to successfully work on these projects. The user can also select a set of knowledge items (called a goal), and the system can generate (according to the users knowledge) a trail for learning these knowledge items (see also [2]).
Annotations are realized by the concept Annotation. Annotations are related to AnnotableConcepts, which includes the subclasses ProjectUnit and SemanticInformationUnit. The display of annotations is handled by the general hyperbook display engine, while adding annotations uses some added code to add new instances of Annotation and relate them to other annotable concepts. Bookmarks are introduced by adding the concept BookmarkableConcept, which is related to Hyperbook and (via inheritance) to the ProjectUnit and SemanticInformationUnit abstractions via a user adapted relationship. The user can add such relationship instances and then gets his bookmarks listed just like all other relations.
SemanticInformationUnits are interrelated by semantic relationships (e.g. inheritance, instantiation), and constitute the domain ontology. Because of space constraints, a discussion of how to build semantic abstractions is beyond the scope of this paper. For further reference see for example [1] (which discusses the use of ontologies in information systems, knowledge acquisition and several other areas). The semantic relationships of these domain ontologies are visualized by the hyperbook system as links, indices etc.
The KBS Hyperbook System is implemented as a Java servlet (see figure 3), the hyperbook is displayed with a Java-enabled WWW-Browser. Longer reports on the KBS Hyperbook System are available over the WWW on our KBS Virtual Classroom Project Page.

Figure 3: The KBS Hyperbook System