Technology to the Warfighter Quicker
SBIR Phase II Discussion / Demo 6/29/06
Paul Gustavson (Principle Investigator)Ben Sisson (BASS Engineer)
Tram Chase (BOMworks Engineer) SimVentions
Mike Haddad PEOSTRI – SBIR POC
Topics
1. Brief overview of BOM Aggregation Framework SBIR effort
– Background– Our Approach– Current Capabilities
2. Presentation of WARSIM FOM decomposition to BOMs
– BOMworks View– Composability Benefits
3. Exercise of WARSIM BOM instances using BOMworks and BASS
– Preliminary demo of the multi-layered agg / deagg of WARSIM BOM models/entities.
4. Discussion– Issues– Schedule– Next Steps
• Develop a common framework for aggregating and deaggregating entities in simulations exercises to: Facilitate interoperability between
models at different levels of fidelity (allowing agg-level sims to interact with entity-level sims)
Improve system performance for distributed exercises
• Reduce memory load• Reduce CPU load• Reduce network load
Manage entity count depending upon system load
Preserve simulation behavior validity throughout the aggregation levels
Aggregation - the coupling of multiple models/entities into a single inclusive group
SBIR Background
Our Approach
• Use of Base Object Models (BOMs) to represent both aggregated and non-aggregated models and entities
• Design of an SOA approach that could benefit different simulations / environments (w/ minimal impact)
• Implementation of BAF web services in Java to maximize integration and deployment
Our ApproachWhy the use of BOMs?
• Offers modular way to represent simulation exchange elements
• Platform independent (XML)• Captures / carries forward
conceptual model• Allows implementations to be
represented independently• Can be combined to form
compositions (model aggregation)
• Can be used to define container classes(entity instance aggregation)
• Facilitates interoperability(the exchange of data)– BOMs can be mapped across
different BOMs, FOMs and SOMs
BOM – A piece part of a conceptual model, simulation object model, or federation object model, which can be used as a building block in the development and/or extension of a simulation or federation.
Fed
erat
e(S
OM
)
BOMAssembly
BOM 1
BOM 3
BOM n
CompositeInterface
Composition
Sim / System A
Representation
Fed
erat
ion
(FO
M)
Federate B
Federate X
Federate A
Agg
rega
tion
Model#1
Model#2
Model#3
Model#n
- or -
- or -
Theater W
arfare
Representa
tion
BOM 2
Weapons
Effect
Radio
Comm
s
Repair
Resupply
Detect /
Jam
Our Approach to BAFGoals / Capabilities
• Provide a common framework for aggregating and deaggregating models and entities
– Facilitate Agg-level / entity-level interoperability
– Reduce memory, cpu, & network load
– Cost effective
• What are its capabilities?– Produces aggregate / deaggregate solutions
– Supports transfer control
– Manages / stores entity / agg models (library)
– Monitors exercise activities• Logger
• Scoreboard
• Load Balancing Automation
– Transformation support
• What are its key components?– Web Service Methods
– Base Object Models
• How is it offered / implemented?– BASS - an adjunct server application
– Java
– Web Services (SOAP)
– SOA
– Multi FOM Environments
Service Oriented Architecture (SOA)
FOCUS
• Common interface(s)
• Loose coupling• Minimize
unnecessary dependencies
Model Aggregation Entity Instance Aggregation
Aggregation Types
Producer - 1st Level Consumer - 2nd Level
Aggregation Levels
Our Approach to BAFSupported Aggregations
Current CapabilitiesWhere Are We?
• BAF Specification – version 1.0b– Update expected in Aug
• BASS Implementation – Now Live @
http://70.167.240.174:8080
– Represents 90% completion of BAF 1.0b
– Update expected in Sept
• Demo-ware– SV-AGG– BOMworks Now Plugs into
BASS– More planned!
• BOMs Developed / Used– RPR BOMs– WARSIM BOMs
• Recent white papers / presentations: – 06S-SIW-115 –
“From FOMs to BOMs and Back Again”
– 06S-SIW-116 – “Adding Aggregation Services to the Mix: An SOA Implementation Use Case”
• Efforts reflected @ http://www.simventions.com/sbir_agg/
Highlights - SV-Agg
Highlights - WARSIM FOM Decomposition
• BOMworks™• Steps we took• How we are using BOMs• Demonstration• Behind The Scenes• Discussion - Composability Benefits
• Create BOMsCreate BOMs
• Edit BOMsEdit BOMs
•Grid/XML/UMLGrid/XML/UML
•Cut/Copy/PasteCut/Copy/Paste
• Validate BOMsValidate BOMs
• Import/Export FOMsImport/Export FOMs
•1.3/15161.3/1516
• Source Code Source Code GenerationGeneration
• Built on Galileo Built on Galileo Framework - Framework - extensible and extensible and customizablecustomizable
.NET Version available
Java Community Edition recently delivered to DMSO
www.simventions.com/bomworks
Highlights - Use of BOMWorks
Highlights - FOMs -> BOMs (Breaking up a FOM)
Model Identification (Metadata)
Notes
Lexicon (definitions)
HLA Object Classes
HLA Object Class Attributes
HLA Object Classes
HLA Interaction Classes
HLA Interaction Class Parameters
HLA Interaction Classes
HLA Data Types
HLA Dimensions
HLA Time
HLA Tags
HLA Synchronizations
HLA Transportations
HLA Switches
Model Identification (Metadata)
Notes
Lexicon (definitions)
Object Model Definition
HLA Object Classes
HLA Object Class Attributes
HLA Object Classes
HLA Interaction Classes
HLA Interaction Class Parameters
HLA Interaction Classes
HLA Data Types
Conceptual Model
Pattern Of Interplay
State Machine
Entity Type
Event Type
Model Mapping
Entity Type Mapping
Event Type MappingFOM BOM
FederateFederation
Network
Master Track ProcessorMTP TO
MTP TEO
Root Obj
Workstation
C2 Artifacts
Wim Model
Synthetic Natural Environment
SideScenarioFaction
Item Type
Other
Item
Object Model
Definition
ManagerObjectModelDefBOM
MTProcessorObjectModelDefBOM
GameObjectModelDefBOM
WorkstationObjectModelDefBOM
c2ArtifactsObjectModelDefBOM
WimModelObjectModelDefBOM
EnvObjectModelDefBOM
ScenarioObjectModelDefBOM
ItemObjectModelDefBOM
ItemTypeObjectModelDefBOM
OtherObjectModelDefBOM
USMCObjectModelDefBOM
NavalObjectModelDefBOM
LandObjectModelDefBOM
JOISIMObjectModelDefBOM
AirTaskingObjectModelDefBOM
NatsimObjectModelDefBOM
NasmObjectModelDefBOM
InitializationObjectModelDefBOM
GoldNuggetObjectModelDefBOM
CommsObjectModelDefBOM
afObjectModelDefBOM
PlatformObjectModelDefBOM
CivilEnvObjectModelDefBOM
FacilityObjectModelDefBOM
OrgObjectModelDefBOM
WarSim Object BOMs
WarSim Object Classes
FederateFederation
Network
Master Track ProcessorMTP TO
MTP TEO
Root Obj
Workstation
C2 Artifacts
Wim Model
Synthetic Natural Environment
SideScenarioFaction
Item Type
Other
Item
Object Model
Definition
ManagerObjectModelDefBOM
MTProcessorObjectModelDefBOM
GameObjectModelDefBOM
WorkstationObjectModelDefBOM
c2ArtifactsObjectModelDefBOM
WimModelObjectModelDefBOM
EnvObjectModelDefBOM
ScenarioObjectModelDefBOM
ItemObjectModelDefBOM
ItemTypeObjectModelDefBOM
OtherObjectModelDefBOM
USMCObjectModelDefBOM
NavalObjectModelDefBOM
LandObjectModelDefBOM
JOISIMObjectModelDefBOM
AirTaskingObjectModelDefBOM
NatsimObjectModelDefBOM
NasmObjectModelDefBOM
InitializationObjectModelDefBOM
GoldNuggetObjectModelDefBOM
CommsObjectModelDefBOM
afObjectModelDefBOM
PlatformObjectModelDefBOM
CivilEnvObjectModelDefBOM
FacilityObjectModelDefBOM
OrgObjectModelDefBOM
WarSim Object BOMs
WarSim Object Classes
Conceptual Model
RemoteOperationConceptualModelBOM
AdapterControlConceptualModelBOM
FederationConceptualModelBOM
ControlConceptualModelBOM
ApplicationReportConceptualModelBOM
InformationExchangeConceptualModelBOM
AdjustStateConceptualModelBOM
FederateManageConceptualModelBOM
Adapter Control
Adapter Control Acknowledge
Control
Information Exchange Trigger
Application Report
Scenario Parameters
Restart Pending
Remote Update Request
Remote Delete
Remote Create
Federation Save Requested
Manager
Root Int
Initialization Complete
CargoInterchangeConceptualModelBOM
NetworkConceptualModelBOM
NextEventConceptualModelBOM
ObjectInteractionReportConceptualModelBOM
OverlayEntityConceptualModelBOM
ParameterDataUpdateConceptualModelBOM
PlaybackConceptualModelBOM
PublishSubscribeConceptualModelBOM
RegionConceptualModelBOM
TimeManageConceptualModelBOM
WakeupConceptualModelBOM
WorkaroundConceptualModelBOM
ChangeOrderTransportationTypeConceptualModelBOM
DataCollectionConceptualModelBOM
GameEventsConceptualModelBOM
InitializationConceptualModelBOM
FederateOperationConceptualModelBOM WarSim Interaction Classes
Conceptual Model
RemoteOperationConceptualModelBOM
AdapterControlConceptualModelBOM
FederationConceptualModelBOM
ControlConceptualModelBOM
ApplicationReportConceptualModelBOM
InformationExchangeConceptualModelBOM
AdjustStateConceptualModelBOM
FederateManageConceptualModelBOM
Adapter Control
Adapter Control Acknowledge
Control
Information Exchange Trigger
Application Report
Scenario Parameters
Restart Pending
Remote Update Request
Remote Delete
Remote Create
Federation Save Requested
Manager
Root Int
Initialization Complete
CargoInterchangeConceptualModelBOM
NetworkConceptualModelBOM
NextEventConceptualModelBOM
ObjectInteractionReportConceptualModelBOM
OverlayEntityConceptualModelBOM
ParameterDataUpdateConceptualModelBOM
PlaybackConceptualModelBOM
PublishSubscribeConceptualModelBOM
RegionConceptualModelBOM
TimeManageConceptualModelBOM
WakeupConceptualModelBOM
WorkaroundConceptualModelBOM
ChangeOrderTransportationTypeConceptualModelBOM
DataCollectionConceptualModelBOM
GameEventsConceptualModelBOM
InitializationConceptualModelBOM
FederateOperationConceptualModelBOM WarSim Interaction Classes
WarSimBOMs
Highlights - FOMs -> BOMs (Warsim BOMs)
Explore using
Nuts and Bolts - Mapping Entity DataComparing it to things we know
org.land.unit
RPR FOM
BaseEntity.PhysicalEntity.Platformorg.land.equip_group
abstract.land.equip_type
abstract.land.rotary_wing_type
RPR FOM
BaseEntity.PhysicalEntity.Platform.-Aircraft
platform.fwa
OriginRPR Object ClassJSIMS Object Class
WARSIM Object Class?
Highlights
• Exercise of WARSIM BOM instances using BOMworks and BASS
Exerciser
Behind The ScenesWhat’s Happening w/ BOMworks Exerciser?
- BOMworks creates “classes” from BOM
- Allows initializing of values with XML file
- Allows offsets when creating multiple “classes” at once
- Allows “attachment” of behavior
interfaceA
behaviorA
Instance1
interfaceA
behaviorA
Instance2
Aggregation “solution” from BASS provides BOM with new container class (interface)
interfaceB
Container
Application of the aggregate “solution” is up to the Simulation!!! interfaceB
Container
behaviorA
soldierInterface
soldierbehavior
Soldier1
soldierInterface
soldierbehavior
Soldier2
interfaceB
Platoon
platoonbehaviorMay require mapping
1
2
3
Behind The ScenesWhat’s Happening w/ BASS?
• BASS creates the aggregate solution for BOMworks Exerciser
• How?– Participates as a passive player /
monitors Simulation– Web Service request is made by
BOMworks Exerciser• BASS evaluates relative exercise data• BASS builds a “solution” and returns
the ID
– BOMworks Exerciser fetches solution from BASS
– Client applies Aggregation solution(see previous slide)
• What Solutions does BASS provide?– BOM (Container Class)– JavaScript
Behind The ScenesWhat’s Else is Happening?
var reference = new Object();
reference.id_u = null;
var common = new Object();
common.security_mark_0 = null;
common.faction_id = 31;
...
SpiderMonkey
C/C++ JavaScriptplug-in
Rhino
Java – JavaScriptplug-in
• BASS also provides JavaScript (dynamic code) solution for populating container since container class is “new” to the sim
• JavaScript could also be used to perform the mapping mentioned earlier for behaviors
• Sim can choose to keep instances “alive” while using container class / object
– to preserve sim validity 100%
• Otherwise Sim can remove instances and use container object to deagg back to instances when needed
– deltas in container are static if instances are deleted– depends on sims role, requirements, and where they
want to benefit from aggregation • network load,• Memory savings• CPU processing reduction
Model Aggregation Methods Session Support Statistics / Scoreboard
Model_RequestAggSolution() Session_ClientJoin() Session_SetScoreboard()
Model_RequestDeaggSolution() Session_ClientLeave() Session_GetScoreboard()
Model_FetchAggSolution() Session_GetClients()
Model_FetchDeaggSolution() Session_FetchHistory() Library Support Service
Model_AppendToAgg() Session_RegisterEntity() Lib_AddItem()
Model_ExtractFromAgg() Session_GetEntities() Lib_DeleteItem()
Model_QueryAgg() Session_TransferControlRequest() Lib_UpdateItemMetadata()
Session_TransferControlCheck() Lib_SearchItemsByMetadata()
Entity Aggregation Methods Session_TransferControlStatus() Lib_LookupIDByName()
Entity_RequestAggSolution() Session_LoadSupport_SetDoctrine() Lib_LookupNameByID()
Entity_RequestDeaggSolution() Session_LoadSupport_GetDoctrine()
Entity_FetchAggSolution() Session_LoadSupport_AggCheck() Data Logging Support
Entity_FetchDeaggSolution() Session_LoadSupport_DeaggCheck() Logger_SetSettings()
Entity_AppendToAgg() Logger_GetSettings()
Entity_ExtractFromAgg() Logger_SetMode()
Entity_QueryAgg() Logger_GetMode(()
Logger_FetchDataLog()
Transformation Support
Transform_BOM()
Transform_HLAFOM()
Transform_Metadata()
Error Handling
Error_GetString()
Error_GetCode()
Behind The ScenesWhat are the BAF Interface Methods Available?
SimulationClient
SimulationClient
BAFServer
SimulationClient
- Agg Solutions- Deagg Solutions-Transfer Control- Load Support
EntitiesAggregatedEntities
Discussion - Composability Benefits
• “Bridging constructive, virtual, live and embedded simulations remains a relevant, challenging, and under-addressed problem”*
• “The FOM lies at the center of the interoperability challenge...”*
• Benefits to BOMs• Composability• Better Manageability• Easy to Reconstitute • Helps Tie disparate
systems / simulations
*Conclusions made by paper/presentation titled 02S-SIW-002
COMPOSABILITY - “The ability to rapidly select and assemble components to construct meaningful simulation systems to satisfy specific user requirements. Composability includes the framework, body of knowledge, tools, techniques, and standards necessary to enable effective integration, interoperability, and reuse.” - (DoD M&S Master Plan)
Live
Virtual
Constructive
Discussion
• How can we get more intimate with WARSIM?
– Need to understand conceptual models and use of WARSIM FOM
• How can we involve WARSIM team with development / use of
– BOMs?
– BAF/BASS?
• Other topics?
• Mar 06 – Complete BASS implementation to BAF version 1
• April 06 (Spring SIW – Huntsville)– BASS / SV-AGG demo (compliant with BAF
version 1)– 06S-SIW-116 – “Adding Aggregate Services to
the Mix: An SOA Implementation Use Case”– BOMworks 1.0 release!
• July 06– WARSIM collaboration?– OOS collaboration?– Orlando / VA Demo
• Aug 06– BAF Adjudication of Interface Spec (v1.0)
• Sept 06 (Fall SIW)– Orlando Demo
• Nov 06 – I/ITSEC Demo using WARSIM?
• Dec 06 – Mar 07– Continued integration (using CMod)– WARSIM integration?– Phase III contract vehicle in place?
As Defined Feb 2006
Further Discussion / Questions?
Paul [email protected]
540 372-7727 (work)540 429-2550 (cell)
Mike [email protected]
(407) 384-3853 (work)
www.simventions.com/sbir_agg
Backup Slides
Entities and Vehicles
Aggregate Units
Disaggregated Battlefield
Two Views of the Same World
•BAF/BASS is trying to support these both.•BOMs provide an enabler for representation of these two representations
Fed
erat
e(S
OM
)
BOMAssembly
BOM 1
BOM 3
BOM n
CompositeInterface
Composition
Sim / System A
Representation Fed
erat
ion
(FO
M)Federate B
Federate X
Federate A
Agg
rega
tion
Model#1
Model#2
Model#3
Model#n
- or -
- or -Theate
r Warfa
re
Representa
tion
BOM 2
BOMs are designed for enabling composability, providing extensibility, facilitating interoperability, improving manageability, and encouraging understandibility.
BOM Palette - x
Choose what fits conceptual model?
A
B
C
X
State MachinesPattern of Interplay
Events
User Requirements
Simulation Components
Simulation Systems• foms • federates
BOM – A piece part of a conceptual model, simulation object model, or federation object model, which can be used as a building block in the development and/or extension of a simulation or federation.
Weapons
Effect
Radio
Comm
s
Repair
Resupply
Detect /
Jam
Definition Concept Standards
Illustration
Key Concept - Using Base Object Models (BOMs) as Building Blocks
BOM Illustration #1
Derived from RPR FOM
State Machines
Pattern of Interplay
pattern actions
Weapons Effect
states
Federation Activities Federate Capability
BOM Illustration #2
Jammer(Originator)
Radar
Threat Detected in Range (Msg)
Threat / Target
Emits
Reflects
Detect
Jam
Detection
Jamming
Pattern of Interplay State Machine
Detect /Jamming Activity
Federation Activities Federate Capability
Here there are actually two patterns of interplay “Detection” and “Jamming”
We could conceivably use the “Detection” pattern for other purposes besides just “Jamming” such as “Vectoring Interceptors”
Model Identification (Metadata)
Notes
Lexicon (definitions)
Object Model Definition
HLA Object Classes
HLA Object Class Attributes
HLA Object Classes
HLA Interaction Classes
HLA Interaction Class Parameters
HLA Interaction Classes
HLA Data Types
Conceptual Model
Pattern Of Interplay
State Machine
Entity Type
Event Type
Model Mapping
Entity Type Mapping
Event Type Mapping
What is a BOM really? An Inside Look
Not all these piecesare required for a BOM…
Essential metadata needed so thatthe BOM can be described, discovered and properly reused
Conceptual entitiesand the events whichoccur among thoseentities as well as thestates attainable bythose entities.
Mapping of conceptual entities and events to object model object and interaction classes.
Notes and definitionssupporting any of theabove mentionedelements
Object classes,interaction classes,and datatypes used to perform the behavior describedin the conceptualmodel.
An XML based standard for capturing
model metadata,
aspects of the conceptual model,
the class structures of an object model which are to be used by a system (and a federation) for representing the conceptual model aspects,
and the mapping that exists between that conceptual model and object model.
BOM template allows BOMs to be captured in a reusable way
Hierarchical View of the RPR BOMs…
RPR FOM 2.0
Repair
Resupply
Entity Creation
Entity Reconst’n
Entity Removal
Action Request
Post Comment
Post Event
Behavior Rep
Object Rep EntityObjects
EnvObjects
MinefieldObjects
SignalObjects
Weapons Effect
Collision
Entity St Update
Minefield
Synthetic Env
SIMAN
Logistics
RadioComms
Includes Model Mapping
Behavior Representations• Weapon Effects• Logistics Support• Collision• Entity State Update• Simulation Management• Distributed Emission Regeneration• Radio Communications• Entity Management• Minefield• Synthetic Environment
Behavior Representations• Weapon Effects• Logistics Support• Collision• Entity State Update• Simulation Management• Distributed Emission Regeneration• Radio Communications• Entity Management• Minefield• Synthetic Environment
Object Representations• Entity Object Types• Env Object Types• Minefield Object Types• Signal Object Types
Object Representations• Entity Object Types• Env Object Types• Minefield Object Types• Signal Object Types
How Are BOMs To Be Used…Functionally?
Profile
BOMs
BOM 1
BOM 2
BOM n
Conceptual ModelView
Object Model View
Weapons
Effect
Detect /
Jam
Radio
Comm
s
BOM z
Supp
lier
BOM b
BOM a
Platform
Human
BOM c
BOM dRadar
Munition
Logistics
CAP
SupportCollis
ion
BOMAssembly
CompositeInterface
Composition Representation
Federate B
Federate X
Federate A
Theater W
arfare
Representa
tion
Federationfor
Joint Training
Homeland D
efense
Train
ing F
OM
Operatio
n Fre
edom
Train
ing F
OM
Behavior (Conceptual)
BOMsObject(Class
Structure) BOMs
These can be swapped out as modules
New “Assemblies”can be
“composed” and (for HLA) turned
into FOMs
BOM Element Validity Matrix
BOM Element ->Model
Identification Conceptual
ModelModel
MappingObject Model
Definition
Individual BOM(Conceptual Model)behavior representation(pattern, state machine, events)
Required Required Optional Optional
Individual BOM(Object Model Def) object repesentation (object classes, interaction classes)
Required Optional Optional Required
BOM Assembly(representing composite of other BOMs)
RequiredRequired
(Pattern of Interplay)
Optional Optional
SOM
FOM
BOMs
BOM Assembly
n
Aggregate Model
Xformation
Remember, BOMs can take on different “forms”.
This chart shows how different BOM Elements may constitute different types of BOMs
A BOM Assembly is a collection of one or more BOMs.
That BOM Assembly can be transformed into FOMs, SOMs, or a representation of an Aggregate Model
entities
<<tank BOM>>M1A - 1403
<<tank BOM>>M1A - 1404
<<helo BOM>>Apache - 132
Our ApproachHow are we using BOMs with BAF?
Mapped to
BOMs
FO
M
Simulation
• Data exchange interface elements
• Model Aggregations
Subsystemmodels
BO
Ms
gun
radar
vehicle
soldier
Humveeplatform
Compositepattern
BO
M
<<container BOM>>agg -123
Flyweightpattern
• Entity Instance Aggregations
• Proximity to a specific obstacle, entity or feature • A change in the level of interest • An increase (or decrease) in the physical entity load
Possible aggregation due to proximity to geographical location or point
Possible aggregation due to proximity to client entities or domain of interest
Our Approach to BAFAgg/Deagg Triggers/Criteria
Why is Model Composability Desirable?
• Creating a simulation requires breaking the problem into parts that can be addressed separately
– To reduce the effects of interruption– To permit specialization– To facilitate computing alternative ways of
handling a given component– To maintain the software over time– To reduce risk by relying upon previously
proven components where possible
• Understanding complex systems requires decomposition.
– No one can comprehend the whole’s details
• Testing systems is simplified if done module by module then at the system level
• Controlling M&S costs / economic incentives– Costs are correlated with the amount of new
code writing
• Maintaining and modifying M&S – Individual modules can be substantively
modified or updated as software as necessary, without endangering the overall system.
“Modularity is necessary when dealing with complex systems, and some degree of composability is surely possible and desirable.” - Paul Davis (RAND)
BOMWorks
WARSIMBOMsBASS
Summary - BASS Aggregation Process
Simulation 1
BASSDatabase
ManagementSystem
Simulation environment with many entities using WARSIM FOMWARSIM
FOMUse BOMworks to breakup WARSIM FOM into manageable BOMs
Register BOMs to BASS through Library Management Capabilites- Add BOMs to the Library
- Simulation clients exchange considerable information- Client requests aggregation solution- Aggregate Solution returned and applied
Simulation 2
• Information