Peter Fröhlich, Nicola Henze and Wolfgang Nejdl
While schema descriptions are a necessity for large database applications, many current hypermedia applications have been developed without semantic modeling. Addressing these shortcomings several modeling techniques for hypermedia systems have been developed recently, which extend known domain modeling techniques from the database and software engineering field with dedicated constructs for specifying possibilities of navigation.
The current paper presents a more general modeling framework for hyperbooks, which extends previous work by representing all aspects of a hyperbook application in a declarative data model. Domain model, navigational model, user model and visualization model are all captured in a unified meta data model. This explicit, complete model of the application supports a reusable implementation. We finish by presenting a fully generic client/server architecture for displaying the hyperbook from a WWW server to a WWW client.
Current approaches to systematic hypermedia modeling can be divided into two research directions:
As pointed out in [11] the methods described under 1. are best suited for designing front ends to loosely structured data. Therefore, the navigational concepts proposed in these methods are geared towards indexing a large number of relatively simple information pieces. On the other hand, the methods proposed under 2. which we will discuss in more detail in section 2 usually lack declarative domain models. Indexing book pages with user model concepts has the advantage that the book structure itself is not affected. Any book can be turned into a hyperbook using these techniques. However, these techniques leave the book structure unchanged, while the methods under 1. impose a rigorous structure on the material and define this structure in a domain model, thus making the hypermedia document more maintainable and extendable.
This paper defines a modeling language for building domain models, explicit navigation and visualization models and user models. In this way it combines the advantages of explicit models used by the approaches under 1. with the hyperbook-specific ideas of the approaches presented under 2. All features of the four hyperbook models are defined by the meta model expressed in the conceptual modeling language Telos [19]. The system itself is being implemented as a loosely coupled extension of a WWW server with cgi-bin scripts and Java programs as well as the ConceptBase meta database manager [14]. The paper starts with a survey on previous work in hyperbooks, discussing hypertext and hyperbook systems as well as various definitions for hyperbooks. Section 3 describes our modeling architecture as well as our four hyperbook models in depth. Section 4 discusses the implementation of our hyperbook system.
Research in the area of adaptive hypertext theory and systems has concentrated on data models and development of adaptive hypertext systems that reflect their user's interests and preferences. As the definition of a hyperbook is quite ambiguous in current research projects, we will first venture to provide a definition of such a hyperbook (in contrast to simple hypertext). One approach is to characterize hypertext books as a ``collection of hypertext documents. In correspondence to real books, these documents are called chapters, sections, subsections, or appendices.'' [18]. This definition includes ``electronic books'', which can be characterized as ``existing books meant to be read on a computer screen'' [10]. Transferring printed books into electronic form is a wide research area [21]. Some of the projects deal with a broad variety of printed books which they translate to simple data formats such as plain text, ascii-text derivates, or the acrobat reader format; the table of contents is translated to a hypertext interface to the book. More sophisticated approaches re-edit the existing printed books by adding pictures, remarks, and annotations as hypertext links [25]. Research has also focused on the design of specialized readers for these electronic books such as Organizers, Portable PCs, and electronic book readers [24]. In contrast to this broad view of a hyperbook we give the following definition for hyperbooks:

These requirements focus on the structure of a hyperbook, its hypertext properties and explicit models of the hyperbook (following current practice in the database area, where all databases include schema descriptions of the database content).
Research in the development of hyperbooks has focused especially on the educational sector where hypertext technologies are used to implement learning environments, tutors and computer-based and self-training systems . These systems provide the contents which would have been covered so far in ordinary text books, and integrate it into a hypertext system which guides the users during their learning processes in various ways. The InterBook [3] project provides adaptive navigation support, based on a user model to estimate the user's knowledge level, and an indexing component that contains the system's knowledge about the presence of concepts on a page or about the concepts required for reading that page. Icons, fonts, and colors are used to display the different educational states of each page [7]. The InterBook system and its predecessors use semantic nets to describe the domain model used to index the hyperbook. The ELM-ART Tutor [2], an interactive Lisp-Tutor, provides the same navigational support as InterBook and uses an integrated lisp interpreter to provide interactive exercises within the tutoring system. A free web-course about Hypermedia Structures and Systems [5, 4], from the Eindhoven University of Technology, is also an interesting variant of an adaptive hyperbook. Links are changed to reflect the educational state of a user. Links, which are no longer appropriate for the user, for example, are removed from the hyperbook pages. CGI-Scripts are used to filter the links to related pages of the hyperbook. An individualized course for the C programming language [15] uses a domain and a user model to maintain the appropriate state for the user's learning level. Preprocessor commands are used to decide which parts of a page are suited for the reader. In section 3.4 we present a declarative reconstruction of this technique which we use for our user model.
In the framework of our KBS Virtual Classroom Project we are currently implementing a hyperbook system and learning environment for several areas of computer science (artificial intelligence, software engineering and introduction to programming). The decription of the complete teaching and learning environment is containted in [9]. The hyperbook developed for programming and software engineering tightly integrates case descriptions and solutions, concept descriptions and more conventional tutorial notes etc. As this hyperbook has to be extendible by different authors as well as by students, a systematic model of all aspects of the hyperbook (domain structure, navigation, visualization and adaptation) is necessary.
We have used Meta Modeling to implement a modeling language capable of representing all aspects of a hyperbook. The meta model describes modeling concepts and their semantics. The application of meta modeling has several advantages over the design of a fixed modeling language. First, by using the Telos Language [19] for expressing our meta model, its declarative semantics is well-defined because the semantics of the Telos language is defined by logical axioms. In contrast to that, the abovementioned modeling languages are only specified by natural language descriptions. Additional effort would be required to capture their semantics formally. Second, our Telos meta model is interpreted by the deductive database manager ConceptBase [14] which implements a dialect of the Telos language. Thus, meta modeling saves the effort of implementing the modeling language if an implementation exists for the meta language. Third, using a meta model allows us to extend and modify the modeling language easily. This is an important characteristic for rapidly evolving domains like hypermedia. Our hypermedia modeling architecture consists of 4 layers, as shown in figure 1:

Figure 1: Modeling Architecture
The layers of our model roughly correspond to the layers of the ISO IRDS standard ([12], [13]). However, IRDS is based on relational database technology, while we use an object-oriented deductive language. Furthermore, our model is designed for a specific application (hyperbook modeling) and is thus less generic. Our mandatory data model concepts, whose presence can be assumed by client applications, underline this application orientation. In the next section we will introduce the concepts of our modeling language and demonstrate their usage with an example from our software engineering lecture.

Figure 2: Domain Modeling Meta Model
An explicit domain model is present in most systematic approaches to hypermedia design [11, 23]. The domain model describes the entities of the application domain and their relationships. Figure 2 shows the basic domain modeling concepts in our framework. Domain Classes provide the types for the objects of the application domain. In a Software Engineering Book domain classes include Process, Phase, Activity, Notation and others. The concrete topics of the application domain are modeled as instances of these classes, e.g. the Waterfall model is an instance of process, Design is an instance of Phase, etc. The domain classes for an application can be organized in a class hierarchy with single inheritance relations among classes. For example, the domain class Diagram is a subclass of Notation. Domain classes are further characterized by their Attributes and Relationships. We support binary relationships between domain classes, which are classified by their cardinality (1:1, 1:n, m:n). In addition we allow a key to be specified for the n-side of a 1:n relationship. When we come to navigational concepts this key will specify the order in which objects are presented.

Figure 3: Domain Modeling Notation
As shown in figure 3 our notation for these modeling concepts is an extension of Entity Relationship Diagrams. Figure 4 provides a small example, taken from our software engineering book: A Software Process consists of several Phases, thus there is a 1:n relationship between Software Process and Phase. This relationship is indexed by the key attribute PhaseNr (Phase Number). As we will see in section 3.2, this key attribute specifies the order in which the Phases are presented. At the bottom of figure 4 we see the Waterfall Model as an instance of the domain object Process which is related to its phases.
Our domain modeling technique is similar to RMM but extends it by inheritance and m:n-Relationships. The possibility of specifying a key for the n-side of a 1:n-relationship is also an extension.

Figure 4: A Simple Domain Model. In the upper part
of the image the meta model concepts are shown.

Figure 5: Meta Model of Navigation
The Navigational Model describes the possibilities of navigation in the hyperbook. We distinguish two different types of navigation: Data Model Navigation and navigation by Trails.
Data Model Navigation is based on the relationships in the domain model. Thus, this kind of navgation is semantics-based and allows the user to explore the ``neighborhood''of a hyperbook page by following links to semantically related pages. This type of navigation supports selective reading and quick acess to information.
Navigation by following trails provides more guidance. The author(s) of the hyperbook provide trails by choosing a sequence of hyperbook pages. These trails may depend on educational aspects - the user can e.g. follow an introduction into a specific topic of the hyperbook domain. On the other hand these trails can be used to read parts of the book or the whole book sequentially.
The relationships defined in the domain model are the basis for systematic semantics-based navigation in the book. As in RMM, this type of navigation is defined on the schema level, i.e. every navigational construct defines which relationship it supports. Database queries are used to obtain the actual hyperlinks. This enhances the extendibility of the document since the link structure automatically adapts to the database content.
Links support bidirectional navigation based on 1:1-relationships. Links are displayed by inserting a hyperlink to the corresponding domain object in each page. Following the RMM method, we provide three concepts for navigating a 1:n-relationship: An Index resembles a table of contents: It consists of a list of links to related objects. If an index key is specified for the relation, it determines the order of the links. In the example from figure 4 links to the phases Requirements, Design, Implementation and Integration are inserted in the Waterfall Model page. Since Requirements has the smallest key the corresponding link appears first. A Guided Tour is an alternative representation of an 1:n-relationship. Here, a link to the first phase is inserted in the Waterfall Model page. Each phase page contains a link to its successor (the phase with the next larger key). The last phase page links back to the Waterfall Model page. An Index Guided Tour combines the previous concepts: each page has links to the next in a sequence and also to the main page (the Waterfall Model page in our example). We extend RMM's navigational constructs by a Cross Reference Index concept, which allows us to navigate a m:n-relationship.
We stress that data model-based navigation allows access to information more selectively than a conventional book. However, the possibility to read parts of the document or the whole document sequentially provides additional guidance for the student. Therefore we define the concept of a Trail. A trail consists of a sequence of pages connected by hyperlinks, whose graphical representation differs from the data model links discussed above (trail links are shown as 3D buttons at the top of the page while data model links are shown as usual blue hyperlinks at the end of the page). Trails serve different purposes. We use trails to store lecture lessons in the hyperbook. In this case, the trail allows the student to review the course material in exactly the same sequence as the teacher presented it in the lecture. Furthermore, our system allows to animate the pages of a lecture trail synchronously, while an audio recording of the lecture is played. Another important application of trails is printing. Many hypertext documents cannot be printed easily due to the lack of a sequential structure. By printing the pages in the sequence defined by the trail, a meaningful part of the book (lecture lesson, chapter, introduction to a topic) is produced.

Figure 6: Meta Model of Visualization
The visualization model (see figure 6) describes how information is presented. Topics are presented by WWW Pages. A WWW Page itself consist of a sequence of fragments (metaclass WWW Fragment) containing MIME Objects. MIME [1, 17] (Multipurpose Internet Mail Extension) is a standard for sending different types of content (Text, Pictures, Sound, Video) over the Internet. MIME is supported by most EMail and WWW clients. The MIME type hierarchy is part of our modeling language. Each MIME Object belongs to a MIME Type, which tells the hyperbook server how to insert it into the WWW Page and tells the hyperbook client how to display it (see section 4). The connection between the Visualization Model and the Domain Model is that every WWW Page, i.e. collection of MIME Objects, implements a domain object.

Figure 7: Database Representation of the Internal
Structure of a Page
Consider another software engineering example shown in figure 7. The domain object Use Case is an instance of the domain class Method. It is implemented by the WWW Page Use Case Page. This page consists of 3 fragments: The first contains a document of type TEXT/HTML providing an overview of Use Cases (use_case_overview.txt), the second contains a picture of type IMAGE/GIF, which gives an example of a use case diagram and the third is another document of type TEXT/HTML describing the impact of use cases for the design phase.
Our user model is used to adapt both page content and navigation structure of the hyperbook. It has two functionalities:
On the one hand it models the general prerequisite knowledge of a user. When using the hyperbook for the first time, the user has to fill in a form where she judges her background knowledge in topics related to the book on a numerical scale. For the software engineering book the general background knowledge consists of other topics in computer science like programming language experience or database experience. Besides providing information about prerequisite knowledge the user can choose preferences such as ``I want to read this book as an example book: I only want to see projects or reference examples'', ``I want a theory book with few examples'', etc. in this form. In addition the user can formulate goals like ``I want an introduction to topic X''.
The other (main) functionality is to model the learning progress of a user. Each domain object is regarded as a topic on which the user gains experience by reading the corresponding hyperbook page. The database keeps track of the pages the user has read.
To formally model the general prerequisite knowledge and the learning
progress of a user we use a Bayesian Network (BN) [20]. Each domain object
corresponds to a node in the BN, and dependencies among different
domain objects such as ``if user A knows concept X then she must
also know
are modeled by causal dependencies between
these nodes. The observation of the users actions are fitted in the BN
at certain points of time like ``A has finished trail U'', ``A has
finished her session'', ``A has performed an input'', etc. We will
enlarge our hyperbook by input-pages: On these pages the user can
answer questions about the web-pages read so far (multiply-choice,
free-form, etc.) and the user can deliver exercises or whole
projects. The environment for the projects is provided by our KBS
Virtual Classroom Environment [9]. In this environment we
have personal mentors who review these projects - the mentors
judgement about the performance of the students within the projects is
used as an input to the user's BN.
The information in the user model is used by the navigational model: while generating links for the data model navigation the navigational model checks which of these links are actually useful for the user. Links leading to too advanced topics are not displayed on the web page while links leading to concepts that are already known are hidden or marked as inappropriate with a different colour. The visualization model uses the user model to determine the contents of a hyperbook page. The decision that a certain mime fragment (which belongs to a domain object) is displayed on the domain object's hyperbook page is made by querying the user model for the user's actual knowledge on this domain concept. So the user gets the information that is adapted to her actual knowledge state.
In the previous sections we have outlined how all data relevant to the hyperbook is stored in ConceptBase following a declarative meta model. Figure 8 shows the basic system architecture, which is based on standard components complemented by a server-side applet and the ConceptBase database manager. After logging into the system by activating the login applet a user-specific starting page is displayed. The user navigates the hyperbook by activating links. These links however do not represent static HTML pages but start CGI scripts instead. Whenever a hyperlink is activated the name of the corresponding domain object plus the name of the user are passed via a CGI script to a JAVA program on the server. This page composition program queries the data base for the fragments of the page representing the domain object and for the domain object's navigational possibilities. From this information it constructs a user specific page. It does so by combining the visible fragments in a HTML page. Then it updates the user model by marking this page as read. It outputs the HTML page, which is displayed in the user's WWW browser.
We have discussed a methodology and modeling framework for describing all aspects of hyperbooks, including a domain model, navigational model, visualization model and user model. While previous approaches to hypermedia design are restricted to domain and navigational modeling, our hyperbook models explicitly capture all relevant data needed to document and vizualize adaptive hyperbooks. These hyperbook models are also the basis for automated application-independent visualization of the hyperbooks using a standard WWW client/server architecture complemented by a generic page composing program.
We would like to thank Martin Wolpers for his contribution to the material presented in section 3.2.
Hyperbook Data Modeling
This document was generated using the LaTeX2HTML translator Version 96.1-h (September 30, 1996) Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html -split 0 ep.
The translation was initiated by Nicola Henze on Mon Dec 22 12:21:14 MET 1997