The Storage Layer
The storage layer describes the structure of a hypertext as a
finite set of components together with two functions: a resolver
function and an accessor function. These functions are responsible
for retrieving components, such as mapping specifications of components
into the components themselves.
In the storage layer, the basic unit and fundamental addressability
is the component, it can be an atom, a link or a composite made
up from other components.
Atom component
Typically thought of as nodes in a hypertext system (e.g. cards
in NoteCards, frames in KMS, documents in Intermedia, statements
in Augment).
Link component
Link is an entity to represent relationship between components.
A link specifier consists of a component specification, an anchor
id, a direction and presentation specification. Link component is
basically a sequence of two or more "endpoint specifications"
each of which refers to (a part of) a component in the hypertext.
Links also have directions. 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).
Composite component
Just a component which 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.
Each component is globally unique identify by its unique identifier
(UID). The accessor function of the hypertext is responsible for
"accessing" a component given its UID, i.e., for mapping
a UID into the component "assigned" that UID. UIDs provide
a guaranteed mechanism for addressing any component in a hypertext
document. Another function is the resolver function, it task is
to help component specification resolve to a UID, which then can
be used to access the correct components.