WebFlow based Visual Authoring Tools for HLA Applications

 

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)      Excel’s 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.

 

 
The OMBuilder – Features and Operation

 

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 user’s 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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Example: WebFlow + OMBuilder based Visual Authoring for the DMSO Jager Federate

 

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.

 

Next Steps

 

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

 

  1. High Level Architecture (HLA) by the Defence Modelling and Simulation Office (DMSO)

 

  1. D. Bhatia, V. Burzevski, M. Camuseva, G. Fox, W. Furmanski and G. Premchandran, WebFlow - a visual programming paradigm for Web/Java based coarse grain distributed computing , June '97, in the special issue of Concurrency: Practice and Experience on Java for Scientific Computing.

 

  1. G. C. Fox, W. Furmanski and T. Pulikal,  “Evaluating New Transparent Persistence Commodity Models:  JDBC, CORBA PPS and OLEDB for HPC T&E Databases”, to appear in Proceedings of the International Test and Evaluation Association (ITEA) Workshop on High Performance Computing for Test and Evaluation, Aberdeen MD, July 13-16 1998.

 

 

 

  1. D. Bernholdt, G. C. Fox, W. Furmanski, B. Natarajan, H. T. Ozdemir, Z. Odcikin Ozdemir and T. Pulikal, WebHLA - An Interactive Programming and Training Environment for High Performance Modeling and Simulation , in Proceedings of the DoD HPC 98 Users Group Conference, Rice University, Houston, TX, June 1-5 1998.

 

 

  1. G.C.Fox, W. Furmanski, S. Nair, H. T. Ozdemir, Z. Odcikin Ozdemir and T. Pulikal, “WebHLA - An Interactive Programming and Training Environment for High Performance Distributed FMS”, to appear in Proceedings of the Simulation Interoperability Workshop SIW Fall 98, Orlando, FL, September 14-18, 1998.

 

  1. G. C. Fox, W. Furmanski and H. T. Ozdemir,  “Object Web (Java/CORBA) based RTI to support Metacomputing M&S”, to appear in Proceedings of the International Test and Evaluation Association (ITEA) Workshop on High Performance Computing for Test and Evaluation, Aberdeen MD, July 13-16 1998.

 

  1. G. C. Fox, W. Furmanski, Subhash Nair and Z. Odcikin Ozdemir, “Microsoft DirectPlay meets DMSO RTI for Virtual Prototyping in HPC T&E Environments”,  to appear in Proceedings of the International Test and Evaluation Association (ITEA) Workshop on High Performance Computing for Test and Evaluation, Aberdeen MD, July 13-16 1998.