SCIVE
SCIVE (Simulation Core for Intelligent Virtual Environments) explores software techniques combining Artificial Intelligence (AI) methods with Virtual and Augmented Reality (VR/AR). The main concepts include an internal knowledge representation to foster semantic reflection, decoupling using message passing, and concurrency based on the actor model.
Several independent master and diploma theses have contributed to the overall project between 2003 and 2008. The project developed successive prototypes to evaluate new ideas and techniques to combine AI and VR. The results of SCIVE laid the groundwork for the later SIRIS project founded by the BMBF. While the concrete implementations and code of SCIVE have aged and are not easily utilized due to many dependencies to software packages not supported anymore, some key ideas have successfully been followed and extended and built into Simulator X.
Features
SCIVE provides a Knowledge Representation Layer (KRL) as a central organizing structure. The figure left depicts a typical snapshot of a concrete entity and its relations to the underlying ontology which defines the features and capabilities of the entity. The core logic of the system, module specific definitions, scene representation using an entity model, as well as objects on the application layer are linked to a knowledge representation layer (see figure on top). Based on a semantic net, it ties together the data representations of the various simulation modules, e.g., for graphics, physics, audio, haptics or Artificial Intelligence (AI) representations.
SCIVE’s open architecture allows a seamless integration and modification of these modules. Their data synchronization is widely customizable to support extensibility and maintainability (see figure lower left illustrating entity creation initiated by message passing).
Synchronization can be controlled through filters which in turn can be instantiated and parametrized by any of the modules, e.g., the AI component can be used to change an object’s behavior to be controlled by the physics instead of the interaction or a keyframe-module. The bottom figure illustrates a sequence during the animation of an articulated figure using an animation library, a physics library, and a graphics library. A simple interconnection of the events successfully allows for action propagation, i.e., the walking skeleton hits a rock with a foot during a walk sequence, the rock is then simulated by the physics engine and the resulting forces are communicated back to the animation engine.
This bidirectional inter module access is mapped by, and routed through, the KRL which semantically reflects all objects or entities the simulation comprises. Hence, SCIVE allows extensive application design and customization from low-level core logic, module configuration and flow control, to the simulated scene, all on a high-level unified representation layer while it supports well known development paradigms commonly found in Virtual Reality applications.