Building Self-Reconfiguring Distributed Virtual Environments
Welch, Donald J.
A distributed virtual environment may be required to reconfigure itself to compensate for various conditions that can occur during execution. An example is the reentry of a virtual environment that was previously reconfigured out of the distributed virtual environment due to failure. If there is a human user of this virtual environment, care must be taken to insure that he is brought back into the distributed virtual environment in a way that makes sense. He cannot regain control of a tank that is out of ammunition while a computer-based simulation controls actively participating tanks. The compensating reconfiguration function of a distributed virtual environment must detect conditions that dictate reconfiguration. It must determine the proper course of action and act on it, bringing the distributed virtual environment to a stable state as quickly as possible. Proper reconfiguration of a distributed virtual environment requires that the compensating reconfiguration software know the system configuration, the virtual state, and the mapping between them. Building compensating reconfiguration software using traditional means is laborious and error prone. A rule-based tool that uses abstract views of the distributed virtual environment is a better way to produce compensating reconfiguration software. To show the viability of this approach I have developed a rule-based tool called Bullpen. This research compares Bullpen against manual coding in a case study that ranges over a wide array of requirements changes. The results of this case study show that using Bullpen to build compensating reconfiguration components is superior to manually building the software in the kind of environments most commonly found in the military DVE domain. Using Bullpen takes less effort and is less complex than using manual programming techniques. The resulting component is less error prone and has acceptable reaction time. (Also cross-referenced as UMIACS-TR-98-18)