Common abstractions of hypertext systems

The objects that are common to hypertext systems are nodes and links. Node is a unit of information. The relationships between different nodes are links. This is the essence of hypertext.

Many models have evolved to refine, formalize and find a common abstraction in hypertext systems [survey from N. Carolina paper]. However,the Dexter model is the most complete and general formal model of hypertext systems.[extension of dexter paper] The model defines standard hypertext terminology and specifies common abstractions in different hypertext systems.

Dexter Reference Model

The Dexter Reference Model separates a hypertext system into three layers -- the run-time layer, the storage layer and the within component layer. The major focus of the model is on the storage layer. This model also defines some common terminology in hypertext field. The traditional hypertext term 'node' is not used because it has different meanings across different hypertext systems. Instead, the term component is used, which is defined later in this section. The diagram below shows the relationship between the three layers.

Figure 1. Layers of the Dexter Model

Storage Layer

The Dexter Reference Model focuses on the storage layer. This layer describes how the hypertext components and links are connected together. The basic unit in this layer is component which is a used as a container for data. Each component contains sets of attributes, presentation specification, anchors, and content specification.

Attributes
can be any information related to the component. For example, the date the component is last changed, the ownership of the component, or the type of the content of the component.
Presentation specifications
contain information on how the component is displayed. It may include things like the preferred number of colors to display a gif file, the size of the window to be displayed, and the location of the window.
Anchor
consists of an anchor id and an anchor value. The anchor value is used to locate a part of the content of the component. It depends on the structure of particular applications, documents, or data types on how to interpret an Anchor. For example, if the content of the component is a text file with 10 lines, an anchor id of #firstline and an anchor value of 1 may refer to the first line of that file. However, in a Web Browser, #( #firstline 1) may represent an anchor which refers to the first component in the view.

Content specification
can be anything, such as a gif file, an image, a collection of hypertext components, or a collection of link specifiers. This is interpreted by the within-component layer.
There are basically three types of component-- atomic component, composite component and link component.

Atomic component
is what is typically thought of as nodes in a hypertext system (e.g. cards in NoteCards, frames in KMS, documents in Intermedia, statements in Augment)[first dexter paper].

Composite component
is composed of other hypertext components. For example, the content of a composite component may be composed of two atomic components, one composite component and two link components.

Link component
connects other components together. Its contents are a collection of two or more link specifiers. Each link specifier represents one end point of a link component. For a two-way link, there are two specifiers. For a three-way link, there are three specifiers... and so on. A link specifier consists of a component specification, an anchor id, a direction and presentation specification. The direction indicates whether the end point is to be considered as a source (FROM), a destination (TO), both a source and destination (BIDIRECT) or neither a source nor destination(NONE). In a HTML document A, suppose there is a link that connects to to document B. The link component has two link specifiers. The specifier for the side of document A is has direction equal to NONE and component specification equal to the URL of document A. The other specifier has direction TO and component specification equal to the URL of document B.

Run-time Layer

The run-time layer deals with the user interface aspects in a hypertext system. Example functions in this layer are displaying a gif file hypertext component, resolving the link after a user click on an anchor of a hypertext document and then retrieve and display the destination document addressed by the link. The model doesn't say much in this layer because there are so many possibilities for handling user interface. However, the model uses presentation specifications as the interface between the storage layer and the run-time layer. Presentation specifications contains instructions on how the component is displayed. may include things like the preferred number of colors to display a gif file, the size of the window to be displayed, and the location of t he window.

Within-component Layer

The within-component layer is responsible for the content selection of individual component through anchors. Content selection means the selection of a portion of the content. If the content of a hypertext component is a file, the ability to locate and display only the second line of this file is an example of content selection.