OBJECT ORIENTED ARCHITECTURE FOR DISTRIBUTED VIRTUAL REALITY

creepytreatmentAI and Robotics

Nov 14, 2013 (3 years and 8 months ago)

60 views

OBJECT ORIENTED ARCHITECTURE FOR
DISTRIBUTED VIRTUAL REALITY

DIEGO MALPICA


ISAAC RUDOMÍN

ITESM
-
CEM

mailto:dmalpica@campus.cem.itesm.mx
,
mailto:rudomin@camp
us.cem.itesm.mx


Introduction

Originally, the development of Distributed Virtual Reality was strongly promoted by the military
industry, mainly by the elaboration of combat simulators. This industry has devoted a lot of
resources to developing quality sof
tware allowing for reuse compatibility and portability of
components, emphasizing always the protection of previous investment.

Because of this emphasis, their efforts have been evolutionary, something that is reflected in their
main projects based on DIS

(Distributed Interactive Simulation) and HLA (High Level
Architecture), including our own previous architecture.

Today, the development of virtual reality is more diverse, due to new areas such as entertainment,
medicine and manufacturing, and new technol
ogies such as Java. This proposal is about the
development of a library of components that allow the design of distributed simulations based on
entities, avatars and agents, using an approach that can be called revolutionary rather than
evolutionary.

This

approach takes into account several new developments in the field so that the problem is reset
in light of new technology, rather than incorporating technology in an evolutionary fashion by
perfecting an already established model. Significant advances in
several fields justify this
revolutionary approach. In particular, there are advances in Object Oriented Software Construction,
Hardware, Languages, Communications and Visualization.

These advances impinge directly on many of the objectives originally lai
d out for many of the
Distributed Virtual Reality projects such as DIS (1980) and HLA (1995). The new technology we
are considering is mostly Java 1.1, including RMI, Java Beans, Java IDL (1997), VRML 97 (1997)
and Java 3D (1998).

Goals

We will develop reu
sable components that permit the implementation of simulations based on entities, avatars
and agents using a revolutionary approach.

Contents

1.

DIS

The DIS (Distributed Interactive Simulation) protocol is an IEEE standard for logic communication between
enti
ties of distributed simulations, it was initially designed to cover military needs (specifically the needs
raised by the project SIMNET). The DIS protocol formally specifies a way to communicate the physics
relations between any kind of physical entities.
DIS protocol has been adapted for general use. The
information is transmitted using Protocol Data Units, called PDUs; that covers a broad range of interactions.
The most relevant PDU defines an Entity State. The Entity State PDU encapsulates: position, ori
entation,
linear velocity and angular velocity in a given instant, is 140 bytes long for DIS 2.0.4.


There are about 29 kinds of PDUs for Simulation administration, sensor and weapons interaction, signals,
and radio communication and collision control..

Sp
ecific components (like a part orientation) can be included in a PDU using parameters for articulations.
There is a wide set of characteristics than can specify an entity.

Just a few of the PDUs are generally used. The most relevant characteristics of DIS
are accurate physics, real
time and global consistence.

Most of DIS implementations uses multicast to reduce the bandwidth, but the most significant contributions is
the use of
Dead Reckoning
and
Heart Beat. Dead reckoning

uses predictive and convergence
algorithms,
that also reduces the network the bandwidth.

An object could be directly controlled ("live" object) or indirectly controlled ("ghost" object) using Dead
reckoning. Dead
-
reckoning uses two parallel computations one for the live object and anothe
r predictive
calculation for the ghost object, several ghost objects calculations may been taken in different processes.
When the differences between the ghost object and the live object exceeds certain threshold a convergence
process is initiated in order

to reduces the difference. Heartbeat is used basically to know (in a not error free
medium of communications) if an object is still alive, it can be also used to form part of a convergence
algorithm.

A basic implementation of these concepts would send the

position and velocity of an entity with in an instant
of time to the ghost objects as a part of the convergence process. The ghost objects would use this information
to predict the object position. When the difference of the position of the live and the g
host objects exceeds
certain threshold a new position an velocity with in an instant should be transmitted again to the ghost object
this as part of the convergence algorithm. New DIS generations will allow two extrapolate any attribute not
only position a
nd orientation.

The DIS standard actually asks the simulations to implement the interfaces with the net and to uses the
communications protocols appropriated in addition to the implementation of the behaviors of the objects in
the distributed Simulation.

2.

H
LA

The Department of Defense (DoD) had established a commitment to develop a High Level Architecture
OBJECT ORIENTED ARCHITECTURE FOR
DISTRIBUTED VIRTUAL REALITY
DIEGO MALPICA
ISAAC RUDOMÍN
ITESM-CEM
Introduction
Originally, the development of Distributed Virtual Reality was strongly promoted by the military
industry, mainly by the elaboration of combat simulators. This industry has devoted a lot of
resources to developing quality software allowing for reuse compatibility and portability of
components, emphasizing always the protection of previous investment.
Because of this emphasis, their efforts have been evolutionary, something that is reflected in their
main projects based on DIS (Distributed Interactive Simulation) and HLA (High Level
Architecture), including our own previous architecture.
Today, the development of virtual reality is more diverse, due to new areas such as entertainment,
medicine and manufacturing, and new technologies such as Java. This proposal is about the
development of a library of components that allow the design of distributed simulations based on
entities, avatars and agents, using an approach that can be called revolutionary rather than
evolutionary.
This approach takes into account several new developments in the field so that the problem is reset
in light of new technology, rather than incorporating technology in an evolutionary fashion by
perfecting an already established model. Significant advances in several fields justify this
revolutionary approach. In particular, there are advances in Object Oriented Software Construction,
Hardware, Languages, Communications and Visualization.
These advances impinge directly on many of the objectives originally laid out for many of the
Distributed Virtual Reality projects such as DIS (1980) and HLA (1995). The new technology we
are considering is mostly Java 1.1, including RMI, Java Beans, Java IDL (1997), VRML 97 (1997)
and Java 3D (1998).
Goals
We will develop reusable components that permit the implementation of simulations based on entities, avatars
and agents using a revolutionary approach.
Contents
DIS
The DIS (Distributed Interactive Simulation) protocol is a IEEE standard for logic communication between
entities of distributed simulations.
DIS was initially designed to cover military needs (specifically the needs raised by the project SIMNET). The
DIS protocol formally specifies a way to communicate the physics relations between any kind of physical
entities, the DIS protocol can be adapted for general use.
The information is transmitted using Protocol Data Units, called PDUs, the PDUs covers a broad range of
interactions. The most relevant PDUs defines an Entity State. The Entity State PDU encapsulates: position,
orientation, linear velocity and angular velocity in a given instant. This PDU is 140 bytes long for DIS 2.0.4
and it should be shorter for DIS 3.0.
Specific components (like a part orientation) can be included in its PDU using parameters for articulations.
There is a wide set of characteristics than can specify an entity.
Various predictive algorithms, called "dead reckoning" has been implemented in order to reduce the demand
of communications resources (Network bandwidth). There are several kinds of PDU that includes PDUs for:
Simulation administration, sensor interaction, weapon interaction, signals, radio communication an collision
control. There are about 29 kinds of PDUs.
(HLA) for Modeling and Simulation to increase the interoperability and reusability. The central aspect of
HLA is the separations of the simulations functi
ons (which resides in federates) and the communication
functions (that resides in the run
-
time infrastructure). Typically the 75% of the cost of the development of a
Simulation resides in the support functions like communication an only the 25% goes in beh
aviors specific to
the Simulation. The reusability of a RTI (Run
-
time infrastructure) will lead Developers to focus in functional
aspects instead of efficiency introducing substantial saves in effort, time, and money.

This approach will allow the incorpora
tion of news objects interaction protocols and formats with out a
complete remake. HLA will provide a catalog of protocols containing data representations that will offer
choices for the values of the attributes associated with the object interaction proto
cols.

HLA uses a model based in federations. A federation will select the appropriated object interaction protocol
and the data representation. The subscription to a federation is dynamically achieved, this implies that the
groups must be continuously reca
lculated.

Communication Efficiency

The Method to avoid the unnecessary overhead of communication is based in subscriptions and publications.
When the execution of a federation starts each Simulation would tell to the RTI the classes of the objects and
the
attributes that is going to represent in addition to the objects and attributes that needs to know in order to
comply its functions in the federation. The RTI uses this information to establish communication between
simulations. DIS sends a states change t
o all the receptors every time there is a change or a time out. HLA
uses of Filter meshes and consistency protocols more efficient than time
-
out or heartbeat, that could save
network bandwidth.

The filtering and dynamic multicast goal is to minimize the tr
ansmission of attribute updates to objects that
are not interested, saving bandwidth. RTI can't achieve this using complex algorithms, but it can do a simple
initial filtering using the region in witch the Simulation is subscribed.

HLA uses more categorie
s of simulations than DIS, it focuses in real
-
time, man
-
in the
-
loop and hardware
-
in
-
the
-
loop, so it requires a time administration that allows event ordering, time advance and protocol
synchronization with or without roll
-
back. Various simulations with dif
ferent resolutions may be executed
synchronously.

DIS Interoperability

Adopting HLA in a DIS simulation involves the introduction of new functionality’s (classes objects and
attributes that the Simulation produces or requires), the time administration sh
ould be uniform in order to
allow event synchronization. DIS uses automatic incorporation, in HLA this must be done explicitly, and
must be approved by the RTI. ID assignment is different, it lacks of the Transfer property attribute. Messages
and protocol
s are different so a translation must be done.

3.


EAA Model

Our model classifies the different elements of a simulation into entities, avatars and agents, defined as:



Entity: A simple element with the lowest level of intelligence. For example: stones, the fl
oor, gravity.



Avatar: Represents a user, who has complete control of this element.

EAA Model



Agent: An element with some level of intelligence, capable of interacting with other elements to achieve
some objective. The next figure shows the inheritance rela
tionships:

Entity
Agent
Avatar


Behavior is to be implemented by following a model based on local elements and proxies. A local
element can have several proxies representing it in remote machines. The local element is in charge
of synchronizing its

proxies through prediction and convergence algorithms.
Local Element
Proxy

To implement this it will be necessary to establish mechanisms for distributing objects and
messages so that communication needs are minimized. Using RMI we only need a con
nection
between two virtual machines, which will diminish the resources needed.

Another alternative that we must explore is the use of repeater nodes so that connections between
different local area networks are optimized. The repeater node could be promo
ted to administrator
of areas of interest.
Local Element
Proxy
Repeater Node
A good example of behaviors that should be implemented on a generic level is
Dead Reckoning

and
heartbeat
. The behaviors should facilitate specialization using software reuse schemes suc
h as
inheritance and composition.

The highest level of software reuse will be achieved by using the Java Beans component model that
will allow us to design and configure simulations by using visual programming.


Proxies

The idea of having proxies is that

it would allow having complex behaviors on the client (proxy) so
that traffic due to a remote coordination is reduced. Besides behaviors, a proxy can have several
characteristics like geometry, state information and others that allow consulting this infor
mation
locally and facilitate the implementation of prediction and convergence algorithms.
In the next figure
we show the model based on proxies and describe the roles of the simulation, local entity and proxy
components.
Proxy
Local
RMI
Registry
Entities
Simulation
Registry
Proxy
Local
RMI
Registry
Entities
Simulation
Registry
Simulation A
Simulation B
Sim
A
Sim
A
Sim
B
Sim
B
Sim
A
Sim
B

Simulat
ion



Interact with local entities to update their proxies



Interact with the proxies to update the views of the simulation



Publish the simulation



Register in the RMI registry



Define and listen to port (broadcast)



Save the broadcast areas of the simulations



Send a heartbeat message to all registered areas



Listen to the broadcast port to update the simulation registry



Create proxies of the local entities in the different registered simulations

Proxy Entity



Contains the visual part (geometry)



Contains Behaviors

activated by the local entity



Contains a copy of the state information of the local entity



Contains a reference to the local entity of which it is a proxy


Local Entity



Contains state information



Contains a list of references to its proxies



Activates beh
aviors in its proxies



Updates state information in its proxies



Contains interfaces to interact with other entities or processes


Preliminary Results

We have implemented the following prototypes:

DIS Prototype

The following elements come into play:



Language
: Java



Communication: Sockets



Data Format: Serialized Objects



Distribution: Netscape Enterprise Server



Signed Applications: Netscape Certificate Server



Virtual Machine: Netscape Communicator 4.05 Prerelease for Java 1.1



Compiler: JDK 1.1.5, Visual Café 2.5



Prediction and convergence techniques: Dead Reckoning and heartbeat.



Visualization: VRML (Cosmo Player 2.1)




Current Work

RMI Prototype

A new communication model being integrated into the previous prototype. This model is
Java
-
centric, and is very sim
ple compared to other technologies such as sockets, RPCs,
CORBA and COM.

In this prototype we are working with various new features like Migratory Objects (new
RMI functions), and visualization using Java3D.



Language: Java



Communication: Sockets, RMI



Data
Format: Serialized Objects



Distribution: Netscape Enterprise Server



Signed Applications: Netscape Certificate Server



Virtual Machine: Netscape Communicator 4.07,4.5 Pr 2



Virtual Machine: Java activator JRE 1.1.7, JRE 1.2b2



Compiler: JDK 1.1.5, JDK 1.2b2, a
nd Visual Café 2.5



Prediction and convergence techniques: Dead Reckoning and heartbeat.



Visualization: VRML (Cosmo Player 2.1), Java 3d

Future Work

The next prototype will implement the EAA.

Various example applications will be developed to.

Bibliography

ITESM CEM



ITESM
-
CEM, Tesis, "Arquitectura para realidad virtual distribuida con física simulada, poblada de
agentes autónomos", Ing. Montserrat Morales, Ph. D Isaac Rudomín,

Naval Postgraduate School (NPS)



NPS, Tesis,

"AN AUTOMATED APPROACH TO DISTRIBUTED

INTERACTIVE SIMULATION
(DIS) PROTOCOL ENTITY DEVELOPMENT", Michael Canterbury, September 1995.



NPS, " Dial
-
a
-
Behavior Protocol (DBP)

for Networked Virtual Environments and DIS
-
Java
-
VRML Library", NPSNET Research Group, Don
Brutzman and Mike Zyda



NPS, " A

NETWORK SOFTWARE ARCHITECTURE FOR LARGE SCALE VIRTUAL
ENVIRONMENTS", Michael R. Macedonia, Michael J. Zyda,David R. Pratt,Paul T. Barham,Steven
Zeswitz



NPS, " NPSNET
-

Large
-
Scale Virtual Environment Technology Testbed", Michael Zyda*, Don
Brutzman, Rudy
Darken, Robert McGhee, John Falby, Eric Bachmann, Kent Watsen, Ben Kavanagh &
Russell Storms

Network References



Computer Graphics Research at ITESM CEM:
http://sgio2.cem.itesm.mx/rudomin
/NSFpres/ppframe.htm

http://sgio2.cem.itesm.mx/rudomin/
-

Projects




Naval Postgraduate School (NPS):
http://www.stl.nps.navy.mil



DIS Java VRML:
http://www.stl.nps.navy.mil/dis
-
java
-
vrml/



Simulation Interoperability Standards Organization:
http://siso.sc.ist.ucf.edu/



Defense Modeling and Simulation Office:

http://triton.dmso.mil/



US Army Simulation Training Instrumentation Command:
http://www.stricom.army.mil/index2.shtml



MÄK Technologies:
http://www.mak.com



Office of Naval Research (ONR):
http://www.onr.navy.mil



Java Technology:
http://java.sun.com/



NPSNET:
http://www
-
npsnet.cs.nps.navy.mil/npsnet



HLA:
http://www.dmso.mil/projects/hla/main.html



"Thinking in Java", Bruce Eckell:
http://www.EckelObjects.c
om



"JDK 1.1.5 Documentation":
http://java.sun.com/