Browsing by Author "Arsenault, Lance E."
Now showing 1 - 2 of 2
Results Per Page
Sort Options
- DIVERSE: A Framework for Building Extensible and Reconfigurable Device-Independent Virtual Environments and Distributed Asynchronous SimulationsKelso, John; Satterfield, Steven G.; Arsenault, Lance E.; Ketchan, Peter M.; Kriz, Ronald D. (MIT Press, 2003-02-01)We present DIVERSE, a highly modular collection of complimentary software packages designed to facilitate the creation of device-independent virtual environments and distributed asynchronous simulations. DIVERSE is free/open source software, containing both end-user programs and C++ application programming interfaces (APIs). DPF is the DIVERSE graphics interface to OpenGL Performer. A program using the DPF API can run without modification on platforms ranging from fully immersive systems such as CAVEs to generic desktop workstations. The DIVERSE toolkit (DTK) contains all the nongraphical components of DIVERSE, such as networking utilities, hardware device access, and navigational techniques. It introduces a software implementation of networks of replicated noncoherent shared memory. It also introduces a method that seamlessly extends hardware drivers into interprocess and Internet hardware services. We will describe the design of DIVERSE and present a specific example of how it is being used to aid researchers.
- DIVERSE: A Software Toolkit to Integrate Distributed Simulations with Heterogeneous Virtual EnvironmentsArsenault, Lance E.; Kelso, John; Kriz, Ronald D.; Das Neves, Fernando A. (Department of Computer Science, Virginia Polytechnic Institute & State University, 2001)We present DIVERSE (Device Independent Virtual Environments- Reconfigurable, Scalable, Extensible), which is a modular collection of complimentary software packages that we have developed to facilitate the creation of distributed operator-in-the-loop simulations. In DIVERSE we introduce a novel implementation of remote shared memory (distributed shared memory) that uses Internet Protocol (IP) networks. We also introduce a new method that automatically extends hardware drivers (not in the operating system kernel driver sense) into inter-process and Internet hardware services. Using DIVERSE, a program can display in a CAVE™, ImmersaDesk™, head mounted display (HMD), desktop or laptop without modification. We have developed a method of configuring user programs at run-time by loading dynamic shared objects (DSOs), in contrast to the more common practice of creating interpreted configuration languages. We find that by loading DSOs the development time, complexity and size of DIVERSE and DIVERSE user applications is significantly reduced. Configurations to support different I/O devices, device emulators, visual displays, and any component of a user application including interaction techniques, can be changed at run-time by loading different sets of DIVERSE DSOs. In addition, interpreted run-time configuration parsers have been implemented using DIVERSE DSOs; new ones can be created as needed. DIVERSE is free software, licensed under the terms of the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL) licenses. We describe the DIVERSE architecture and demonstrate how DIVERSE was used in the development of a specific application, an operator-in-the-loop Navy ship-board crane simulator, which runs unmodified on a desktop computer and/or in a CAVE with motion base motion queuing.