Link Search Menu Expand Document

Core concept

XR as a multiple agent collaboration

A XR environment is resulting of the collaboration of several subsystems :

  • some visual rendering engines,
  • some sensors.
  • some simulations.
  • etc.

Each subsystem can be autonomous, but can communicate and collaborate with others by observing the evolution of certain states of other subsystems and by exposing certain information characteristic of its own state.

Within CVE every autonomous sub-system is called a device, a client or an agent: no difference between the three words, because device refers to a XR device, but will be a collaborative agent communicating as client of a server/client system. Such a device may be very simple or very complex. The role of CVE is to organize the communication between devices.

Whenever a device is changing any state, every other concerned device/agent may be notified and will react with its own strategy. Then CVE needs a mechanism to describe the device interface. CVE uses a Model driven engineering strategy to publish device interfaces and instantiate it.

Model driven engineering and semantics graph

CVE is leaded by a model driven engineering strategy. These models are executed in realtime through a multi-agent collaboration architecture.

In model driven engineering, the application is not developed as usual algorithm, but described through various models. In CVE, the core model is a semantic graph: a set of classified nodes with classified attributes which enable links between nodes or associating values to nodes. The classification capacity creates the semantic of the graph. An instance graph is associated to a model which is itself described by a specific graph.

This strategy makes a core model very generic. Some core services were developed :

  • to save instances of a graph. Then both the meta-model and its instance can be saved on a drive without effort.
  • to share graphs over a network. A server is taking in charge a graph. Any client connecting to the server receive a part of a graph which are associated with it. Then the client modifies the graph, depending on local event and internal embedded intelligence. The modifications are shared with the server which notifies every concerned client. Then we organize the collaboration between the agents.

image-cvearchitecture

Thus the semantic graph describe two types of information :

  • the meta-model which is very similar as a UML diagram or better as the MOF model developed by OMG : classifiers and simple value types (string, booleans, etc).
  • the model which is a set of nodes instantiating either the classifiers defined through the MOF model or basic typed values.

Within CVE both models are mixed in a single graph which is called the word. The world definition contains also descriptions of agent models. The agent is operated by a client which is aware only of a partial graph : its own word