Nodes, Links and Anchors in the Tower Model

A node is described by an object-identification (oid) and a value.

An anchor is described by an object-identification and a value (which should represent, possibly among other things, an node oid and the location of the anchor within that node).

A link is described by an object-identification, a source anchor, a destination anchor and a value.

In this model, nodes, links and anchors are all first-class citizens, having an oid, and a value which an be anything. Having anchors as first-class citizens allows for more complex links than just links relating entire nodes. Separating the anchor information from the links and the nodes also has the advantage of isolating the linking mechanism from the details of the connected nodes. Such isolation is important in a hyperdocument model intended to support the integration of information from a heterogeneous collection of sources.

Objects can be nodes, links or anchors. A value of a node, link or anchor object can be: a basic value (chosen from application-dependent classes), a composite value, a tower value or a city value. Composite objects, Tower objects and City objects are described separately.

The value of a node models an information chunk which, depending on the application, can be either simple, such as a byte string, or complex, such as a form. Thus we consider an extensible collection of values for the basic nodes. The contents of a basic node are opaque to the hypermedia system and are manipulated through node-specific methods (e.g. specialized editors).

A basic anchor represents a location of a link's endpoint in a node. It can be a familiar type such as a position within a text node, or an application-dependent location within a more complex node such as an engineering 3D model, which is a 3D coordinate.

A basic link is a simple relationship between two basic anchors, i.e. a link between two (endpoints within two) nodes. Such a relationship could, for instance, model an order of reading as intended by the document's author. For basic links the values are chosen from an application-dependent domain of relationships.