Title: SBIR Phase II Discussion 2/1/06
 1SBIR Phase II Discussion 2/1/06 
 2Topics
- Introductions 
- What is BAF? 
- BAF Interface Methods 
- Example Use 
- Key Concepts 
- BOMs 
- BAF Design 
- Applications / Tools 
- Planned Schedule 
- Additional Discussion
3What is the BOM Aggregation Framework (BAF)?
- A common framework for aggregating and 
 deaggregating models and entities
- Facilitate Agg-level / entity-level 
 interoperability
- Reduce memory, cpu,  network load 
- 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 
Aggregation - the coupling of multiple 
models/entities into a single inclusive group 
 4What are the BAF Interface Methods?
- Agg Solutions - Deagg Solutions -Transfer 
Control - Load Support
BAF Server
Simulation Client
Simulation Client
Entities
Aggregated Entities
Simulation Client 
 5Example Use - Demonstration Overview 
 6Example Use - Instance Aggregation Demonstration 
Overview
Client Join BASS network Client Registers 
Models (i.e. BOM) with BASS
Entity Data
Client ID Item ID Item (BOM)
BASS Library 
 7Example Use  BASS Monitors  Registers Federates
Client Requests aggregation solution of 
entities
Entity Data
Solution ID
Monitoring
Entity Data
Analyze Data
Instance DataMonitored
BASS Library 
 8Example Use BASS Monitors  Registers Federates
Client fetch aggregate solution
Client implements aggregate solution reducing 
resource load and improving performance
Entity Data
Solution ID
Monitoring
Entity Data
Agg Solution
Instance DataMonitored
BASS Library 
 9Demonstration Clip 
 10Demo Review - BASS / SV-AGG Interaction
Server-side app (implementation)
Client app
External services (interface)
Soap calls
Entity_FetchAggSolution()
model 
 11Key Concepts 
 12Key Concepts  BOM Aggregation Types
- Model Aggregations 
- Interface Groupings 
- Non-exercise specific (class based) 
- Examples 
- Car(Engine / Wheels / Suspension / Braking 
 System / Frame)
- Ship(Weapon System / Radar / CIC) 
- Equipment Pack(Ammo / Weapon / Grenade / Water / 
 First Aid Kit / MRE)
- First Aid Kit(Gauze / Wrap / Ointment / Knife / 
 Aspirin / Blood Clot (kitty litter))
- Human Anatomy(Heart / Liver / Kidney / Digestion 
 system, Epidermis, etc)
- Entity Instance Aggregations 
- Entity Groupings 
- Exercise specific (object driven) 
- Examples 
- Battalion (Collection of Individual Soldiers) 
- Air Squadron 
- Battle group 
- Weather (Storm Cells / Wind / Temperature / 
 Atmospheric Pressure/ Bathymetry)
- Close Air Support(Forward Air Controller / 
 Aircraft / Target / Target Locater / Designator)
- Crowds 
Supported usingBOMs
Composite Pattern
Flyweight Pattern 
 13Key Concepts - Why a BOM Approach?
- 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.
Federate(SOM)
Sim / System A
WeaponsEffect
BOM 1
BOM 2
Theater WarfareRepresentation
Federate A
Detect / Jam
Federate B
- or -
BOM 3
Federation(FOM)
BOMAssembly
RepairResupply
Representation
Composition
Federate X
CompositeInterface
- or -
BOM n
Model1
Model2
RadioComms
Aggregation
Model3
Modeln 
 14Key Concepts - How are we using BOMs? (1/3)
- Data exchange interface elements
- Entity Instance Aggregations
15Key Concepts - How are we using BOMs? (2/3)
- Data exchange interface elements
- Entity Instance Aggregations
16Key Concepts - How are we using BOMs? (3/3)
- Data exchange interface elements
- Entity Instance Aggregations
17Key Concepts  Transfer Control 
 18Key Concepts - Aggregate Triggers/Criteria (1/3)
Trigger Criteria Description Use Cases
Proximity to Client Entities deagg_threshold_distance, agg_threshold_distance, exclude_list_of_item_ids (instance of a model), priority_level Proximity of entities/aggregations to a client's entities withing the synthetic battlespace for which aggregation / deagg solutions can be generated. When any aggregation group's proximity to a client's entity falls within the deagg_threshold value, then a deagg solution would be automatically generated.When any entity's proximity to a client's entity falls outside the agg_threshold value (other than those that are within the exclude list), an agg solution would be automatically generated.
Proximity to Geographical Region list of cubic region areas (defined via alt_min, alt_max, lat_east, long_north, lat_west, long_south), agg_threshold_distance, deagg_threshold_distance, exclude_list_of_item_ids (instance of a model), priority_level Proximity to a specific cubic area in the synthetic battlespace however any aspect of the three dimensional plane (which is framed using lat, long and alt) could be unbounded. When an aggregation group's proximity to a client's defined cubic region falls within the deagg_threshold value, then an deagg solution would be automatically generated.When an entity's proximity to a client's defined cubic region falls outside the agg_threshold value a agg solution would be automatically generated.In the case where space platforms may not be of interest at the entity level then an alt_min value could be identified whereas other values (alt_max, lat_east, long_north, lat_west, long_south) can be marked as xFFFF (all bits 1) representing unbounded axises 
 19Key Concepts - Aggregate Triggers/Criteria (2/3)
Trigger Criteria Description Use Cases
Proximity to Geographical Location Point list of location points (lat, long, alt) deagg_threshold_distance, agg_threshold_distance, exclude_list_of_item_ids (instance of a model), priority_level Proximity to a specific obstacle or feature in the synthetic battlespace The lat and long define a specific point within the simulation space. When an aggregation group's proximity to a specific point falls within the deagg_threshold value, then an deagg solution would be automatically generated.When an entity's proximity to a specific point falls outside the agg_threshold value a agg solution would be automatically generated.In the case where altitude of a location is not of interest then the lat, long values could be identified whereas other the alt value, can be unbounded marked as xFFFF (all bits 1). This would resulting in a cylnder extending from the center of the earth to space around the specific (lat, long) point 
Domain of Interest list of domains of interest, priority_level A change in the level of interest or significance regarding the specific domain a model or entity supports Identifies the level of interest a client has within a specific domain for which entities may operate. Any entities that fall outside of this level of interest are candidates for aggregation. Any entities that fall within this level of interest are anticipated to operate as entities within a deaggregated state. When an aggregation group's domain falls within the domain_of_interest, then an deagg solution would be automatically generated.When an entity's domain falls outside the domain_of_interest, then a agg solution would be automatically generated.Entities can be grouped by mission, scope or domain (i.e. application domain). For example, a client responsible for managing air entities may not have a vested interest in entities within a subsurface or surface campaign. Thus it doesn't make sense to control and monitor entities which are not of interest to that client and it's entity(s). 
 20Key Concepts - Aggregate Triggers/Criteria (3/3)
Trigger Criteria Description Use Cases
Load_Change max_client_entity_count, max_federation_entity_count_threshold, max_federation_agg_count_threshold, priority_level An increase (or decrease) in the physical entity load by the client and/or over the entire federation would reault in an appropriate transfer_control.or aggregation solution (deagg solution) can be suggested. May result in a TransferControlRequest to offload responsbility that one federate may have in managing multiple entities to another federate who has more CPU cycles available.May also result in offering an AggregationSolution to minimize the number of entities within the battlespace environment (i.e., federation). When the entity count exceeds max_client_entity_count for the client, than a TransferControlRequest solution would be automatically generated.When the entity count exceeds the max_federation_entity_count_threshouuld for the federation, then one or more Agg Solutions would be automatically generated.When the aggregate count exceeds the max_federation_agg_count_threshold for the federation, then one ore more Deagg Solutions would be automatically generated.  
 21BAF Applications / BOM Tools 
 22BAF Applications
- BAF Server (BASS) 
- Java (Eclipse) 
- Web Services 
- Independent WSDLsfor each service group 
- Not dependent on dedicated server 
- Uses and generates BOMs 
- Apache 
- HLA / RTI input 
- BAF Clients 
- C, C, Java 
- Apps include 
- BASS Text Clients (Java) 
- BASS Viewer (C) 
- SV-Agg (C) 
- AAXE (under dev - Java) 
Apache Tomcat/5.0.28 
 23BOMworks
- Create BOMs 
- Edit BOMs 
- Grid/XML/UML 
- Drag/Drop 
- Cut/Copy/Paste 
- Validate BOMs 
- Import/Export FOMs 
- 1.3/1516 
- Source Code Generation 
.NET Version available Java version to be 
released very soon www.simventions.com/bomworks 
 24SBIR Schedule
- 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? 
SBIR Effort START FINISH
Phase I Agg / Deagg Framework 11/1/2003 7/1/2004
Phase II Agg / Deagg Framework 11/1/2004 9/30/2006
Phase II PU - BAF Automation of RCIP Navigator (BARN) 12/1/2005 9/30/2006
Phase II PU - Conceptual Model Generator (CMod) 3/1/2006? 3/1/2007? 
 25Discussion
BOM Dev Env
Entity Level Sim
BASS
SV Agg
Agg  level Sim
Server-side app (implementation)
Warsim 
 26WARSIM System Overview
Contract Period April 1996 - September 2009
S/W Product f/ U.S. Govt Includes all source/executable code in the operational system, support hardware, and databases
Languages ISO/ANSI C, Java, XML
Lifecycle Model Evolutionary Spiral, Annual updates
Development Standards MIL-STD-498, tailored via WARSIM Software Development Plan
Host Development System Linux (Opteron) and Windows PCs
Target System Linux (Opteron) and Windows PCs
S/W Program Size 74 KSLOC Reused 2685 KSLOC New
Customer PEO  STRI (Simulation, Training and Instrumentation) Orlando, Florida 
 27Program Contacts
- Paul Gustavson 
- pgustavson_at_simventions.com 
- 540 372-7727 (work) 
- 540 429-2550 (cell) 
- Mike Haddad 
- Mike.haddad_at_us.army.mil 
- (407) 384-3853 (work)
www.simventions.com/sbir_agg 
 28Backup Slides 
 29Background
- Large-scale simulations exercises 
- High entity loads 
- High degree of resolution needed 
- Undue strain on Federation 
- Network 
- CPU 
- RTI Performance 
- Recognition that not all players need / care 
 about each model / entity
- Approaches Resolution scaling and aggregation 
- Concern for water down effect 
- Lack of techniques 
- No common infrastructure 
Aggregation - the coupling of multiple 
models/entities into a single inclusive group 
 30Key Concepts  What are BOMs?
Definition
Concept
Standards
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.
BOM Palette
-
x
Simulation Components
Choose what fits conceptual model?
User Requirements
 A
B
- Simulation Systems 
-  foms 
-  federates 
X
C
Illustration
Federate(SOM)
Sim / System A
WeaponsEffect
BOM 1
BOM 2
Theater WarfareRepresentation
Federate A
Detect / Jam
Federate B
- or -
Federation(FOM)
BOM 3
BOMAssembly
RepairResupply
Representation
Composition
Federate X
CompositeInterface
- or -
BOM n
Model1
Model2
RadioComms
Aggregation
Model3
Modeln
 BOMs are designed for enabling composability, 
providing extensibility, facilitating 
interoperability, improving manageability, and 
encouraging understandibility. 
 31BOM Elements
- a component-based standard describing reusable 
 piece parts of a simulation or simulation space.
- BOMs can be used to document one or more of the 
 following piece part elements
- Conceptual Model 
- Patterns of interplay 
- State machines 
- Entities 
- Events 
- Interface Description 
- Object classes / attributes 
- Interaction classes / parameters 
- Mapping between Conceptual Model and Interface 
 Description
- Used as a building block in the development and 
 extension of a simulation and/or a federation of
 simulations.
- Provides developers and users a modular approach 
- for defining and adding new capabilities to a 
 federate or federation,
- for quickly composing object models such as HLA 
 FOMs and SOMs through BOM Assemblies.
32BOMs being using - RPR BOMs
RPR FOM 2.0
Conceptual Model
GRIM
DIS 1278
The use of interaction classes involves a 
detailed understanding of the state transitions 
and timing between events. - RPR FOM GRIM 
Model Mapping
Object Model Def 
 33BASS Methods
Model Composition Agg WSDL
Entity Instance Agg WSDL
Library Services WSDL 
Data Logging WSDL
BASS
Load Balance WSDL 
Exercise Support WSDL
SV Agg
Transfer Control WSDL
Transform WSDL
Server-side app (implementation)
Client app
Stats/Scores WSDL
Soapcalls
External services (interface) 
 34First Level Aggregation - Stage 1  
Pre-aggregation
Here the responsibility of aggregation, although 
it can be advised by a web service like BASS, is 
upon the sending federate that owns the models / 
entities. He must use the aggregated interface / 
msg. The benefit is a reduction in the amount of 
messages being generated over the network by one 
federate.
Entityinstances
Modelsused
SENDER
models
RECEIVER
entities 
 35First Level Aggregation  Stage 2 Interest 
Identification
Here the responsibility of aggregation, although 
it can be advised by a web service like BASS, is 
upon the sending federate that owns the models / 
entities. He must use the aggregated interface / 
msg. The benefit is a reduction in the amount of 
messages being generated over the network by one 
federate.
Entityinstances
Modelsused
SENDER
models
RECEIVER
entities
Interest level 
BASS 
 36First Level Aggregation -Stage 3  Aggregation 
Opportunity
Here the responsibility of aggregation, although 
it can be advised by a web service like BASS, is 
upon the sending federate that owns the models / 
entities. He must use the aggregated interface / 
msg. The benefit is a reduction in the amount of 
messages being generated over the network by one 
federate.
Entityinstances
Modelsused
SENDER
models
RECEIVER
entities
Interest level 
BASS
- Aggregate Triggers/Criteria 
- Proximity to a specific obstacle, entity or 
 feature in the synthetic battlespace
- A change in the level of interest or significance 
 regarding the specific domain a model supports
 or
- An increase (or decrease) in the physical entity 
 load by the system and/or over the entire
 federation.
Monitorsfederation 
 37First Level Aggregation -Stage 4  Distributed 
Aggregation Employed
Here the responsibility of aggregation, although 
it can be advised by a web service like BASS, is 
upon the sending federate that owns the models / 
entities. He must use the aggregated interface / 
msg. The benefit is a reduction in the amount of 
messages being generated over the network by one 
federate.
entityaggregation
modelaggregation
SENDER
models
RECEIVER
entities
aggregate solution
Interest level 
BASS
- Aggregate Triggers/Criteria 
- Proximity to a specific obstacle, entity or 
 feature in the synthetic battlespace
- A change in the level of interest or significance 
 regarding the specific domain a model supports
 or
- An increase (or decrease) in the physical entity 
 load by the system and/or over the entire
 federation.
Monitorsfederation 
 38Second Level Aggregation -Stage 1  
Pre-aggregation
Modelsused
Here the responsibility of aggregation, which is 
also advised by a web service like BASS, is upon 
the recipient federate(s). The idea here is that 
the messages, once received by the federate, can 
then be pooled and represented as an aggregate 
locally by that receiving federate rather than as 
individual models or object instances that it has 
to hold in memory. The benefit of this is that it 
helps reduce the memory load and computing burden 
for those federate recipients.
RECEIVER
Modelsused
Entity Instances
FEDERATE A
models
RemoteEntityinstances
FEDERATE B
entities
models
entities 
 39Second Level Aggregation -Stage 2  Interest 
Identification
Modelsused
Here the responsibility of aggregation, which is 
also advised by a web service like BASS, is upon 
the recipient federate(s). The idea here is that 
the messages, once received by the federate, can 
then be pooled and represented as an aggregate 
locally by that receiving federate rather than as 
individual models or object instances that it has 
to hold in memory. The benefit of this is that it 
helps reduce the memory load and computing burden 
for those federate recipients.
RECEIVER
Modelsused
Entity Instances
FEDERATE A
models
RemoteEntityinstances
FEDERATE B
entities
Interest level 
models
BASS
entities 
 40Second Level Aggregation -Stage 3  Aggregation 
Opportunity
Modelsused
Here the responsibility of aggregation, which is 
also advised by a web service like BASS, is upon 
the recipient federate(s). The idea here is that 
the messages, once received by the federate, can 
then be pooled and represented as an aggregate 
locally by that receiving federate rather than as 
individual models or object instances that it has 
to hold in memory. The benefit of this is that it 
helps reduce the memory load and computing burden 
for those federate recipients.
RECEIVER
Modelsused
Entity Instances
FEDERATE A
models
RemoteEntityinstances
FEDERATE B
entities
Interest level 
models
BASS
- Aggregate Triggers/Criteria 
- Proximity to a specific obstacle, entity or 
 feature in the synthetic battlespace
- A change in the level of interest or significance 
 regarding the specific domain a model supports
 or
- An increase (or decrease) in the physical entity 
 load by the system and/or over the entire
 federation.
Monitorsfederation
entities 
 41Second Level Aggregation -Stage 4  Localized 
Aggregation Employed
ModelAggs
Here the responsibility of aggregation, which is 
also advised by a web service like BASS, is upon 
the recipient federate(s). The idea here is that 
the messages, once received by the federate, can 
then be pooled and represented as an aggregate 
locally by that receiving federate rather than as 
individual models or object instances that it has 
to hold in memory. The benefit of this is that it 
helps reduce the memory load and computing burden 
for those federate recipients.
RECEIVER
Modelsused
Entity Instances
FEDERATE A
models
RemoteInstanceAggs
FEDERATE B
entities
Interest level 
aggregate solution
models
BASS
- Aggregate Triggers/Criteria 
- Proximity to a specific obstacle, entity or 
 feature in the synthetic battlespace
- A change in the level of interest or significance 
 regarding the specific domain a model supports
 or
- An increase (or decrease) in the physical entity 
 load by the system and/or over the entire
 federation.
Monitorsfederation
entities 
 42Demo Scenario Snapshot
- The following slides consist of snapshots 
 obtained within OneSAF Objective System during a
 simulation execution for the 2005 Fall SIW Demo.
- The entities displayed on the PVD are captured 
 during a task operation as defined by the user.
- The task organization is as follows 
- BLUFOR Side 
- Helicopters (Apache, Blackhawk, Chinook, Cobra, 
 Longbow)
- Fixed Wing (F16 Falcon, A10 Thunderbolt, AC130U 
 Global Hawk)
- Tanks (armored) 
- Supply vehicles 
- Heavy artillery guns 
- OPFOR Side 
- Heavy artillery guns 
- Infantry 
- Service vehicles 
- Mines / Bombs 
43The simulation environment consists of different 
entities acting independent of each other with a 
mix of objectives. In this simulation the blue 
force is assembling to engage the red force. 
 44RequestAggSolutionForEntitySet 
 45(No Transcript) 
 46(No Transcript) 
 47(No Transcript) 
 48RequestAggSolutionForEntitySet 
 49(No Transcript) 
 50RequestAggSolutionForEntitySet 
 51RequestDeaggSolutionForEntitySet 
 52(No Transcript) 
 53Instance Aggregation Demonstration Overview 
 54Key Concepts - Aggregate Triggers/Criteria
- Proximity to a specific obstacle, entity or 
 feature in the synthetic battlespace
- A change in the level of interest or significance 
 regarding the specific domain a model supports
 or
- An increase (or decrease) in the physical entity 
 load by the system and/or over the entire
 federation.
55Terminology
Term Definition
Abstraction An idea that concentrates on the essential properties of a common pattern of interplay rather than on concrete realizations or actual cases.
Aggregation the coupling of multiple entities/models into a single inclusive group
Behavior Components model the needed behavior required of a conceptual entity to support patterns (Federate level)
BOM a piece part of a conceptual model composed of a group of interrelated elements, which can be used as a building block in the development and extension of a federation, individual federate, FOM or SOM. 
Component A unit with a known set of inputs and expected output behavior, but the implementation details may be hidden.
Composability The capability to select and assemble components in various combinations into complete, validated simulation environments to satisfy specific user requirements across a variety of application domains, levels of resolution, and time scales. 1
Fidelity the level of attribution in the model at a given level of resolution 
Load Balancing delegation of work responsibility among a federation to prevent overtaxing an individual federate and/or network and to ensure proper execution
BOM Assembly A composition of BOMs used to represent a higher order pattern.
Pattern Components Representing the relationship of activities among conceptual entities (FOM level), 
Pattern of Interplay reflects a set of activities related to one or more conceptual entities used for accomplishing a common objective, capability, or purpose
Precision the accuracy of attributes and parameters in the model during input, processing, and output. 
Resolution the level of abstraction in the simulation or model, defining the things to be modeled 
Simulation Space Any part of a simulation environment, which may be represented by one or more conceptual entitles modeled and reflected by a federate, federation, or as an aggregated force within a federation execution.
1 M. D. Petty and E. W. Weisel, A 
Composability Lexicon, Proceedings of the Spring 
2003 Simulation Interoperability Workshop, 
Orlando FL, March 30-April 4 2003, 03S-SIW-023. 
 56BASS
X
ObjectiveOneSAFEntity-Level Sim
SV-AGGAggregate-Level Sim
RPR FOM
AggregateContainer FOM 
 57Key Concepts  SOA Design
Service Oriented Architecture (SOA) FOCUS
- The common interface must be leveraged by all 
 participating software agents (i.e. federates)
- That the interfaces must be accessible and 
 understood by all providers and consumers
- Interfaces serve as the framework for the 
 messages that are to be exchanged
- Minimal system behavior is provided by these 
 interfaces (or messages)
- An XML schema should be applied to define the 
 vocabulary and structure
- Additional services should be able to be added 
 without impairing the common interface.
- Service-oriented Architecture (SOA) 
- Loosely Coupled Approach 
- Minimize Unnecessary dependencies among systems 
 and software
- Maintain functionality / individuality 
- Potential Technologies 
- XML 
- WSDL 
- SOAP / XML-RPC 
- UDDI 
- BOMs 
- XSLT (FOM Mappings, BTMs 
- BOM Impl (Java Beans) 
- Other Technologies (not SOA) 
- Network Distribution (RTI) 
- Federation Agreements (FOM)
http//www.informit.com/articles/article.asp?p336
265seqNum1 
 58BAF Automation of the RCIP Navigator (BARN)
- How does it interact with the RCIP Navigator? 
-  Capable of automating the execution process of 
 the model
-  Able to extract/write BOM info from the models 
 execution output
- Can be retooled as a component instead of a 
 standalone application
- Where is it at this moment in time? 
-  Queries for a script file name 
-  Executes script read in from file or manually 
 entered
- Next Step 
- BAF (BASS) Integration
- Automation and Extraction Agent (AAXE) 
- BAF client 
- prototype tool 
- Java-based, so that it is available on multiple 
 platforms
- Can integrate / wrap-around any client 
 application (e.g. RCIP Nav)
- Will leverage BAF web services  BOMs
Scripts exist already to execute the model in 
ProcessModel (i.e. RCIP Nav) and force export the 
data to an Excel spreadsheet.