Ian Heath, Wendy Hall
Department of Electronics and Computer Science
The University of Southampton
Southampton, UK.
SO17 1BJ
fax: +44 1703 592865
e-mail: ih@ecs.soton.ac.uk
Microcosm consists of a number of autonomous processes which communicate with each other by a message-passing system (Figure 1). No information about links is held in the document data files in the form of mark-up. Instead, all data files remain in the native format of the application that created them. All link information is held in link databases (linkbases), that hold details of the source anchor (if there is one), the destination anchor and any other attributes such as the link description. This model has the advantage that it is possible to have different sets of links for the same data, and also it is possible to make link anchors in documents that are held on read only media such as CD-ROM and videodisk.
Microcosm allows a number of different actions to be taken on any selected item of interest, so use of the system involves more than simply clicking on buttons to follow links. In Microcosm the user selects the item of interest (for example a piece of text) and then chooses an action to take. A button in Microcosm is simply a binding of a specific selection and a particular action.
It is worth looking at two ways in which Microcosm and an external application
might be coupled together.
This provides a very simple method for invoking these same hypermedia
functions from an external application. Provided there is some method by
which information about the document can be extracted from the application
(for example, the current selection, the location, the name of the document
being displayed), exactly the same interactions with the hypermedia system
can take place as above.
How easily an application is integrated, and how much effort will be required
to achieve that integration can be calculated by considering the following items :-
In the Microcosm system, a filter can be considered analogous to an information
system. It receives messages from other processes, makes some decision based
upon that message and may, as a result, generate new messages for other filters.
Protocols exist within Microcosm to govern the way in which processes interact
to perform specific tasks (for example, link generation, retrieval, navigation
or display). Any new information system that wishes to enrich the Microcosm
environment can do so by participating in these protocols.
The selection/action model used for initiating a task within Microcosm means
one process does not have to be specifically aware of the existence or particular
implementation of another process which will participate in the task (unless,
of course, the process requires this ability). However, the system is not limited
to just these protocols. It is possible to extend the set of possible tasks and
thus protocols understood by the system at any time. If a particular application
requires additional functionality, this can be added by implementing a new filter
that can then be plugged straight into the system, even while it is running.
Because of this approach, the problem of integrating external information systems
is reduced (again) to that of understanding the messages Microcosm uses and
interacting with any protocols which are appropriate. In one example, a
Prolog rule-base was integrated with Microcosm to provide a simple expert system
for the location of faults in a factory environment [Heath94]. Here, an interface
layer (or shim) was written to allow the Prolog rule-base to become a part of the
Microcosm environment. Also, a private protocol was designed so that a separate
form-based user interface could both query the rule-base and access the rich link
structure already available within this application.
This is not to say that it is a trivial task to integrate any information system.
The information system needs to be more closely integrated with the hypermedia
system as it has to actively participate in the protocols it has to deal with,
and can not simply "fire-and-forget" messages as can the external application
described in section 2. Because of this active participation, any interface layer
(shim) has to be tightly coupled to the particular information system,
making the building of generic tools a more difficult proposition.
However, for hypermedia systems to be fully able to interact with other
applications in a particular working environment requires support for
inter-application co-operation at the operating system level. This is starting
to happen, as manufacturers embrace the open standards being developed for the
various environments (AppleEvents on the Macintosh, OLE Automation for Windows).
This also requires application developers to make use of these features so generic
integration tools can be built. However, this is still new technology and as such
will only be embraced by the current state-of-the-art application builders. There
are still a large number of legacy systems being used which will still have to be
dealt with, probably by employing some of the methods described above.
[Davis94] Davis, H.C., Knight S. & Hall, W.
Light Hypermedia Link Services: A Study of Third Party Application Integration.
Proceedings of the ACM European Conference on Hypermedia Technology,
ECHT'94, Edinburgh, Scotland, September 18-23, 1994, pp 41-50
[Fountain90] Fountain, A.M., Hall, W., Heath, I. & Davis, H.C.
MICROCOSM: An Open Model for Hypermedia with Dynamic Linking,
in A. Rizk, N. Streitz & J. Andre eds. Hypertext: Concepts, Systems and Applications.
The Proceedings of the European Conference on Hypertext,
INRIA, France, pp 298-311 Cambridge University Press. 1990
[Heath94] Heath, I., Hall, W., Crowder, R.M., Pasha, M.A. & Soper P.J.
Integrating a Knowledge Base with an open Hypermedia System and its application in an Industrial Environment,
Proceedings for 3rd International Conference on Information and Knowledge Management
CIKM'94 Workshop on Intelligent Hypertext Nov 29 - Dec 1, 1994, NIST Gaithersburg, Maryland.
Figure 1: The Microcosm Model
The basic Microcosm processes are viewers and filters :-
2. External Application Integration With Microcosm
It has always been a goal of the hypermedia community to provide information
management systems which are not restricted to their own private data sets
but which can encompass any and all of the information a person may wish to
access when carrying out some task. The Microcosm system, with its loosely
coupled process model provides a suitable framework within which external
applications can be integrated. It also provides a unique plug-and-play
environment, where new functionality can be easily added into system by
adding new processes. Also, the selection/action model provides a simple
gateway to system functionality. Finally, a simple, unstructured, ASCII-based
message format allows the widest possible range of applications to interpret
and generate messages for the system.
Although these two integration scenarios are not mutually exclusive, it is
worth considering them separately as each of them provides valuable insight
into the problems associated with this area.
3. Extending an External Application
The Microcosm system provides a very simple model for all applications that
require hypermedia functionality. As was described above, a viewer is
responsible for displaying and allowing the user to interact with
information, and then generate requests to the hypermedia system based on
that interaction. This may be explicit (for example, the user has asked
to find any links which are bound to "horse" at this location in this
document) or implicit (for example, the system has just opened this
document, tell me where any buttons are located). In either case, the
method for initiating these tasks is the same, by constructing and
sending a Microcosm message.
4. Extending the functionality of the Hypermedia System
For hypermedia systems to gain commonplace acceptance, they need to be
able to draw from a wide range of resources, not necessarily static in
nature. Currently, however, these hypermedia systems are considered to
be separate from other information systems (for example, spreadsheets,
databases, rule-bases, etc.).
5. Conclusions
The Microcosm model, often described as a link service, provides external
applications with access to hypermedia functionality for minimal effort. The
degree to which this functionality can be integrated with the application is
only dependent on the flexibility of the application itself. The message passing
and protocols makes the system easy to extend and to drive externally. It is
possible to develop new protocols in order to add new features that the system
doesn't support. By exploiting operating system features, Microcosm can "play
tricks" to integrate the vast majority of applications through tools such as
the Universal Viewer. However, there is still a degree of user intervention
required before an external application and Microcosm can co-operate.
6. References
[Davis92] Davis, H.C., Hall, W., Heath, I., Hill, G.J. & Wilkins, R.J.
Towards an Integrated Environment with Open Hypermedia Systems.
Proceedings of the ACM Conference on Hypertext, ECHT'92,
Milan, Italy, December 1992, pp 181-190. ACM Press 1992.