lnJormation and Software Technology 1994 36 (6) 315-322
Object-oriented modelling of hyperstructure: overcoming the static link deficiency H Maurer, N Scherbakov, K Andrews and P Srinivasan Institute for lnJbrmation Processing and Computer Supported New Media, Graz Universi O' ()f Technology, Schieszstattgasse 4a, A-8010, Austria
Although the object-oriented paradigm is well suited for modelling self-contained independent objects, it is not suited for modelling persistent relations (static links) between abstract data objects. At the same time, the concept of computer-navigable links is an integral part of the hypermedia paradigm. In contrast to multimedia, where the object-oriented paradigm plays a leading role, this 'static link' deficiency considerably reduces the application of object-oriented methods in hypermedia. In this paper, we present a new logical data model (the HM Data Model) which incorporates the well-known principles of object-oriented data modelling into the management of large-scale, multi-user hypermedia databases. The model is based on the notion of abstract hypermedia data objects called S-collections. Computer-navigable links are encapsulated within a particular S-collection and are also bound between S-collections. This approach not only overcomes the static link deficiency of the object-oriented paradigm, but also supports modularity, incremental development, and flexible versioning, and provides a solid logical basis for semantic modelling. Keywords: hypermedia, HM Data Model, object-orientation, abstract data objects, structured authoring
Hspermedia has become widely accepted as a methodology for storing and browsing multimedia data ~ 5. In the basic hypermedia paradigm, information is stored as a so-called h)perweb: a collection of nodes, primitive units of information, with links between nodes representing associative relationships. In this 'node-link model', retrieval of information is achieved by freehand browsing of the hyperweb. As hypermedia systems become larger, more dynamic and possibly distributed, it becomes less and less possible to create and maintain the entire hyperweb of information by means of the basic node-link paradigm 2"5-7. Let us review certain features of the basic node-link paradigm that are of paramount importance for further discussion: (1) Computer-navigable links exist between primitive nodes. (2) Links are global in the sense that they belong to the whole hypermedia database and have no local semantic context. (3) Links are static in that they are persistent and exist independently of a user session. (4) Browsing is planar (two-dimensional) in the sense that, generally, any desired node can be accessed from a particular starting node by means of link-based browsing.
09~0-5849/94/060315-08 ~! 1994 Butterworth-Heinemann Ltd
The simplicity of the node-link paradigm results in the following problems: (a) Non-trivial hyperwebs exhibit the well-known phenomena of 'becoming lost in hyperspace 's and 'the incoherence of information obtained by means of free browsing'~. (b) Link editing is tedious 2'7. (c) Deletion of nodes can cause serious consistency problems (dangling links) ~°t~. (d) Links do not generally carry explicit semantic meaning, which leads to problems of mixed semantics when multiple authors create links to and from the same nodes ~. These problems are usually discussed on three different levels: in terms of the user interface, semantic data modelling, and logical data modelling. At the user interface level, several solutions have been proposed, such as automatically generated graphical overview diagrams 35, context-specific hand-crafted overview diagrams 12, fisheye views t3, link filtering and ranking ~4, and knowledge agents t5~6. Semantic data modelling attempts to model particular application domains by defining meta-structures reflecting their semantics. Well-known examples include knowledge
315
Object-oriented modelling of hyperstructure: H Maurer et al.
structuring in Aquanet ~7 and exploratory policy discussion in glBIS ~. Normally, semantic data models are built on top of existing logical data models. This paper belongs to the logical data modelling level. The rest of this paper is structured as follows: the next two sections outline the motivation behind our work and discuss the application of object-oriented modelling to hypermedia. The fourth section contains a brief description of the HM Data Model (a fuller version is contained in a technical report ~9) and an illustrative example. In the penultimate section we discuss the implications of the HM Data Model and the paper ends with some concluding remarks.
Motivation and related work Logical data models are playing a crucial role in changing hypermedia database development from a 'hand-crafted' (and very often inconsistent) activity to a structured and rational process, based on well-defined design methods 2°. In other words, logical data models define common abstractions in order to combine large amounts of raw multimedia information into a logically integrated hypermedia database. We contend that the basic hypermedia paradigm offered by the conventional node-link data model makes hypermedia systems appear more confusing than they have to be; the notion of a link as something physically existing potentially limits our view to a very low, implementationoriented level much like the thinking of addresses, pointers, and branches that drove many programmers too close to implementational details until higher levels of abstraction made programming easier and more productive 7'2]. Of course this problem remains in the focus of the hypermedia community and has often been addressed 2'9'22 ,.7. A number of logical models based mainly on the notion of composite nodes, labelled/typed links, and a fixed number of levels of hyperweb (i.e. activity spaces) have been developed 6'9'2°'21'26'28'29. Although data structuring aspects (i.e. the representation and referencing of chunks of information) have been scrutinized in these models, behavioural aspects have been neglected. Instances of such data structure types are incapable of complex functionality and interaction which could be provided, for example, by the object-oriented paradigm.
Object-oriented modelling of hyperstructure An object-oriented data model defines not only data structures per se but also the behaviour of instances of such structures. These two features are combined into the concept of abstract data objects, which are instances of particular data classes. A class comprises the following components (properties): • a particular data structure and general integrity rules, which implicitly or explicitly define the set of consistent states of an object of the class; • a s e t of operations or methods (messages), which can be applied to (sent to) any valid object of the class. An object-oriented data model is a hierarchy of such classes, whereby properties may be inherited by subclasses from one or more superclasses 3°.
316
Generally, object-oriented modelling in hypermedia faces the well-known 'static links' deficiency of the object-oriented paradigm: the paradigm is not suited for modelling persistent relations (static links) between abstract data objects (see, for instance, Ullman3~). Simply speaking, there does not exist a basic concept of such relations in addition to the concept of abstract data objects. However, static links are an integral feature of the hypertext/hypermedia paradigm. In fact, only global (static) links are not well-modelled in the object-oriented paradigm, since they cannot be assigned to either one of the linked objects because this would create an artificial asymmetry. Although it is possible to introduce abstract data objects of some special 'link' class 6'14'25'32, this does not harmonize well with the model and creates serious problems with message passing between such 'links' and the related data objects; it also makes it hard to maintain consistency in the integrated database 3~'33. In contrast, local links encapsulated within a particular data object are modelled quite naturally. In this paper, we contend that the multitude of global links available in ordinary hypermedia systems (and illmodelled in the object-oriented paradigm) are often more confusing than helpful to users of such systems. In order to prove the concept that global links are not essential to hypermedia systems 27 and that a higher level of abstraction, where links play no (or a much smaller) role, is necessary to obtain more usable hypermedia systems 7'2~, we describe a new object-oriented hypermedia data model, the HM Data Model, where abstract data objects are the main units of interaction, rather than primitive nodes and links. Within the HM Data Model, all operations are addressed to particular abstract data objects. Links are bound between and encapsulated within such objects. In order to carry out global navigation without global links we also introduce a new dimension to hypermedia navigation. We believe that this approach overcomes the link deficiency of the objectoriented paradigm in hypermedia data modelling.
The HM Data Model In this section we strictly follow the traditions of the objectoriented community, whereby data structures cannot be separated from the operations available on such structures (i.e. from their behaviour). The HM Data Model is a hierarchy of data classes--a combination of data structure types, integrity constraints and operations carried out by instances of such types. No component should be considered in isolation. The HM Data Model's data structure types are similar to some extent to the well-known Dexter composites 26. However, in the HM Data Model they are additionally provided with integrity constraints and well-defined behaviour, i.e. they are not just composites as in other models, but fully fledged abstract data objects. Data structure types and integrity constraints The HM Data Model is defined by the class hierarchy depicted in Figure 1. A hypermedia database is modelled as a set of abstract data objects called S-collections ('structuredcollections'). S-collections are created as instances of
Information and Software Technology 1994 Volume 36 Number 6
Object-oriented modelling of hyperstructure: H Maurer et al.
ACCESS I~l
[~] CREATE[namc,contcnt.[head:S-collectionll
ZOOM IN I®1 S-collection ]OIDELETE ZOOM 5 U T l e I IIblINSERT MEMBER[member:S-collection/slot] II _ ~ b e r :
...]
J / ~ ~I ~ A\ C C E S S I1~J ~' ~
® /nheHtedmethods[ACCESS, CREATE, DELETE, etc] ) Inhgr[tanc~
Void
l~ CREATE ]q> DELETE
.f~ REMOVE LINK[...] INSERT_LINK[source:S-collection, target:...] N c ~ mgthods
Figure 1 S-collection class hierarchy previously defined system classes. All classes available within the HM Data Model are derived from the base class S-collection. In forthcoming sections, we discuss the structure and behaviour of S-collections. Every S-collection (instance) has a unique identifier, a name used by other S-collections for addressing, and generally a 'data unit' which will be called content henceforth. Executing the content will ordinarily cause some information to be presented (text, pictures, audio, videoclips, etc.). The term content is not formally defined any further: this is the task of specific implementations 3~~5 or of more detailed papers ~. An S-collection encapsulates a particular internal structure. The internal structure is a set of other S-collections (called members hence|brth) related by a number of computer-navigable links. One of the members of the Scollection must be designated as head of the S-collection. Note that we connect S-collections, not primitive nodes. Note also that links are encapsulated within a particular Scollection: they may only be defined between members of the same S-collection. In this sense, links belong to a particular S-collection; they do not belong to the hypermedia database or to either of the members related by the link, hence the 'local referential integrity '36 of the model. The H M Data Model provides a number of predefined subclasses o f S-collection. From a data structuring point of view, these predefined subclasses are similar to the hypermedia topologies introduced by Parunak -~7. Simply speaking, subclasses o f S-collection define a particular topology of encapsulated links, as can be seen in Figure 2. For the purposes o f this paper, it suffices to describe the fiw~"predefined subclasses illustrated in Figure 1 : Envelope, Folder, Menu, Freelinks, and Void: (1) Envelope. All members of an envelope are fully related, every member is linked to every other member. (2) F o l d e r . An ordered set of members, each member having links to 'next' and 'previous' members. (3) M e n u . A simple hierarchical structure; the head of a menu S-collection includes links to all other members,
hlf,'rmarion and So#ware Technology 1994 Volume 36 Number 6
and each member is provided with a link to the head. (4) F r e e l i n k s . Members of a freelinks S-collection may be arbitrarily connected by means of special I~,SERJ LINK and REMOVE LINK operations. (5) Void. An S-collection devoid of internal structure, having only content (for example, ' a ' . ' b ' , "c" and "i" in Figure 2). Classes 1 to 4 above are termed complex S-collections since they embody internal structure: class Void is termed simple. Complex S-collections may or may not have associated content; simple S-collections must have associated content. The H M Data Model also supports the concept of a slot. Slots have only a name, and are devoid of both content and internal structure. Slots are not instances of the previously defined classes, but place-holders for S-collections, Slots may be used as the source and destination of computernavigable links. Four important issues must be understood: (1) Conceptually, an S-collection X can be a member of n_> 1 other S-collections Y I , Y2 . . . . . Yn. This does not mean that X has to be physically stored n times: whether some clever pointer mechanism or other technique is used instead is part of the implementation and of no concern to the user. In this important sense the HM Data Model offers a higher level o f abstraction than models involving arbitrary links: in analogy to programming languages where abstract data types offer a higher level of abstraction than data structures based on explicit pointers. (2) Not only simple S-collections but also complex S-collections can be members of more than one Scollection. In this manner, larger 'chunks' of information (including their particular encapsulated navigational strategies) can be reused in various part,~; of a hypermedia database. (3) S-collections need not be 'stratified'. An S-collection may well consist o f some simple S-collections, some slots, and some complex S-collections.
317
Object-oriented modelling of hyperstructure: H Maurer et al.
~
Content
S-collection"a"
S-collection"b"
S-collection"d'
S-collection"i"
[
/ "-
,-
~ "
:
/
;
f
~
'"' : : ~ I
/
.-'" ¢i-'9 I
ffffffffffff
I
'
Ht ~
I<,
I === I~.=
i .a-4 ~
It/
S-collection"d"lenvelope)
IIIIIIIIIIIlUlIIII [ ~
~
~
.
~
/q
~
.~
: /f'
Head.
S - c o l l e e t i o n ' T ' l f r e elin ks]
S-co Ilection"g"(menul
Figure 2 Internal structure of S-collections (4) Recursive membership is both possible and meaningful.
Navigational operations Navigation within the HM Data Model is accomplished via three operations AccEss, ZOOM___IN, and ZOoM__OUT (see Figure 1), which are addressed to a particular S-collection. All S-collections can respond to the message AccEss. It implies executing the S-collection's content (i.e., presenting some text, picture, audio, video clips, etc.). Typically, a chunk of hypermedia information associated with the current S-collection is visualized on the user screen, but any kind of action can happen in response to the message AccEss if the corresponding method has been overridden. Complex S-collections without content forward the message to their head. Link following within the HM Data Model is simply a form of message passing. At any particular moment in time, the user can navigate only through a single, specific S-collection called the current container. Only members of the current container can receive messages during navigation. Links within the current container serve as a message passing paradigm. A concrete member of the current container is the current member for each particular navigational step. More precisely, the member that most recently received the message AccEss is the current member. Only members related (linked) to the current member can be accessed (can receive the message AccEss) in the next step of navigation. Consider, for instance, navigation through S-collection 'd' in Figure 2. S-collection 'd' is the current container. If S-collection 'a' is the current member, then it has been visualized (its content has been displayed by method AccEss), and the user has links to members 'b', 'c', and 'i' available in the next step of navigation. In our prototype implementation, links emanating from the current member
318
are depicted in the form of icons, buttons, clickable areas, etc. The user manually selects a link which results in the message AccEss being sent to the corresponding member. The issue of link visualization belongs to the level of the user interface (not the level of logical data modelling discussed here). This is why the concept of anchors 38 is not included in the HM Data Model. In hypertext applications, links attached to text anchors ('hot words' within a text) play an essential role. Other applications require other forms of user interface 6. The hypertext hot word paradigm can be implemented atop the HM Data Model simply by supplying an appropriate implementation of method AccEss. Since links are encapsulated within an S-collection, they become available for navigation only when the S-collection has been 'entered' by means of the Z O O M j N operation, which is available for all complex S-collections. The ZOOM___IN message is automatically addressed to the current member. For example, if the current member is Scollection 'e! in Figure 3, the user can apply the ZOOM__IN operation in order to make 'e' the new current container. After a ZOOM__IN operation, the head of the new current container automatically becomes the current member and is visualized appropriately (i.e. receives message ACCESS). The ZOOM__OuT operation is the complement of ZOOM~IN. ZOOM OUT restores the current container and current member to the state they had before the most recent ZOOM__.IN. Extending the functionality of ZOOM OUT to give access to any S-collection of which the current collection is a member 27 at first seemed attractive, but on reflection the possibility of users zooming out into a completely different context appeared to promote more confusion than understanding. Hence the rule is: 'you have to come out the way you went in'. Together, Z O O M j N and ZOOM OUT provide users with the capability of
Information and Software Technology 1994 Volume 36 Number 6
Object-oriented modelling of hyperstructure: H Maurer et al.
~--~---i
_ . f " - S-collection"g" [current container)
k ::i
....... ,r I ....
F ~
~
_
'N
/I---
/
t" ~ m e m b e r
' .J
\
S-collection "e" n e w current container] Figure 3 Messages 'ZooM~IN" and "ZooM OUT' navigating in a direction orthogonal to the conventional plane of link-based browsing. Thus, we say that the HM Data Model supports an additional dimension of browsing hypermedia databases. The three operations ACCESS, ZOOM__IN, and Z O O M OtJr constitute the navigational element of an S-collection's public interface. Navigation in our model leads to the activation of part of the public interface, not directly to information content (i.e. primitive nodes or anchors) as in many other models. In fact, this object-orientation eases many of the problems associated with the visualization and aggregation of composites.
Operations for modi~,ing the database New S-collection instances are created with the operation CREATE, whereby the name, content, and head are given as parameters as shown in Figure 1. Once an S-collection has been created, new members can be inserted and existing members removed by means of the operations INSERT__ MEMBER and REMOVEMEMBER. All links within Scollections belonging to the classes Menu, Envelope, and Folder are maintained automatically in accordance with their associated regular structure. Of course, the regularly structured subclasses do not restrict us from using S-collections having arbitrarily connected members. Users can create an S-collection of class Freelinks and explicitly define its link structure using the messages INSERI LINK and R E M O V E L I N K . The notion of links presented here should not be confused with that used in other hypermedia models, where links are essentially between primitive nodes, and references to composite hypermedia objects are achieved by links to primitive nodes within the composite 23"39or by some mapping mechanism onto the basic node-link structure 9'2°'2~. In our case, links and membership are simply mechanisms for reusing abstract data objects in different contexts via a special public interface. Notice that we do not map S-collections onto a global navigational level consisting of primitive nodes and links 92s4°, rather we treat them as existing accessible chunks of hypermedia information. All simple S-collections (those having content but devoid
lnfl~rmation and Software Technolog3, 1994 Volume 36 Number 6
of internal structure) belong to class Void, where the operations ZOOM IN, INSERT MEMBER, and R E M O V E MEMBER are suppressed. At any point, an S-collection can be deleted with the DELETE operation. In this case, its content and all links encapsulated within it cease to exist. If a deleted Scollection has been reused (defined as a member) by other S-collections, it continues to exist at the point of reuse in the form of a slot. Slots can be removed from or inserted into S-collections as parameters of the REMOVEMEMBER and INSERTMEMBER operations respectively (see Figure 1). The concept of slots allows us to solve three rather important problems of hypermedia systems:
• S-collections can be deleted without consideration of where they may have been reused. This ensures referential integrity 26,3~. • Co-authors become aware of changes to shared hypermedia resources when a slot is visualized, perhaps with a message like, 'No information available ''~. • Semantic recta-structures, including any predefined internal link structure, can be created on the top of the HM Data Model by using slots as place-holders 17. At the same time, this concept makes the HM Data Model 'seriously' object-oriented '~. That is, all operations are addressed to a particular data object (S-collection) and do not affect the private memory (link structure) of other objects, even indirectly. Users can either create instances of the predefined system classes (say, folders with different contents) or derive new purpose-built classes from them, inheriting some properties and overriding others (say, a new class 'folder of classified information'). Note that classes may also be combined through the concept of multiple inheritance.
Illustrative example As an example of the application of the HM Data Model, consider the situation in Figure 4. Suppose that we have numerous technical drawings of different parts of a car produced by a certain company: two engines (Engine-A and Engine-B), two transmissions (Transmission-X and
319
Object-oriented modelling of hyperstructure: H Maurer et al.
l Car#l :specifications
Enginc-A:specifications I [ Enqine-A:technical drawinqs I "~ J'~eA:operatin 9 modes I "'~ Engine-A:installatinn'manuai
IHead ~
[Engine-A I ITransmission-YI
[ ransmlsslon-v S-colicction"Engine-A"
S-collection " C a r # l "
Labe~ Car/t2:specifications I t t
,t.
Body-1 :specifications I
i
\
T
:z:~.-"~
S-collection "Car#2" •
.
.
.
.
,
[ E3ody-l:technical drawings J \ \ ~
]
Enginc~~nsmission-X
]
I Bod l:insta.ation mono.I I I Uar~'l [ [ t;ar•ZiTransmi:sion X l~ '~ l ~, Transmission-"( S-collection"Body-l"
S-collection " C a r s "
Figure 4
Example of a database structured using S-collections
Transmission-Y), and one body (Body-I). A typical hypermedia database according to the HM Data Model might store each drawing as the content of a simple S-collection. The drawings of a particular component might then be grouped into an S-collection of type Folder. The content (data unit) of Folder 'Engine-A: technical drawings' might typically include the company logo and a short textual description of the collection (e.g. 'This collection consists of technical drawings of Engine-A. To look through them one-by-one click now on Zoom In'). Suppose that 'Engine-A: technical drawings' is itself a member of 'Engine-A', which is an S-collection of type Menu and has other members 'Engine-A: operating modes', 'Engine-A: installation manual', etc. If 'Engine-A' is the current container and 'Engine-A: technical drawings' is accessed (clicked), its content (i.e. the text 'This collection consists of technical drawings of Engine-A. To look through them one-by-one click now on Zoom In') is visualized. If the user now clicks on button 'Zoom In', the first drawing is shown; the remaining drawings can be traversed by clicking buttons 'next' or 'previous' (the navigational aids available in a folder). Clicking on button 'Zoom Out' returns the user to Scollection 'Engine-A' and its navigational paradigm. Now clicking on another member of 'Engine-A' visualizes that member's content, clicking on button 'Zoom Out' leaves 'Engine-A', and so forth. This situation is typical of the navigational process in the HM Data Model and should be clearly understood: when a user accesses an S-collection B as a member of S-collection A, the navigational paradigm of A continues to be available. Only when B is entered (operation ZooM IN), is the navigational paradigm of B activated, and the navigational paradigm of A becomes unavailable. When now selecting a member C of B, B and C start to play the roles of A and B, respectively. Of course, operation ZOOM OUT allows backtracking to the navigational paradigm of A.
320
A hypermedia description of a particular car (say 'Car:# 1') can be realized in the form of an S-collection which combines previously defined S-collections. The content of S-collection 'Car:# 1' is responsible for displaying a picture of the car and suitable prompts, including 'Zoom Out' to return to the S-collection containing 'Car:# 1', if such an S-collection exists. Of course, all S-collections describing different models of car can be combined into an S-collection 'Models of Cars', those describing engines into an S-collection 'Engines', etc. By what has been explained so far it should be clear that the HM Data Model provides sophisticated structuring and navigational facilities. However, since our example has been mainly hierarchical (all cars--particular car--particular body, engine, and transmission thereof) many of the difficult issues of hypermedia systems have not been addressed. Yet the property that an S-collection may belong to many other S-collections, even recursively, provides all the necessary power to deal with more complex situations. Thus, for instance, if it is desirable to have references to descriptions of all cars having a particular engine within the description of the engine, the corresponding 'Car' Scollections are simply inserted into the S-collection 'Engine'. Analogously, if only a number of transmissions fit a certain body, the S-collection 'Body' can be extended with the relevant 'Transmission' S-collections, etc. Note the recursive membership of S-collections 'Engine-A' and ' C a r ~ 1' in the example in Figure 4. Such recursive membership elegantly handles the common situation where a user needs to access information about 'Engine-A' while browsing all information related to 'Car:# 1', or vice versa. Note that the concept of encapsulation of links makes this process extremely flexible. Any S-collection can be inserted into any other S-collection (message INSERT MEMBER) without considering the links directed to or emanating from it: new links having well-defined context (that of the containing S-collection) are added automatically; additional
Information and Software Technology 1994 Volume 36 Number 6
Object-oriented modelling ~[ hyperstructure: H .klaurer et al.
links can be added manually if desired (method INSERT__ LINK which can be inherited from the system class Freelinks). The asymmetry of most hypermedia models (some objects belong to one part of the database and other parts just link to it) disappears: an abstract object belongs in exactly the same way to all containers, wherever it is relevant.
Discussion of the HM Data Model We believe that the probability of becoming lost is much smaller if a hypermedia database is structured in accordance with the HM Data Model. The local referential integrity of the model coupled with the extra dimension of browsing give users a well-defined sense of their current location (for more details see Maurer et al.~). Questions concerning the combination of browsing and query facilities in hypermedia databases are discussed elsewhere (see Maurer et al.4e). The importance of the: 'serious' (in the sense of 3~) object-orientation of the HM Data Model cannot be overemphasized. All operations are addressed to a particular instance (of an S-collection) and do not affect other instances, even indirectly. Recall that links in the HM Data Model are encapsulated within S-collections; they do not belong to the S-collections related by such links and do not exist as independent data objects. Hence, links are modified by means of operations addressed to the particular Scollection encapsulating them. This feature allows the HM Data Model to address the following issues of creation and modification of large-scale, multi-user hypermedia databases: (al A powerful link-maintenance mechanism to ensure the integrity and consistency of the hypermedia database during modifications -~. (b) The modularization and reuse of (complex) hypermedia resources 2.2~. (c) The rapid prototyping (incremental development) of hypermedia databases 4~ including support for global coherence ~. (d) Flexible versioning of an integrated hypermedia database 2.~ (e) The creation of a solid logical basis for the semantic modelling of different application domains w2°. We leave it to the reader to decide whether the linkmaintenance mechanism described in the section headed 'Operations for modifying the database' is powerful enough to solve issue 'a'. The remaining issues are discussed below in the context of serious obJect-orientation. Firstly, we contend that the HM Data Model supports the modularity and reusability of hypermedia resources. In fact, a hypermedia database is built from independently created abstract data objects (S-collections), but they are fully compatible via flexible nesting and a standard public interface. For instance, the S-collections 'Engine-A', "~Iransmission-Y', 'Cars', etc. may well be created by different authors at different times. Such hypermedia modules can be reused by authors of new modules. For example, the reuse of S-collection "Body-1' by the authors ol S-collections 'Car:# 1', 'Car:#2', etc. We contend that the HM Data Model supports rigid
h!¢i~rmation and S~?/?ware Technology 1994 Volunw 36 Number 6
prototyping of hypermedia databases. Further development (or modification) of S-collections does not affect their participation within other S-collections. For example, initially the S-collection 'Engine-A' can be defined quite primitively (for instance, as a simple S-collection including only the specification of the engine or a slot) and then further developed by inserting new members (say, the Scollections 'Engine-A: installation manual', 'Engine A: operating modes', 'Car:# 1', etc.), which in turn can be further developed without taking into consideration their participation within other S-collections. Not yet existing parts of the hypermedia database can be defined in the form of slots (say, slots 'Engine-C', 'New Body', "Best Selling Cars', etc.) and referred to within existing S-collections. Of course, such place-holders will be automatically replaced with S-collections containing information in due course. Moreover, in the HM Data Model, references are made to logical entities (abstract data objects) which encapsulate particular navigable structures, rather than primitive units of hypermedia information. See, tbr example, the references to S-collections 'Car:# 1', 'Engine-A'. etc. in Figure 4. Note also that references are made in a particular local context. Consider, fl)r example, the references to the Scollection 'Engine-A" in the context of 'Car:# 1" and 'Car:#2". Thus, we can say that the context of links are captured (well-defined) by the S-collection they belong td ~-''~. We believe that this kind of reference supports coherence and homogeneity within a hypermedia database ~' ~:~". Serious object-orientation renders the debate as to whether versioning should be applied to primitive nodes, links, or composites ~ obsolete. In the HM Data Model, versions are applied exclusively to abstract data objects. A new version of an S-collection is created explicitly by its author and takes precedence over previous versions, unless a user specifically requests an older version. The HM Data Model provides a solid logical basis lk)r the semantic modelling of different application domains. Templates for instances of domain-specific logical data structures are created in the form of categories: domainspecific classes derived from predefined system classes (envelope, menu, folder, etc.). A particular internal structure for the category is defined using the concept of slots. The hypermedia database can then be created as a combination of instances of previously defined categories--authors simply select a particular category and fill in the necessary multimedia information in accordance with the predefined structure (strait-jacketing authors4a). Note that one instance of a category on the semantic level corresponds to exactly one instance of an S-collection on the logical level, overcoming the need for complicated mapping mechanisms.
Concluding remarks We have outlined the 'static link' deficiency of the objectoriented paradigm when used to model hypermedia data containing global links. This deficiency can be overcome by applying the principles of serious object-orientation and encapsulating links within the local context of an abstract data object. The HM Data Model is a logical hypermedia data model
321
Object-oriented modelling o f hyperstructure: H Maurer et al.
based on abstract data objects called S-collections, which represent reusable 'chunks' of hypermedia information (of any size). An S-collection may embody internal structure: hypermedia links are encapsulated within an S-collection and are bound between its member S-collections. This approach not only overcomes the static link deficiency of the object-oriented paradigm, but also supports modularity, incremental development, and flexible versioning, and provides a solid logical basis for semantic modelling. A prototype MS-Windows based system implementing the HM Data Model, called HM-Card, has been developed and is available as shareware by anonymous ftp from iicm.tu-graz.ac.at in directory pub/hmcard.
18
19 20
21 22
23 24
Acknowledgements We would like to thank our anonymous referees for their very valuable comments on earlier drafts of this paper. We are grateful for the financial support of the Austrian Federal Ministry of Science and Research for this project.
25
26 27
28
References 1 Halasz, F, Moran, T, Trigg, R 'Notecards in a nutshell' Proc. ACM CH1'87 (1987) pp 45-52. 2 Halasz, F 'Reflection on Notecards: seven issues for the next generation of hypermedia systems' Comm. ACM Vol 31 No 7 (July 1988) pp 836-852 3 Conklin, E J 'Hypertext: an introduction and survey' 1EEE Computer Vol 20 No 9 (September 1987) pp 17-41 4 Tomek, I, Khan, S, M/ildner, T, Nassar, M, Novak, G and Proszynksi, P 'Hypermedia--Introduction and Survey' J. of MCA Vol 14 No 2 (April 1991) pp 63-103 5 Nielsen, J Hypertext and hypermedia Academic Press (1990) 6 Maurer, H and Tomek, I 'Hypermedia--from the past to the future' in Maurer, H (ed) New results and new trends in computer science LNCS 555, Springer (1991) pp 320-326 7 Van Datum, A 'Hypertext '87 Keynote Address' Comm. ACM Vol 31 No 7 (July 1988) pp 887-895 8 Edwards, D M, Hardman, L '"Lost in hyperspace": Cognitive mapping and navigation in a hypertext environment' in McAleese, R (ed) Hypertext: theory into practice Intellect Limited (1989) pp 105-125 9 Thuring, M, Haake, J M, Hannemann, J 'What's Eliza doing in the Chinese Room? Incoherent hyperdocuments--and how to avoid them' Proc. ACMHypertext '91, San Antonio (December 1991) pp 161-177 10 Gronbak, K, Trigg, R H 'Design issues for a Dexter-based hypermedia system' Proc. ECHT'92, 4th ACM Conf. on Hypertext & Hypermedia. Milan (December 1992) pp 191-200 11 Streitz, N, Haake, J, Hannemann, J, Lemke, A, Schuler, W, Sch/itt, H and Thfiring, M 'SEPIA: a cooperative hypermedia authoring environment' Proe. ECHT'92, 4th ACM Conf. on Hypertext & Hypermedia, Milan (December 1992) pp 11-22 12 Nielsen, J 'The art of navigating through hypertext' Comm. ACM Vol 33 No 3 (March 1990) pp 296-310 13 Furnas, G W 'Generalized fisheye views' Proc. ACM CHI'86 (1986) pp 16-23 14 Tomek, I, Maurer, H 'Helping the user to select a link' Hypermedia Vol 4 No 2 (March 1992) pp 111-122 15 Bieber, M 'Issues in modelling a "Dynamic" hypertext interface for non-hypertext systems' Proc. ACM H)pertext'91, San Antonio (December 1991) pp 203-217 16 Shibata, Y, Katsumoto, M 'Dynamic hypertext and knowledge agent systems for multimedia information networks' Proc. ACMHypertext '93, Seattle (November 1993) pp 82-93 17 Marshall, C C, Halasz, F, Rogers, A and Janssen, W 'Aquanet: a
322
29
30 31 32
33 34 35 36
37 38
39 40
41 42 43 44
hypertext tool to hold your knowledge in place" Proc. ACM Hypertext'91, San Antonio (December 1991) pp 261-276 Conklin, E J, Begeman, M L 'glBIS: A hypertext tool for argumentation' ACM Trans. Office Inform, Syst. Vol 6 No 4 (July 1988) pp 303-331 Maurer, H, Scherbakov, N The HA1 Data Model IlG Report, Graz (March 1993) Garzotto, F, Paolini, P, Schwabe, D 'HDM--A model-based approach to hypertext application design" ACM Trans. Inform. Syst. Vol 11 No 1 (January 1993)pp 1-26 De Young, L 'Links considered harmful' Proc. ECHT'90, Versailles, Cambridge University Press (November 1990) pp 238-249 Yankelovich, N, Haan, B, Meyrowitz, N and Drucker, S 'lntermedia: the concept and the construction of a seamless information environment' IEEE Computer Vol 21 No 1 (January 1988) pp 81-96 Zellweger, P T 'Scripted documents: a hypermedia path mechanism' Proc. ACM Hypertext'89, Pittsburgh (November 1989) pp 1-14 Stotts, P D, Furuta, R 'Adding browsing semantics to the hypertext model' Proc. ACM Document Processing Systems Conf., Sante Fe (1988) pp 43-50 Marmanl~, M, Schageter, G 'Towards a better support for hypermedia authoring: the Hydesign Approach' Proc. ECHT'92, 4th ACM Conf. on Hypertext & Hypermedia, Milan (December 1992) pp 232-241 Halasz, F, Schwartz, M 'The Dexter hypertext reference model' Proc. Hypertext Standardization Workshop, Gaithersburg (January 1990) pp 95-133 Parunak, H V D 'Don't link me in: set based hypermedia for taxonomic reasoning' Proc. ACM Hypertext'91, San Antonio (December 1991) pp 233-242 Casanova, M A, Tucherman, L, Lima, M, Netto, J, Rodriguez, N and Soures, L 'The nested context model for hyperdocuments' Proc. ACM Hypertext'91, San Antonio (December 1991) pp 193-201 Furuta, R, Stotts, P D 'The trellis hypertext reference model' Proc. Hypertext Standardization Workshop, Gaithersburg (January 1990) pp 83-93 Kim, W, Lochovski, F H (eds) Object-oriented concepts, databases and applications Addison-Wesley (1989) Ullman, D 'A comparison between deductive and object-oriented database systems' Proc. 2nd Int. Conf. DOOD'91 (LNCS566), Springer (1991) pp 263-277 Osterbye, K 'Structural and cognitive problems in providing version control for hypertext' Proc. ECHT'92, 4th ACM Conf. on H~pertext & Hspermedia, Milan (December 1992) pp 33-42 Panel Session 'Database support for hypertext" Proc. 15th Int. Conf. on VLDB (1989) pp 183 HM Card HM Card: Introduction to the system. Technical Documentation, Graz University of Technology (1994) HM Card HM Card: Editor and linker. Technical Documentation, Graz University of Technology (1994) Kappel, G, Schrefl, M 'Local referential integrity' Proc. EntityRelationship Approach--ER'92, Karlsruhe, Germany, LNCS 645, Springer (1992) pp 41-57 Parunak, H V D 'Hypermedia topologies and user navigation' Proc. ACM Hypertext'89, Pittsburgh (November 1989) pp 43-50 Haan, B J, Khan, P, Riley, V, Coombs, J and Meyrowitz, N 'IRIS hypermedia services' Comm. ACM Vol 35 No 1 (January 1992) pp 36-51 Kappe, F Aspects of a modern multi-media information system IIG Report 308, Graz University of Technology (June 1991) Botafogo, R B A, Schneidermann, B 'Identifying aggregates in hypertext structures' Proc. ACM Hypertext'91, San Antonio (December 1991) pp 63-74 Maurer, H, Scherbakov, N, Srinivasan, P 'A new hypermedia data model' Proc. DEXA '93, Prague, Czech Republic, LNCS 720, Springer (1993) pp 685-696 Maurer, H, Kappe, F, Scberbakov, N and Srinivason, P 'Structured browsing of hypermedia databases' Proc. VCHCI'93, Vienna, LNCS 733, Springer (September 1993) pp 51-62 Roddick, J F 'Schema evolution in database systems--an annotated bibliography" ACM S1GMOD Record Vol 21 No 4 (December 1992) pp 35-40 Andrews, K, Kappe, F 'Strait-jacketing authors: user interface consistency in large-scale hypermedia systems' in Frei, H P, Schfiuble, P (eds) Proc. Itypermedia'93, Springer (March 1993) pp 130-137
Information and Software Technology 1994 Volume 36 Number 6