Microcosm TNG: A Distributed Architecture to Support Reflexive Hypermedia Applications

Stuart Goose, Jonathan Dale, Wendy Hall and David De Roure

Multimedia Research Group

Department of Electronics and Computer Science

University of Southampton


{sg93r, jd94r, wh, dder}@ecs.soton.ac.uk

1. Introduction

Microcosm: The Next Generation (TNG) is an open, distributed hypermedia system with a design that represents a significant departure from the Microcosm architecture [2]. This system embodies an alternative model to facilitate the dynamic construction of hierarchies of distributed hypermedia applications. This paper will present the "reflexive model" and provide an appreciation of the Microcosm TNG framework through which this model is realised.

2. Motivation

Following a review of contemporary distributed hypermedia systems, three key requirements have been distilled. The most fundamental is distributed information sharing, or distributed access to documents, which is supported by all reviewed systems. Distributed information organisation is the capability of presenting logical collections of physically distributed documents in a unified fashion. Explicit support for this can be seen with Hyper-G collections [1]. And finally, support for distributed configurable services. This allows the user to customise their hypermedia environment by incorporating an eclectic range of distributed services. This feature is exemplified by Microcosm [4]. The aim of the authors was to build a framework for an open and extensible distributed hypermedia system which would embody these features.

3. The Reflexive Model

An abstract model has been devised in an attempt to address these three features. We define the term hypermedia application (hereafter referred to as an application) to be an encapsulation of a logical grouping of documents, the services that operate on the collection together with any associated configuration details. This definition provides a convenient abstraction and allows each application to be a self-contained, publishable and shareable entity. This can be expressed as:

application := {documents} x {services} x {configuration}

We introduce the notions of users and sessions. They are related such that a user may have multiple sessions each containing multiple applications which can, in turn, be shared among multiple users. This enables users to include and share published applications within their respective sessions to construct richer information resources.

The natural progression has involved devising a mechanism that allows users to create logical collections of applications themselves. This was reflected in the abstract model by extending the definition of an application to include one or more optional applications. This recursive definition provides a reflexive property, hence the model name. The revised definition of an application becomes:

application := {documents} x {services} x {configuration} [{application}]

With this model users can make references to other applications and dynamically associate them with their own structures to build information resources which may seamlessly comprise a number of other distributed applications.

An example of this abstract model in context is given in figure 1. Encyclopaedia is a session that is comprised of many applications which describe its behaviour, both in terms of information content and functionality. Such a session is a dynamically extensible entity within which new applications can be plugged or unplugged at any time. As the session is not monolithic or statically defined, alternative views can be generated simply by including or excluding various application sub-hierarchies. For example, a Junior Encyclopaedia may use some of the same applications as Encyclopaedia, but not incorporate others deemed unsuitable for younger audiences.

The reflexive model provides a flexible and extensible approach that allows a user to author multiple and different views on the same set of applications, depending upon the context of the structure in which they are placed. Moreover, these contextual applications can be shared across a number of users, promoting information dissemination and raising the level at which hypermedia resources may be reused.

4. Mapping the Model to a Distributed Framework

In moving from the abstract to the physical, we have built a prototype system, called Microcosm TNG [3] which retains the core philosophies of Microcosm.

The prototype has three distinct layers. The Presentation Layer is responsible for rendering the multimedia information on the screen. The Link Service Layer comprises an arbitrary number of processes, originally known as filters in Microcosm terminology, which exist to serve any request from the user. Traditional services such as link authoring, link resolution, link navigation and information retrieval searches can be provided at this layer. The above two layers rely heavily upon communication to fulfil their roles, and as such the third layer, the Communication Layer, offers facilities for message passing and process management.

From figure 2 it can be appreciated how Microcosm TNG is modelled as discrete processes within the framework. The user Jonathan in domain 1 has several processes running within his session, as does user Stuart in domain 2. The dotted lines denote a collection of processes which have been published as applications. Jonathan has published an application named Tigers and Stuart can use the Tigers application together with his Lions application to enrich his more general application regarding Cats.

Although the framework provides a peer process model, the reflexive model allows the user to compose collections of processes dynamically into coherent and logically related hierarchies. These, in turn, can be published for others to use. The reflexive property of applications is modelled in the framework through the passing of messages. When a user issues a service request to a particular application the request is transparently propagated down through the application hierarchy.

5. Conclusions

The authors introduced the definition of a hypermedia application and explained how it provides a container for encapsulating a group of processes with their respective resources. This provides a useful degree of abstraction allowing them to be considered as self-contained, publishable and shareable entities. The application conceals configuration details and provides a mechanism for building and composing new applications. By extending the definition of an application to include one or more applications, the model can exhibit the property of reflexivity. This allows users to construct rich hierarchies of reusable applications.

Microcosm TNG is an open distributed hypermedia system that combines the distributed information sharing offered by most systems; distributed information organisation, as offered by Hyper-G and distributed services, as offered by Microcosm. Microcosm TNG is a widely distributed, heterogeneous, multi-user systems that provides a framework in which reflexive applications can reside.


  1. ANDREWS, K., KAPPE, F. and MAURER, H., Serving Information to the Web with Hyper-G. In: Computer Networks and ISDN Systems, 27(6), pages 919-926, 1995.
  2. FOUNTAIN, A., HALL, W., HEATH, I. and DAVIS, H. C., Microcosm: An Open Model for Hypermedia With Dynamic Linking. In: Proceedings of the Hypertext '90 Conference, INRIA, France, pages 298-311, 1990.
  3. GOOSE, S., DALE, J., HILL, G. J., De ROURE, D. C. and HALL, W., An Open Framework for Integrating Widely Distributed Hypermedia Resources. In: Proceedings of the IEEE International Conference on Multimedia Computing and Systems, Hiroshima, Japan, pages 364-371, June, 1996. Available from: http://wwwcosm.ecs.soton.ac.uk/TNG/icmcs96c.htm
  4. HILL, G. J. and HALL, W., Extending the Microcosm Model to a Distributed Environment. In: Proceedings of the Hypertext '94 Conference, Edinburgh, Scotland, pages 32-40, September, 1994.



EMail: jd94r@ecs.soton.ac.uk
WWW: http://www.ecs.soton.ac.uk/~jd94r
Copyright © 1997, University of Southampton. All rights reserved.