Title: Simulation Exercise Control of Heterogeneous Assets Using a Web Service Interface Template
1Simulation Exercise Control of Heterogeneous
AssetsUsing a Web Service Interface Template
2005 FALL SIW
- Raytheon Technical Services Company LLC
- Stanley Allen
- September 21, 2005
2Introduction
Modern simulation exercises are often built with
legacy simulation elements that have been
constructed using a variety of technologies and
interfaces. The use of Distributed Interactive
Simulation (DIS) and High Level Architecture
(HLA) standards has promoted the ability to allow
such assets to communicate with one another and
to be federated together.
In spite of these advances, exercise control is
still problematic because data communication is
only part of the problem. Other issues that must
be addressed are managing the orderly startup
and shutdown of the assets, controlling exercises
with multiple HLA federations, introducing
effective exercise states (e.g., run vs. pause),
and incorporating and controlling peripheral
applications.
3Background
We present a system, ExCon (Exercise Control),
which addresses these issues. A template is
defined with operations to provide a common
control interface to each asset. Assets
instantiate the template and implement a web
service based on it.
The asset interface allows remote, automated
control and commanding of the assets. In the
implementation, the web service may use scripts
or other techniques to control asset execution
and to pass ExCon-defined or asset-specific
commands to the underlying asset.
The control software is composed of a web
application with server software and a browser
applet. The browser interface permits a user to
view and control exercises the server houses
the central controller that invokes the assets'
web services and maintains exercise state.
4Exercise Control Overview
- Exercise Control (ExCon) provides centralized
management of exercises - An exercise is comprised of assets which are
packaged as web services - ExCon manages state, execution, time, status, and
moding of each asset - What can be wrapped as an asset?
- Legacy executables/simulations
- COTS products
- HLA federates and RTI executives
- Web services
- Subroutine libraries
- Hardware elements
- Open software solution
- Standard interfaces (HTML, XML, WSDL, SOAP, J2EE,
JSP) - Use of free licenses
- Platform-, operating system-, and language-
independence for assets - Asset interface hooks permit tailored
configuration and commanding of an asset to
substitute for console operation - One Button (scripted) control of exercise/asset
functions, full automation
5ExCon Architecture
HW I/F
INTRANET
Service
Application
6ExCon Software Elements
- ExCon server software
- Control software written in Java
- Has interfaces to web page and assets
- Implemented as a web application (JSP) and web
service (WSDL) - Server to the web page client to the assets
- Maintains exercise state and user (web client)
files - Asset Web Service shell
- Resides on each asset node, packaged as web
service - Interface expressed as WSDL interface, standard
tools generate Java shell - Asset owners responsible for implementing the
asset interface shell on their platforms and
deploying the web service - ExCon web site
- Exercise Control Applet is divided into three
major sections - Master control display and menu bar,
Configuration, Status - Exercise and File Management Links
- Create, select, remove, script exercise Manage
user/exercise/asset files.
7ExCon Display
- Web site navigation links in left frame
- ExCon GUI applet in right frame
- Main Menu bar for exercise control
- Asset Control menu allows assets to be marked
made part of an exercise - Clicking on an asset icon pops up a menu of asset
commands - User can configure, command, and perform file
transfers, as well as start/stop/abort execution
for assets in Assets In Exercise panel - The Status Panel shows status logs from each
Asset - Executing assets green icon, Idle assets amber
icon
8ExCon Display
- A view of the status/state/mode of each asset in
the ExCon Servers master asset list
9Asset States and Modes
10Health and Status
- The controller implements a document-style web
service to receive status from the assets. Assets
produce three types command status, health
status, and logged status. - Command status is reported when an exception is
not generated from the asset interface - Generally success status is sent at the end of
command processing - Some commands may take a non-trivial amount of
time to process. In these cases, the asset owner
may decide to return a command status of
pending until the operation is complete, and
success upon completion. - Health status asset hardware/software health
- The asset sends ok status once every 15-20
seconds. If the controller does not receive ok
status after a few minutes, the asset is probably
unreachable. - Logged status application-specific status
- Passed to the user and put into a status log file
- Each log has a unique ID (asset ID number)
- Status log messages are flagged with severity
indicator - The ID and severity indicator allow the web user
to squash chatty feedback
11Time Management
- Each asset maintains GMT as a wall-clock time
- Each asset is expected to retrieve the current
GMT (e.g., via NTP) - The simulation time is known as Simulated GMT
(SGMT) - The ExCon server sends out global SGMT to each
asset at the beginning of execution - The user can enter an SGMT factor (multiplier)
for faster than real time or slower than real
time operation - Each asset is responsible for maintaining its
picture of SGMT based on the initial SGMT,
ongoing GMT, and the SGMT factor
12Exercise Modes
- There are four exercise modes
- PAUSE, RUN, SNAPSHOT, INITIALIZE
- While the exercise is in a certain mode, all of
the assets in that exercise must be in that mode.
So, when the user changes the mode of the
exercise from RUN to PAUSE, all of the assets
will be commanded to go to PAUSE by the ExCon
Server. - In addition to normal (ASAP) RUN/PAUSE commands,
the web/GUI interface to the exercise offers
commands to effect a RUN transition at specified
GMT time and a PAUSE transition at specified SGMT
time.
13HLA Control
- An HLA federate is treated as an asset, wrapped
with the asset interface - The interface has two functions,
joinHLAFederation and resignHLAFederation - The asset will make use of uploaded files,
default files, or the selected configuration to
properly join the federation - Joining and resigning HLA federations are done on
a per-asset basis the exercise itself does not
join a federation - More than one federation can be in the exercise
at a time different assets in the exercise may
belong to different federations - The DMSO RTI executive is wrapped as an asset,
and can be started/stopped/commanded via the GUI
interface
14Data Logging
- The asset can provide data id strings for
retrievable data items - Must be unique within the asset
- An asset can provide a data logging capability
- The asset will capture and save data logs with
timestamps with data ids - Results available via file retrieval
- User can suspend and resume data logging
- Current interface supports only one data log
capture at a time - An asset can provide a query capability for the
latest value of data items using data ids - This could be used to view data at run time
15File Management
- Files can be uploaded or retrieved to/from the
asset - The controller is the uploading and retrieving
client - Files can be uploaded to the users account on
the ExCon server from here they will be uploaded
to the asset - The asset should define upload and retrieval
areas for files - Simple file model
- Each file is identified by a string name
- A file is made up of an array of strings
- Controller retrieves files as ASCII text and
saves them to the users ExCon server directory.
Then the user can download them from the server. - The asset is responsible for directories this is
hidden from the ExCon user (avoids asset
directory management issues)
16Asset-specific commanding
- The asset can define commands to expose to the
user - The commands are provided as a list of strings
- Each command has a text description
- For each command, any number of parameters are
permitted - Also provided as a list of strings with
descriptions - On the applet, the user selects from the list of
commands, views the command and parameters
descriptions, and enters the parameters as string
values - The asset will attempt to execute the command and
can return results in the form of an array of
strings - The asset may provide variant command lists
- For example, one list before execution, another
once it starts up
17Scripting
- ExCon supports a simple script mechanism so
that exercise - control can be programmed
- Written in an ExCon-defined language
- Each GUI action can be coded as a script
statement - Interpreted and executed on the ExCon Server
- Allows branching based on command result
(success, warning, etc.) - SLEEP statement indefinitely or for a number of
seconds - Script can issue logs to the status window
- Script control from the browser applet
- Upload script files, start execution
- Pause and resume execution
- Resume execution for a script that has put
itself to sleep - Allows for manual control of assets when
necessary - Indicator on GUI tells whether the script is
executing or sleeping - Terminate script execution at any point
18Conclusions
- Deployment and use
- Used for a variety of internal applications and
exercises - Assets include HLA RTIs, federates, standalone
apps, web services, gateways - Lessons learned
- A WSDL template provides consistency for the
client - Free technologies seem to be robust enough
- Planned enhancements
- Security
- Platform commanding
- Dynamic asset discovery (currently using flat
file)