DWARF Meeting January 2003

DWARF Architecture

Each host runs a ServiceManager daemon. Services can be given addresses of non local ServiceManager daemons, if no local one exists.

Services request connections from ServiceManager.

DWARF Interactive Visualization Environment (DIVE) connects to ServiceManager using standard CORBA remote method calls to query registered services.

ServiceManager establishes communication channels between services. These connections are determined by matching needs and abilities of services. Needs an abilities are simple name - value pair attributes of services. Needs can specify predicates of abilities that must be satisfied by a connected services needs.

Different connections can be differentiated by a service via different handlers of by the content itself. All events contain a lot of data such as the abilities of the sending service.

The CORBA notification service is used as transport mechanism. Each host runs a notification service. For all ability ends of connection and for all need ends a channel is established (the later to avoid a slow receiver stalling the distribution). Therefore n^2 connections are setup. Services have only local connections to notification service.

Services may use CORBA method calls for closer coupling.

For each service a service description object exists in the ServiceManager to model the service. This is used to query the system for possible connections, etc.

Services can change their needs and abilities via an API of the ServiceManager.

Stuff

Collaborative Wayfinding - Let two users establish new paths in the navigation data base.

Build a light weight signpost client for tracking and location aware non-AR applications.

Ubiquitous tracking without runtime changes could be used for a configuration tool.

A world model that can detect errors in its model. Could a graph represent that and consistency checks work as detection method ?