Simulation Driven Virtual Reality A Framework for Large Scale

advertisement
Simulation Driven Virtual Reality
A Framework for Large Scale Virtual Simulation
Submitted by: Lacey Duckworth
Committee-Chair: Dr. Andrew Strelzoff – strelz@orca.st.usm.edu - (601)266-6628
Committee-Members: Dr. Tulio Sulbaran, Dr. Ray Seyfarth, Dr. Nan Wang, Dr. Chaoyang Zhang
Date: 2/16/2008
Abstract
Client-Server Virtual Reality Environments that are intended for social networking are attractive platforms to
develop simulations, because they reach millions of people world-wide with an accessible, compelling and
engaging visual and audible experience. However, these environments were not intended for large scale
simulations.
Limitations in the internal, event driven language for virtual environments force programmers into difficult and unreusable design patterns. Using this approach to program large scale virtual simulations results in long segments
of code spread among multiple objects, effectively, “spaghetti” code. External to the virtual environment a variety
of specialized simulation languages exist which are both easy to use and provide strong re-usability of code
designs. The problem which is the focus of this dissertation is that a robust and reusable communication method
does not exist to connect external simulation languages with the compelling and accessible client-server Virtual
Reality Environments.
Preliminary Study
Previously, our research group simulated one process at the Chevron Oil Refinery Plant in Pascagoula,
Mississippi. The consultant provided the figure seen in figure 1 of the refinery process the plant wanted
simulated. Creating this process, which is only one out of forty six of the total processes, took 200 hours to
complete. If using the current method, the man hours required to fully simulate the entire Pascagoula Chevron
Figure 1 – Consultant provided diagram (left) and Virtual Reality Environment interpretation
Plant, where each process increases on a scale of difficulty by ten, would take 96,000 hours. There are three
contributions associated with the time complexity for simulating oil refinery processes. First, client-server virtual
reality environments were never intended for large scale software development. An ideal solution for this would
be developing an object-oriented language for "top-level" process rigs where all instances and specialized rigs
could be easily derived. The second contributor is that computer scientists are not refinery plant operators making
it very hard to “get it right” from conversations and schematics. For this situation, an ideal solution would be to
develop a high-level behavioral simulation environment in which programmers would contribute a first version and
plant operators and consultants could iteratively "get the details right” largely on their own. The last contributing
factor is that the client-server virtual reality environments were never intended for large scale computations. As
the number of numerical processes increase, the servers tend to bog down and cause performance degrades.
An ideal solution would be to have an external simulation language that could run independently on a dedicated
server providing scalable performance as the size of the simulation grew.
Applicable Experience
Our research group has a lot of experience and success building bridges in and out of the Virtual Environment
SecondLifeTM. Figure 2 illustrates two different communication processes. In the image on the left, Second LifeTM
is communicating through the internet where updates are made inside and/or outside the environment to a “white
board” where each “white board” reflects the changes. In the image on the right, Second LifeTM is communicating
with a MySQL database which populates the data displayed on the board.
Figure 2 - Illustration of communication between SecondLife TM and
the Internet (left) and SecondLifeTM and MySQL.
In addition to this experience with communication in and out of Second LifeTM the research team also has
experience with LabVIEW, a popular instrumentation simulation software which is an object oriented hierarchical
programming language, well known amongst chemical engineers, and provides reasonable performance as it is
multi-core adaptive.
Objective
The objectives of this dissertation will be threefold: (1) Define a communication language protocol schema
between a simulation language and a client-server Virtual Reality Environments, (2) Test the robustness of the
developed communication protocol, and (3) Develop a generalized framework to provide reuse of the
communication protocol.
Methodology
There are three phases in the research methodology for completing this dissertation which are define, test, and
develop. In the define state the objective is to define a communication language protocol schema between a
simulation language and a client-server Virtual Reality Environment. The communication protocol will make a
generalized mapping between the finite state machine definitions of the a generalized simulation language
(Σ1,S1,s01,δ1,F1) and the event-driven finite state machine of the client-server virtual reality environment
(Σ2,S2,s02,δ2,F2). For example, Σ2x is a “touch start” event in the virtual environment may be mapped to Σ1x,
“event start” in the simulation language. This would allow an instance of the communication protocol to trigger
simulation events when an object is touched in the virtual environment (or vs. versa). This state is a qualitative,
content analysis form of research, because it describes a schema with flexible guidelines, yields code, and
identifies specific characteristics of a body of material.
In the second phase, testing, the robustness of the developed communication between the two protocols,
SecondLifeTM and LabVIEW, will be tested. This phase is a quantitative, action research method where the theory
of improving the robustness will be tested, numerical data collected, numerical data presented, and results based
on the analysis will be written.
The last phase, developing, a generalized framework to provide reuse of the communication protocol will be
developed. This phase is a quantitative quasi-experimental type of research because it describes a framework
through written results, and identifies specific characteristics of a body of material.
Expected/Impact Results
Completing this dissertation will produce the following results:

A communication language protocol schema between a simulation language and a client-server Virtual
Reality Environment.

Communication between virtual reality environment SecondLifeTM and LabVIEW TM.

Experimentally tested framework to provide reusable simulation driven virtual environment components
References
Brooks, F. P., Jr. (1999). What’s Real About Virtual Reality.
http://www.cs.unc.edu/~brooks/WhatsReal.pdf
Chan, L.K.Y and Lau, H. Y. K. 2006. An Interactive Virtual Reality based e-Education System.
http://www.hku.hk/cc/ccsystem/hpc-fac-2006/ie/plychan_virtual_reality.pdf
Hayward, V., Astley, O., Cruz-Hernandez, M.,Grant, D., and Robles-De-La-Torre, G. (2004). Sensor
ReviewVolume 24 · Number 1 · 2004 · pp. 16–29. http://www.roblesdelatorre.com/gabriel/VH-OA-MC-DGGR-04.pdf
LabVIEW Wiki. LabVIEW. May 26, 2008. http://wiki.lavag.org/LabVIEW
LabVIEW. NI LabVIEW. 2009. http://www.ni.com/labview/
Leedy, P. D. and Ormrod, J. E. Practical Research. Planning and Design. Eight Edition. Pages 133-240. 2005.
OMNeT++ Discrete Event Simulation System. 2009. http://www.omnetpp.org/
OMNEST. OMNEST Simulation Environment. 2008. http://www.omnest.com/
SecondLife TM. Getting Started with LSL (2008). http://wiki.secondlife.com/wiki/GettingStartedInLSL
Strickland, J. (2008). How Virtual Reality Works.
http://electronics.howstuffworks.com/gadgets/other-gadgets/virtual-reality.htm/printable
The Math Works. Simulink Simulation and Model Based Design. 2009.
http://www.mathworks.com/products/simulink/
The Math Works. Simulink Product Description. 2009.
http://www.mathworks.com/products/simulink/description1.html
Download