G.C.
Fox, W. Furmanski , B. Goveas, B.
Natarajan and S. Shanbhag
Northeast
Parallel Architectures Center, Syracuse University, Syracuse NY 13244-4100
gcf@npac.syr.edu,
furm@npac.syr.edu
Abstract
We describe here a pilot project towards a Web/Commodty
software based visual authoring environment for HLA simulations. The DMSO FEDEP
process, based on standardized data interchange formats (DIFs) matches in a
natural way the visual dataflow paradigm of the WebFlow system at NPAC.
However, the existing HLA object editors such as OMDT by Aegis Corporation are
not yet ready to act as reusable autonomous components in larger toolkits. We
re-engineered the OMDT tool using Microsoft Excel as the software base and the
VBA (Visual Basic for Applications) scripting technology, and we integrated the
resulting COM component called Object Model Builder with WebFlow. As a
proof-of-the-concept demo, we constructed a simple visual authoring toolkit
that facilitates editing and computational steering of the Jager video game,
distributed by DMSO as part of the HLA/RTI release.
Introduction
We present here our
current activities in the area of WebFlow
based Visual Authoring Tools for HLA [1] simulations based on the emergent
distributed objects and componentware technologies such as COM, CORBA and Java.
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.
Within our HPCMP FMS
PET project at NPAC we are building such visual HLA tool assembly framework on
top of the NPAC WebFlow [2] system - a general purpose Web/Java based visual
dataflow environment for interactive composition of distributed applications in
terms of reusable computational modules. Through WebFlow linkage with HPC via
modules/wrappers for Globus Metacomputing as well as support for database and
visualization, our approach offers a natural platform for addressing HPC and
HLA integration issues.
We started this
project by analyzing currently existing tools and their limitations. In
particular, we inspected the Object Model Development Tool (OMDT) by Aegis
Research Center, Huntsville, AL as a representative current generation DMSO
FEDEP tool and the OSim Tool by OriginalSim, Montreal CA as a currently
representative commercial product in this area.
OMDT is a Microsoft
Windows 95/NT-based MFC application. The tool supports building HLA Object
Model Template (OMT) tables such as Class, Interaction or Attribute Tables
using a spreadsheet-like user interface. Other OMDT features include: a) direct
access to the HLA Object Model Library (OML) for uploading and downloading HLA
object models (i.e. FOMs or SOMs) via the OMT Data Interchange Format (DIF); b)
data consistency checking; and c) automated generation of simulation
configuration files such as FED (Federation Execution Details).
OSim is a suite of
commercial simulation development frameworks designed to facilitate the
federate building process through automation and visual authoring. OSim
frameworks include: a) OSim Builder Framework for visual specification of class
relationships, inheritances, attributes and functions; b) OSim BulletinBoard
Framework for distributed object communication; c) OSim Generator Framework for
generating C++/Java code from the Builder specification; and d) OSim Executor
Framework with a built-in support for simulation objects and execution engine.
We found that current
tools, although useful in when operated in their dedicated standalone
mode, are not yet fully ready to act as
components in larger toolkits. For example, OMDT is a standalone Windows C++
application accessible only via a human-driven GUI, not a COM component with
automation/scripting support, whereas OSim's custom visual builder could be now
more naturally addressed in terms of the UML (Uniform Modeling Language)
standard for visual modeling via suitable domain-specific extensions.
Based on lessons
learned in the analysis of the current generation tools, we decided to: a)
reengineer an OMDT-like editing tool within the Microsoft Component Object
Model (COM) architecture; and b) address its trial integration with WebFlow.
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 manipulate
properties of the embedded Excel component to reflect required properties of a
OMDT-like authoring tool such as varied cell sizes (to effectively represent
superclass-subclass relationships), custom menu (title, floating) definitions,
custom toolbars, automated setting of currently active cell (representing the
current class being edited) etc. Other parts of User Interfaces like custom
Pop-up/Dialog Boxes are also being designed using Visual Basic Graphical
Components.
In this paper will
describe in detail our Excel/COM/VBA based tool, called Object Model Builder
(or OMBuilder) with OMDT-like look-and-feel and functionality. Next, we
illustrate its ongoing integration with other visual HLA modules we are
developing within the WebFlow model that will respond to the T&E needs in
the areas such as interactive real-time parameter tuning for the FOM/SOM
instances, visual transparent support for the Object Model Libraries or data
mining in a growing volume of FOM/SOM repositories. In particular, we describe a proof-of-the-concept visual HLA
authoring demo in which we integrate WebFlow and OMBuilder to support visual
editing and steering functions for a simple video game Jager, distributed by
DMSO as part of the RTI distribution.
OMBuilder Tool
The OMBuilder is a
visual HLA tool that supports creating a class hierarchy of interacting objects
that describe federates or their elements participating in a simulation. The
tool provides an intuitive, expandable visual interface for authoring the components
of a simulation. It lets the user
change the class hierarchy as a whole and/or modify the individual elements of
the hierarchy. It includes and extends the functionality of the original OMDT
tool by allowing not only for the design time authoring of the object classes
but also for the startup time initialization of the object instances and the
runtime steering of the object attributes and interaction parameters.
.
Development Base - Visual Basic for Applications and OLE
Automation
We constructed
OMBuilder tool by customizing Microsoft
Excel Component using the Visual Basic for Applications and the OLE automation
methodology. This approach offer
several benefits when confronted with the bottom-up development, such as:
a) Microsoft
Excel has a rich and highly customizable object model structure which allows
the Automation based applications to be suitably tailored to our needs.
b) Excels
spreadsheet interface is an ideal layout medium for displaying and manipulating
the Object Model class hierarchy.
c) Excel
supports OLE automation which offers extensive application-level scripting
capabilities via the built-in VBA (Visual Basic for Applications) support.
We have used VBA to
customize our tool and to reproduce the look and feel of the original OMDT tool
by Aegis Corp. VBA is a powerful interactive programming language which tightly
integrates with the Microsoft Office family of products. It support a
BASIC-like command structure whose interpreted coding style makes it an ideal
scripting tool for the Office family and particularly Excel.
VBA is thus an ideal
scripting tool to implement OMBuilder. All that needs to be done is to import
the Excel library which exposes the base Excel interface to the application, to
enable the Excel Macro Mode and to develop suitable VBA code that evolves Excel
towards OMBuilder. Using this approach, we were able to manipulate properties
of the embedded Excel component to reflect required properties of an OMDT-like
authoring tool such as varied cell sizes (to effectively represent
superclass-subclass relationships), custom menu (title, floating) definition,
automated setting of currently active cell (representing the current class
being edited) etc. Other parts of User Interfaces like customPop-up/Dialog
Boxes were also designed using Visual Basic Graphical Components.
As stated above this
tool was designed to provide a commodity framework for HLA Object Model assembly by using the spreadsheet
environment of the Microsoft Excel application as a base graphical user
interface.
More specifically, OBMuilder uses a column-wise storage of progressively increasing levels in the class hierarchy of the Federation. The classes are arranged column-wise on top of the sheet. Each cell in the column represents a class definition in the federation. Classes in the same column belong to the same level in the hierarchy. Subclasses are added in the columns to the left of the class to which they are added. On deletion of a class, the subclasses of the deleted class are shifed one column to the left.
The tool also supports color-coding of the
various levels in the hierarchy.
Classes in each column are coded with a specific color and the adjacent
columns also have different colors. The colors are designed to provide an
immediate visual contrast while not obscuring the pertinent cell information
from the user. This feature provides a way to immediately distinguish between
various levels in the class hierarchy.
Another feature of the OMBuilder is automatic cell resize to accomodate the addition of new subclasses in the hierarchy with long class names. When a new subclass is added, the parent automatically adds the subclasses to the list of subclasses as represented on the column to its right. It also resizes its own cells and draws a distinguishing border to itself which aids in identifying the class boundaries as well as its subclasses. The classes to the left of the parent also resize themselves in a similar manner to reflect the changes in the subclasses sector.
To add / delete subclasses to any class, right-click on any class. This brings up a popup demo which contains options for the actions required. Adding a subclass generates a cell placeholder for the added class in the column to the left of the parent as detailed above. At the start, the cell is given a default name which consists of the word class followed by a unique numeric identifier (class counter). Such automatically constructed cell name can be later changed to the users convenience by using the properties dialog box as detailed below. Note that the cell takes care of resizing itself depending on the name entered by the user.
To change the
properties of the subclass, the user should use the properties dialog box. This
is obtained by selecting the properties
option in the right-click popup menu obtained as described above. This dialog box is basically a sheet of
tabbed pages which contain controls for changing the various characteristics of
the class clicked upon. These characteristics include changing the name,
description, the number of superclasses and subclasses and the number of
components of the current class. Each of the tabbed dialog pages offers simple
and intuitive resources to perform such customizations.
The most noticeable
feature is the last page of the tabbed dialog box. The controls within this box
allow the user to start an actual simulation ( in this case the Jager demo )
depending upon the parameters entered in the various controls. The controls
allow the user to select the number of robot ships interacting in the
simulation as also some other feature like the color of the walls and enemy
ships. These features go beyond the original design time only functionality of
the OMDT tool and offer the startup time and the runtime control capabilities.
We discuss it in more detail in the context of the WebFlow-OMBuilder
integration, discussed in the next section.
We have constructed a
simple proof-of-the-concept demo of visual HLA authoring by combining our
WebFlow tools for visual dataflow authoring with the extended run-time features
of the OMBuilder and applying the resulting toolset to for editing and steering
the Jager a simple video game style HLA application, distributed by DMSO as
part of the RTI release.
Jager is a simple
shot-to-kill game involving as players: a) one or more human-controlled Ships;
and b) a set of enemy Robot Ships. The game offers a simle 2D monochrome
display and is controlled by a set of key strokes to navigate the human ship
position and/or to fire the cannon.
As one of the our
experiments with DMSO RTI release, we extended Jager by 3D display (Fig 9) and
we extended the OMBuilder by the editng support for a set of runtime attributes. Finally, we mapped the individual
players, both humans and robots, on suitable WebFlow modules.
The resulting visual
interface for Jager game authoring offers the following features:
·
The game scenario can be assembled visually by
selecting the required number and types of
robot modules and connecting them to form a compact interaction graph
(e.g. ring of modules in Fig 9).
·
Execution of such WebFlow network instantiates
the extended Jager game with the specified scenario and the additional 3D
display mode.
·
A click on a player module activates an instance
of the OMBuilder tool for the corresponding federate (Fig. 10). The associated
runtime attribute control panel discussed in the previous section supports
real-time steering of the simulation parameters such as color, shape, motion
characteristics etc. of the selected player.
We intend to continue
experiments with the commodity software based visual authoring tools for HLA
simulations as in the pilot project described in this paper. We view such tools
as initially useful for Web based interactive real-time FMS training [3][4][5]
under development at NPAC. For example, one can natually extend the simple demo
discussed in the previous section to teach HLA and RTI programming on the
example of Jager, suitably instrumented and attached to a set of real time
controls such as graph or spreadsheet editors. Students will be able to join
remotely such training federations and learn by changing the attributes of the simulation objects and monitoring the
response of the simulation behavior. Such model and the associated HLA tools
admit also a natural collaborative training support in which a group of
students forms dynamically a distributed
interactive edutainment session and learn by sharing individual
experiences when exploring the target technology or system being taught.
Technology base for
such interactive training will be provided by our Object Web RTI [6], coupled
with commodity multiplayer gaming technologies such as Microsoft DirectX /
DirectPlay [7]. Such WebHLA [4][5] framework, tested in the interactive
multiuser training environment will be applied in the next step to address
Web/Commodity systems for Testing, Evaluation and Simulation Based Acquisition
[6][7].
7. References