Cities in the Tower Model

An object in a hyperdocument is often viewed from different perspectives depending on the way it is accessed. Thus, an animation node might be viewed as an animation film by a link referring to it from the text that it illustrates, and as a code sequence when accessed from the editor. Similarly, a hyperdocument is often divided into multiple conceptual spaces. For example, in an information retrieval application, information can be divided into two related but separate collections: a base set of cards, and an index representing a collection of terms [Bruza-90].

The important difference between the city concept and the tower concept is the fact that the different elements of a city deal with a different use of an object: the information is basically the same, but it is styled differently for separate users in order to create separate user views. The different elements of a tower describe rather independent aspects of an object: the information deals with the same object, but in general the described aspects do not have anything in common except the fact that conceptually they describe the same entity.

The city constructor packages together the different views of a basic or composite object. A city object is an object with a city value. A city value is a mapping from a parameter space into a set of tower objects. The parameter space would be either a set of names or a data type. The elements (in the range) of a city are called views. Each such view is a tower describing the object from a particular (user) perspective. These views modularize the information according to the different ways in which it may be accessed by different reader groups.

In simple cases these views correspond to different roles of the same object. Thus, the different conceptual spaces within an information retrieval system can be modeled as two views in a city: a view including the collection of information chunks to be directly browsed, and a view consisting of the set of terms over which intelligent search can be performed.

Another example is a city for a three-dimensional solid model of a machine part may consist of different cross sections projected from the model which are parameterized by the cross section angle. That city is thus defined by a mapping from angles to cross sections.

While cities occur most often with nodes, they are also useful for links and anchors. Thus, a link into a source code node would be a city of two views. The first view links into the text of the source code, while the second defines an active link whose traversal causes an execution of that source code.

Another example of views of links and anchors is the use of fisheye views on the network structure of a hyperdocument. The presentation of the links depends on a parameter: the current node (which is the center of the fish-eye view).