An Interaction Engine
for Rich Hypertexts
Kasper ?sterbye and Kurt N?rmark
This paper was presented at the ACM European conference on hypermedia technology, ECHT'94, and obtained by ftp from ftp.iesd.auc.dk/pub/reports/papers/osterbye94c.ps.Z
In semantically rich hypertexts it is attractive to enable presentation
of a network of nodes and links at different levels
of abstraction. It is also important that the user can interact
with the hypertext using a command repertoire that reflects
the chosen abstraction level. Based on a characterization of
rich hypertext we introduce the concept of an interaction engine
that governs the separation between internal hypertext
representation and external screen presentation. This separation
is the key principle of the HyperPro system. The
HyperPro interaction engine is based on simple rules for presentation,
interpretation of events, and menu set up. Much of
the power of the interaction engine framework comes from
the organization of these rules relative to the type hierarchy
of nodes and links, and relative to a hierarchy of so-called
interaction schemes. The primary application domain discussed
in the paper is program development and program
Keywords: tailorability, interaction engine, aggregated views, event control, program development.
The topic of this paper is development of interaction techniques on hypertexts that represent information from regular and structured domains. Our primary interest is hypertexts which represent source programs, program documentation, and similar information captured during program development or maintenance. However, the interaction techniques we have developed are of interest to developers of a much broader set of hypertexts, which we will call ?rich hypertexts?.
In rich hypertexts all the nodes have types. The type of a node may reflect its role in the hypertext, e.g. its syntactic
?Department of Mathematics and Computer Science, Fredrik Bajers Vej 7E, 9220 Aalborg ?, Denmark. (Internet: firstname.lastname@example.org and email@example.com). This research was supported in part by the Danish Natural Science Research Council, No. 11-0061.
category. The nodes in rich hypertexts are connected by typed links. In many application domains it may in addition be important to ensure that a rich hypertext obeys a set of topological constraints. A structure may be imposed on the contents of nodes as well. Thus, the ?richness? stems from the typing of both nodes and links and from the degree of structuring at the microscopic level1 (inside nodes and links) as well as at the macroscopic level (among nodes and links).
Rich hypertexts may appear in a variety of different application domains. One such domain is engineering as discussed by Malcolm et al. in , and illustrated by the systems Dynamic Design , Ishys , and the present paper. Another domain is structured argumentation, as represented by gIBIS , Authors Argumentation Assistant , and AquaNet . In  Nanard and Nanard use the term rich hypertext structure model to cover essentially the same notion.
In most hypertext systems it is satisfactory to show only one node in one window. In our work, however, we emphasize the creation of coherent, textual views on several nodes and links. Such views typically consist of aggregation of text from several interlinked nodes. We strive for independence between (1) the internal node and link representation and (2) the presentation of the hypertext on the screen. Hereby the views can be adapted or customized, without altering the underlying node and link representation. In order to enhance the readability we also find it important to control the textual decoration (fonts, colors, and indentation) of each constituent in a view.
In order to gain practical experience with our ideas we have built an experimental system called HyperPro. The HyperPro system provides an extensible data model and powerful means for tailoring the interaction with user-defined nodes and links.
We organize the node and link types in a hierarchy with inheritance. The top of the hierarchy is EntityType, of which Node and Link are subtypes. EntityType specifies that attributevalue pairs can be attached to all entities. Links are one-
1The microscopic level corresponds to the within component level in the Dexter model of hypertext . The macroscopic level corresponds to the storage level in that model.