WebHLA - An Interactive
Multiplayer Environment for
High Performance Distributed
Modeling and Simulation
Geoffrey C. Fox, Ph. D., Wojtek
Furmanski, Ph. D.,
Subhash Nair, Hasan T. Ozdemir, Zeynep Odcikin Ozdemir,
Tom A. Pulikal
Northeast Parallel Architectures
Center, Syracuse University
111 College Place, Syracuse
University, Syracuse NY 13244-4100
{gcf, furm, subhash, timucin,
zeynep, tapulika} @ npac.syr.edu
Keywords:
Gaming, Interactive
Simulation, Military, Personal Computers, Standards
The process of
integrating DoD Modeling and Simulation paradigms around the new HLA/RTI
standards proceeds in parallel with the onset of new Object Web standards for
distributed objects and componentware, emergent at the crossroads of CORBA,
DCOM, Java, and XML based distributed object technologies. We describe here our
WebHLA approach which integrates both trends by offering Object Web based
implementation of the HLA framework. WebHLA follows a three-tier architecture
including: a) Web / Commodity based interactive simulation authoring and
runtime front-ends given by Java applets or DirectX multiplayers; b) software
bus in the middleware, given by Object Web RTI i.e. our implementation of DMSO
RTI 1.3 as a Java CORBA service managed by JWORB (Java Object Web Request
Broker); c) domain specific backend simulation modules, including advanced high
performance DoD simulation kernels such as ModSAF or SPEEDES. We describe here
the overall design of WebHLA, we report on components prototyped so far and we summarize the status of the ongoing
development of WebHLA applications.
1.
INTRODUCTION
We present here early results of our work on Web / Commodity based High Performance Modeling and Simulation, conducted as part of the academic branch of the Forces Modeling and Simulation (FMS) domain within the DoD HPC Modernization Program. Our approach explores synergies between ongoing and rapid technology evolution processes such as: a) transition of the DoD M&S standards from DIS to HLA; b) extension of Web technologies from passive information dissemination to interactive distributed object computing offered by CORBA, Java, COM and W3C WOM; and c) transition of HPCC systems from custom (such as dedicated MPPs) to commodity base (such as NT clusters).
One common aspect of all
these trends is the enforcement of reusability and shareability of products or
components based on new technology standards. DMSO HLA makes the first major
step in this direction by offering the interoperability framework between a broad
spectrum of simulation paradigms, including both real-time and logical time
models (DMSO 1998).
However, HLA standard specification leaves several
implementation decisions open and to be made by the application developers -
this enables reusability and integrability of existing codes but often leaves
developers of new simulations without enough guidance. In WebHLA, we fill this
gap by using the emergent standards of Web based distributed computing – we
call it Pragmatic Object Web (Orfali
1998; Fox et al. 1999) - that integrate Java, CORBA, COM and W3C WOM models for
distributed componentware.
Traditional HPCC, dominated by data parallel MPP
didn’t make significant inroads into the DoD M&S where the focus is on task
parallel heterogeneous distributed computing. Recent trends towards commodity
based HPCC systems such as NT clusters offer a new promising framework for new
generation high performance high fidelity M&S environments such as
addressed by JSIMS, JWARS, JMASS or Wargame2000 programs.
We therefore believe that WebHLA, defined as the
convergence point of the standardization processes outlined above will offer a
powerful modeling and simulation framework, capable to address the new
challenges of DoD computing in the areas of Simulation Based Design, Testing,
Evaluation and Acquisition.
The
overall architecture of our WebHLA prototype follows the 3-tier architecture of
our Pragmatic Object Web (Fox et al.
1999) (see Figure 1) with the
RTI-over-JWORB based middleware, backend simulation modules, wrapped via
CORBA/COM as FOM or SOM objects and with the WebFlow/DirectX based visual
authoring / runtime front-ends.
In
the following, we describe in more detail in Chapter 2 the WebHLA components listed above, followed
by a brief overview in Chapter 3 of the
emergent WebHLA application domains such as:
Distance Training, Resource Management for Metacomputing and/or
Commodity Clusters, and Simulation Based Acquisition.
2. WebHLA COMPONENTS
2.1 Object Web RTI
Current HLA is a custom distributed object model but
DMSO’s longer range plan includes transferring HLA to industry as CORBA
Facility for Modeling and Simulation.
Anticipating these developments, we have recently
developed in one of our HPCMP FMS PET projects at NPAC an Object Web based RTI
(Fox et al.1998c) prototype, which builds on top of our new JWORB (Java Web
Object Request Broker) middleware integration technology.
JWORB is a multi-protocol
Java network server, currently integrating HTTP (Web) and IIOP (CORBA) and
hence acting both as a Web server and a CORBA broker. Such server architecture
enforces software economy and allows us to efficiently prototype new
interactive Web standards such as XML, DOM or RDF in terms of an elegant
programming model of Java, while being able to wrap and integrate multi-language
legacy software within the solid software engineering framework of CORBA.
Figure 1 Illustration of the communication protocol integration within our JWORB
based Pragmatic Object Web. JWORB uses Java to integrate HTTP with IIOP and
then it connects with NT clusters via COM/CORBA bridge.
We are now testing this concept and extending JWORB
functionality by building Java CORBA based RTI implementation structured as a
JWORB service and referred to as Object
Web RTI ( Figure 2). Our implementation includes two base user-level
distributed objects: RTI Ambassador and Federate Ambassador, built on top of a
set of system-level objects such as RTI Kernel, Federation Execution or Event
Queues (including both time-stamp- and receive-order models). RTI Ambassador is
further decomposed into a set of management objects, maintained by the
Federation Execution object, and including: Object Management, Declaration
Management, Ownership Management, Time Management and Data Distribution Management
(see Figure 9).
To be able to run C++ RTI demo examples, we
developed a C++ library which: a) provides HLA RTI v1.3 C++ programming
interface; and b) it is packaged as a CORBA C++ service and, as such, it can
easily cross the language boundaries to access Java CORBA objects that comprise
our Java RTI. Our C++ DMSO/CORBA glue library uses public domain OmniORB2.5 as
a C++ Object Request Broker to connect RTI Kernel object running in Java based
ORB and runs on Windows NT and Sun Solaris 2.5 environments. Through library,
user defines the RTIambassador object as usual but in the implementation it
actually accesses the OWRTI CORBA service and executes each call on this
service. Similarly, user supplied federate ambassador object is managed by a
CORBA Object which resides at the client side and forwards all the call it
received from RTI to the user's federate ambassador object.
Figure 2 Top view
representation of Object Web RTI: RTI
Ambassador is Java CORBA object maintained by JWORB middleware; Federate
Ambassador is (typically C++) CORBA object maintained by the backend federate;
WebFlow front-ends tools are available for visual authoring of federation
configuration.
2.2 Visual
Authoring Tools for HLA Simulations
DMSO has emphasized the need to develop automated
tools with open architectures for creating, executing and maintaining HLA
simulations and federations. The associated Federation Development Process
(FEDEP) guidelines enforce interoperability in the tool space by standardizing
a set of Data Interchange Formats (DIF) that are mandatory as input or output
streams for the individual HLA tools. In consequence, one can envision a
high-level user friendly e.g. visual dataflow authoring environment in which
specialized tools can be easily assembled interactively in terms of
computational graphs with atomic tool components as graph nodes and
DIF-compliant communication channels as graph links (Figure
3).
Figure 3 WebFlow based representation of DMSO FEDEP: individual FEDEP tools are
mapped on WebFlow modules and the DIF files are mapped on WebFlow communication
channels.
To provide a natural linkage between DMSO DIF and the emergent Web data interchange format standards to be formulated within the XML framework, we are constructing a trial mapping between FED and XML, which is used in our current generation tools. In particular, we defined a trial version of HLAML for Federation configuration file definition. We developed two converter programs, which read HLAML and produce DIF or HTML file. HLAML is defined via XML DTD so that we were able to use free XML parsers. Current OWRTI uses this file format for federation definition files. Our OMBuilder tool discussed in the following also supports the same file formats so that we can develop federations using this tool and import them easily into our HLA RTI framework.
Within our HPCMP FMS PET project at NPAC we are building visual HLA tool assembly framework (Fox et al. 1998a) illustrated in Figure 3 on top of the NPAC WebFlow system (Bhatia et al. 1997).
WebFlow is a Web/Java based visual dataflow
environment with the Web browser based computational graph editor and the runtime
given by a mesh of interconnected Java Web Servers, used to manage WebFlow
middleware module wrappers and acting as proxies to the backend computational
modules (Figure
4).
We started our visual WebHLA authoring project by
analyzing currently existing tools in this area. In particular, we inspected the Object Model Development Tool
(OMDT) by Aegis Research Center, Huntsville, AL as a representative current
generation DMSO FEDEP tool. OMDT is a Windows 95/NT-based application that
supports building HLA Object Model Template (OMT) tables such as Class,
Interaction or Attribute Tables using a spreadsheet-like user. We found OMDT
useful in the standalone mode but not yet ready to act as a standardized
reusable component in larger toolkits. We therefore decided to build an
OMDT-like editing tool based on Microsoft Component Object Model (COM)
architecture.
Figure 4 Top view of the WebFlow system: its 3-tier design includes Java applet
based visual graph editors in tier 1, a mesh of Java servers in tier 2 and a
set of computational (HPC, Database) modules in tier 3.
Rather than building our sample
tool from scratch, we construct it by customizing Microsoft Excel Component
using the Visual Basic for Applications and the OLE automation methodology.
Using this approach, we were able to emulate the look-and-feel of the OMDT tool
(see Figure 5), while at the same time packaging our tool, called OMBuilder, as
a reusable COM or ActiveX component that can smoothly cooperate with other
visual authoring tools within the WebFlow model (Figure 6). We also extended
the OMDT functionality in OMBuilder by adding support for initializing and
runtime steering the simulation attributes and parameters.
Next, we constructed a proof-of-the-concept demo
that offers WebFlow and OMBuilder based visual authoring toolkit for the Jager
game (available as part of the DMSO RTI distribution). Each Jager player (both
human and robot) is represented by a suitable visual icon in the WebFlow
editor.
A particular game scenario is constructed by
selecting the required player set and registering / connecting them as nodes of
a suitable connected graph. We also constructed a 3D viewer, operating in
parallel with the standard 2D Jager viewer and used for experiments with
parameter initialization via the extended OMBuilder editor (Figure 6).
Figure 5 OMDT by Aegis
Corporation (front window) compared with our OMBuilder (back window): both
tools have similar functionality and look-and-feel but OMBuilder is constructed
via VBA scripting on top of Microsoft Excel.
Figure 6 Proof-of-the-concept visual authoring tools for Jager. WebFlow editor
(upper left) allows specifying the configuration for the Jager game players.
Both the original 2D (middle right) and our trial 3D viewer (upper right) are displayed. A runtime extension of the OMBuilder tool
(lower left) allows the user to
initialize, monitor and steer the simulation or rendering parameter (lower
middle).
2.3
Parallel ports of selected
M&S modules
In parallel with prototyping core WebHLA technologies described above, we are also analyzing some selected advanced M&S modules such as the CMS (Comprehensive Mine Simulator) system developed by Steve Bishop’s team at Ft. Belvoir, VA that simulates mines, mine fields, minefield components, standalone detection systems and countermine systems including ASTAMIDS, SMB and MMCM. The system can be viewed as a virtual T&E tool to facilitate R&D in the area of new countermine systems and detection technologies of relevance both for the Army and the Navy. We are currently constructing the parallel port of the system to Origin2000. In the next step, we intend to use such Parallel CMS as one of the WebHLA backend modules for Metacomputing FMS simulations, discussed in Chapter 3.
2.4
Database and data mining
back-ends
Our database activities for the WebHLA backend
include both research into the emergent transparent persistency models such as
CORBA PSS, OLEDB, JDBC or XML/RDF (Fox et al. 1998b), and the practical
development of specific relational databases tailored for the individual
components, projects and customers. For
example, we are building SQL databases with the software documentation and
PowerPoint presentation for the FMS Training Space and the distributed
resources databases for the Metacomputing FMS and Commodity Clusters. We are
also interacting with the Virtual Proving Ground (VPG) team at ARL/ATC in
Aberdeen, MD where we currently start providing help with the data mining
services for the T&E historical test data.
2.5 Realtime multiplayer gaming front-ends
In our Pragmatic Object Web approach, we integrate
CORBA, Java, COM and WOM based distributed object technologies. We view CORBA
and Java as most adequate for the middleware and backend, whereas COM as the
leading candidate for interactive front-ends due to the Microsoft dominance on
the desktop market.
Of particular interest for the M&S community
seems to be the COM package called DirectX which offers multimedia API for
developing powerful graphics, sound and network play applications, based on a
consistent interface to devices across different hardware platforms. DirectX
comes as a set of APIs, each of which cater to a different aspects of an
application being developed - DirectDraw for graphics, DirectSound for adding
sound, DirectPlay for networked gaming etc. Of these, the DirectPlay API is of
interest to us while discussing HLA/RTI, because of it's similarities with the
RTI.
Due to the design proximity,
we could naturally create an HLA simulation using DirectX, while still using
RTI as a communication medium. The simulation would thus conform to the HLA/RTI
standards and perform well in the PC environment. Our proof-of-the-concept
demonstration of such a linkage between Microsoft DirectX and Object Web RTI on
a real-time basis is using a modified version of the popular DirectX game - Donuts as the front end. The objective
here, apart from presenting OWRTI, was to demonstrate the ability to bring
together the high-end RTI and commodity technologies like DirectX to build HLA
compliant simulations. The whole set-up of the demo included a wide range of
technologies like CORBA, Java, C++ and DirectX/COM.
The entire front end of the
demo was built using Microsoft's DirectX API for gaming & multimedia. The
basic structure of the sample game Donuts
(provided with the Microsoft DirectX SDK) was used and suitably modified to
incorporate an RTI layer for communication between two remote games. The game
involves shooting down donuts using a
gun/ship, which can be manipulated around the screen by the user.
Figure 7
Sample screen from multi-player
Jager Donuts demo using modified Donuts front-end (to conform to the Jager game
geometry) and the Object Web RTI based multi-user communication.
The remote
donuts game, as a first and simple step, sends and responds only to RTI
interactions. A game (federate) responds to an interaction from another federate
by putting a donut on the screen. A federate can send an interaction to other
federates on the command of the user. The RTI server forwards the interaction
to all other federates in the federation, each of which would respond by
putting a donut on their screens.
In
the demo, we provided an automatic interaction generator. This is another
federate joining to the Federation and producing only interactions. Its
parameters are controlled through a Web interface. A servlet is responsible for
getting number of interactions to be produced, the time interval between
interactions and message order type (receive/timestamp). Then it forks a
separate federate which is written in Java and interacts with the RTI. As a
result, user automatically starts receiving messages from this federate.
With
the DirectX platform and the associated high level Web tools such as
Chromeffects, Microsoft enters the computer gaming market. Hence, once can
expect the coming explosion of Web based networked games for Windows. Figure 8 illustrates a state-of-the-art DirectX based
real-time commodity graphics scene in a professional game Art of Flying by Blue
Moon Interactive. Our DirectX-OWRTI bridge discussed above will allow us to
reuse these entertainment front-ends for the military training purposes by
coupling them with the HLA compliant simulation backends and delivering the
training in the Web based interactive mode.
3. Emergent WebHLA
Applications
In
parallel with developing focused WebHLA components discussed in Chapter 2, we
also start identifying some promising WebHLA application domains and we
initiate the design and prototyping activities. In this Chapter, we present a
brief overview of our current activities in the following emergent WebHLA
application areas: Distance Training, Resource Management for Metacomputing
and/or Commodity Clusters, and Simulation Based Acquisition.
Figure 8 Sample screen from the DirectX based professional game Art of Flying
Distance Training We are building WebHLA based interactive training on the use of
advanced M&S kernels such as SPEEDES. Students, teachers are the target
systems in this approach are represented as federates and collaborate within a
training FOM. Web and commodity gaming offer natural front-ends for such online
multiplayer training environments.
Metacomputing FMS We are working with the
Night Vision Lab at Ft. Belvoir, VA on building high performance version of
their CMS (Comprehensive Mine Simulation) system to enable support for large
minefields of order of 1,000,000 and more mines. Such large scale battlefields
admit natural metacomputing implementation with geographically distributed and
WebHLA coordinated federates representing minefields, their components,
propagating vehicles etc. One such early demonstration with simulation nodes in
Maryland, New York and Florida is being prepared for Supercomputing 98, Nov 98.
Cluster Management RTI can be viewed as a high
level abstraction of a distributed operating system with machines / nodes
represented as federates, clusters as federations, with time management
responsible for job scheduling, ownership management linked with security and
so on (see Figure 9). We are currently exploring Object Web RTI as such a high
level operating and control framework for managing heterogeneous and growable
commodity clusters including NT, UNIX
and LINUX nodes.
Figure 9 Distributed
object based architecture of DMSO RTI – originally constructed for the M&S
domain but naturally extensible for other distributed computing management
services such as cluster, metacomputing, collaboration or distance training
management discussed in the text.
Simulation
Based Acquisition Figure 10 illustrates our
envisioned end product in the WebHLA realm – a distributed, Web / Commodity
based, high performance and HLA compliant Virtual Prototyping Environment for
Simulation Based Acquisition with Object Web RTI based software bus,
integrating a spectrum of M&S tools and modules, wrapped as commodity
(CORBA or COM) components and accessible via interactive Web browser
front-ends. Such environments, currently operated only by large industry such
as Boeing or Automotive, become affordable within the current technology
convergence process as envisioned in first section and quantified in our WebHLA
integration program.
Figure 10 Overall architecture of a
planned WebHLA based Virtual Prototyping Environment for Simulation Based
Acquisition: Object Web RTI acts as a universal software bus, managing a
spectrum of resources for simulation, clustering, collaboration, training, data
mining, data warehousing etc.
Indeed, the challenge of SBA is to successfully
integrate M&S, T&E, HPC, Metacomputing, Commodity software for
Real-Time Multimedia front-ends and Database back-ends, Collaboration, Resource
Management and so on – these capabilities represent individual WebHLA
components discussed in the paper and being now prototyped in a coordinated,
Pragmatic Object Web based development and integration framework.
4. SUMMARY
We presented here our approach towards building
WebHLA as an interoperable simulation environment that implements new DoD
standards on top of new Web / Commodity standards. Our initial results are encouraging
and we believe that WebHLA with evolve towards a powerful modeling and
simulation framework, capable to address new challenges of DoD and commodity
computing in many areas that require
federation of multiple resources and collaborative Web based access such as
Simulation Based Design and Acquisition, Distance Training or Online
Multiplayer Gaming.
5.
ACKNOWLEDGEMENTS
This work was partially funded by the DoD High
Performance Computing Modernization Program’s Programming Environment and
Training (PET) project, including ARL Major Shared Resource Center support, Contract
Number: DAHC 94-96-C-0010 with Raytheon Systems Company, and CEWES Major Shared
Resource Center support, Contract
Number: DAHC 94-96-C-0002 with Nichols Research Corp.
6. REFERENCES
Defense Modeling and
Simulation Office (DMSO) 1998, High Level Architecture, http://hla.dmso.mil.
D. Bhatia, V. Burzevski, M.
Camuseva, G. Fox, W. Furmanski and G. Premchandran, 1997, WebFlow
- a visual programming paradigm for Web/Java based coarse grain distributed
computing , Concurrency: Practice and Experience, vol. 9, no. 6(Jun.),
555-577.
Robert Orfali and Dan Harkey,
1998, Client/Server
Programming with Java and CORBA , 2nd Edition,
Wiley.
G. C. Fox, W. Furmanski, H.
T. Ozdemir and S. Pallickara, 1999, Building Distributed Systems
for the Pragmatic Object Web, Wiley, (in progress).
G. C. Fox, W. Furmanski, B.
Goveas, B. Natarajan and S. Shanbhag, 1998, WebFlow
based Visual Authoring Tools for HLA Applications, In Proceedings of
ITEA’98 (Aberdeen, MD, July 98).
G. C. Fox, W. Furmanski and
T. Pulikal, 1998, Evaluating
New Transparent Persistence Commodity Models: JDBC, CORBA PPS and OLEDB for HPC
T&E Databases , In Proceedings of ITEA’98 (Aberdeen, MD, July 98).
G. C. Fox, W. Furmanski and
H. T. Ozdemir, 1998, Java/CORBA
based Real-Time Infrastructure
to Integrate Event-Driven Simulations,
Collaboration and Distributed Object / Componentware Computing, In Proceedings of PDPTA’98 (Las Vegas, NV,
July 98).