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.