[] DejaVU Online -- Project DejaVu (1992)
[] - [up] [up] introduction background hypermedia components studies conclusions

Theoretical Studies

Our approach raises a number of interesting theoretical questions that deserve to be studied independently from a more theoretical perspective. The issues that need to be clarified concern the mechanisms needed to allow applications or components thereof to interact, the means by which (hierarchically) structured applications may store and share information, and the opportunities for automatically generating links based on information with respect to the documents type (and possibly its contents). Also, we plan to study the more general software and knowledge engineering issues involved in developing complex hypermedia applications.

Inter-application Interaction Mechanisms

Currently, we are studying a number of interaction mechanisms proposed in the literature, e.g. [Helm et al, 1990]. From a more pragmatic perspective, the tool-cooperation protocol employed in the Field-environment has served as an example [Reiss, 1990b]. Also, we have been led by the ideas embodied in Tcl/Tk, such as the primitive [Ousterhout, 1990]. Another source of inspiration is [Dharap and Narayana, 1992], which describes an incremental distributed editing environment. The interaction protocol employed there is based on semantic actions, allows a central server to propagate the changes invoked by multiple independent clients.

For the DejaVu framework we aim at a formalism describing the interaction between objects in a general and formal way. As a starting point we have taken the notion of contracts , as proposed in [Helm et al, 1990] and [Meyer, 1988]. Contracts allow to specify the interaction between components of a system in a declarative way. The contracts formalism allows, moreover, for the refinement of contracts analogous to the inheritance refinement relation offered by object oriented languages.

Hierarchical Information Systems

The functionality of hypertext systems is usually expressed in a very informal and operational way. We wish to develop a mathematically more satisfying semantics. Such a semantics must deal with the way hierarchically structured information systems deal with shared information, how information is accessed and what information may be retrieved at a certain moment in time. More in particular, the semantics must be able to give an account of the way the system processes events, such as the definition of links and the loss of information. References to relevant literature in this area are [Garg, 1988] and [Stotts and Furuta, 1988], and (for a theoretical perspective on inheritance systems) also [Touretzky, 1986].

Document Type Inference

Another interesting theoretical issue is how we may automatically provide links. One possible route is to use structural information to establish containment relations and the existence of forward and backward directed links. Another route, however, is to exploit the information that is implicitly contained in the document type. An example of this is may be found in the relation that exists between documents generated in successive phases of a software component. Obviously, the documents that are produced during analysis must correspond with documents produced during the design and implementation. A system may automatically provide the links necessary for navigating between these documents.

The (software/knowledge) engineering of hypermedia applications

In [Howell, 1992] a number of guidelines for developing hypermedia applications are presented. The guidelines proposed are derived from a classical waterfall conception of the software life-cycle. Working in a distributed setting, we think that it is necessary to develop our own set of guidelines. Cf. [Shatz and Wang, 1987]. Our approach lies closer to a prototyping framework and does not easily fit in a more classical life-cycle model. Recall that we provide a rather complex software platform based on a linguistic symbiosis between a low-level system implementation language (Active C++) and a high-level logic based language (DLP). In addition, we provide an extendible command language. Together, this offers a very powerful and flexible platform, but we do not expect that it will be particularly easy to master.

Our framework allows for a gradual refinement of specifications, but for such an approach to work it is necessary to provide clear guidelines and examples of 'how to do it'. For this we must develop an understanding of the appropriate idioms for developing hypermedia applications. Equally important is that we gain understanding of how to employ inferential links in order to provide the developer of an application with adequate guidelines in this respect also.


[] - [up] [up] introduction background hypermedia components studies conclusions
Hush Online Technology
hush@cs.vu.nl
09/10/98