[]
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