590 likes | 917 Views
SBIR Phase II Discussion 2/1/06. Topics. Introductions What is BAF? BAF Interface Methods Example Use Key Concepts BOMs BAF Design Applications / Tools Planned Schedule Additional Discussion. What is the BOM Aggregation Framework (BAF) ?.
E N D
Topics • Introductions • What is BAF? • BAF Interface Methods • Example Use • Key Concepts • BOMs • BAF Design • Applications / Tools • Planned Schedule • Additional Discussion 2
What 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 • BASS - an adjunct server application • Java • Web Services (SOAP) • SOA Aggregation - the coupling of multiple models/entities into a single inclusive group 3
What are the BAF Interface Methods? - Agg Solutions - Deagg Solutions -Transfer Control - Load Support BAF Server Simulation Client Entities Simulation Client Aggregated Entities Simulation Client 4
Client – SV-AGG Entity Driver BASS Example Use - Instance AggregationDemonstration Overview Client: Join BASS network Client: Registers Models (i.e. BOM) with BASS Entity Data Client ID Item ID Item (BOM) BASS Library 6
Client – SV-AGG Entity Driver BASS Example Use – BASS Monitors & Registers Federates Client: Requests aggregation solution of entities Entity Data Solution ID Monitoring Entity Data Analyze Data Instance DataMonitored BASS Library 7
Client – SV-AGG Entity Driver BASS Example 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 8
Model Aggregation WSDL Agg/Deagg Services Entity Aggregation WSDL Session_ClientJoin() client_id Library Services WSDL Lib_AddItem() Exercise Support WSDL item_id Entity_RequestAggSolution() Monitoring / IntercessoryServices Data Logging WSDL entity_agg_solution_id Stats/Scores WSDL Transformation Support WSDL Error Handling WSDL Session_ClientLeave() Demo Review - BASS / SV-AGG Interaction Server-side app (implementation) Client app External services (interface) Soap calls Entity_FetchAggSolution() model 10
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 Key Concepts – BOM Aggregation Types Supported usingBOMs Composite Pattern Flyweight Pattern 12
Key Concepts - Why a BOM Approach? 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. • 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 Federate(SOM) Sim / SystemA WeaponsEffect BOM 1 BOM 2 Theater WarfareRepresentation Detect / Jam Federate A Federate B - or - Federation(FOM) BOM 3 BOMAssembly RepairResupply Representation Composition Federate X CompositeInterface - or - BOM n Model#1 Model#2 RadioComms Aggregation Model#3 Model#n 13
RPR FOM RPR BOMs OneSAF Objective System Key Concepts - How are we using BOMs? (1/3) • Data exchange interface elements • Model Aggregations • Entity Instance Aggregations 14
radar Humveeplatform gun BOM BOMs vehicle Composite pattern soldier RPR FOM RPR BOMs Subsystem models OneSAF Objective System Key Concepts - How are we using BOMs? (2/3) • Data exchange interface elements • Model Aggregations • Entity Instance Aggregations 15
radar Humveeplatform gun BOM BOMs vehicle Composite pattern soldier RPR FOM RPR BOMs Subsystem models OneSAF Objective System <<tank BOM>> M1A - 1403 <<container BOM>> agg -123 <<tank BOM>> M1A - 1404 Flyweight pattern <<helo BOM>> Apache - 132 entities Key Concepts - How are we using BOMs? (3/3) • Data exchange interface elements • Model Aggregations • Entity Instance Aggregations 16
Client Owner Client Server Session_RegisterEntity(client_id, item_id, client_entity_identifier) entity_id Session_GetEntities(client_id, client_of_interest_id) entity_set Session_TransferControlRequest(client_id, transfer_control) Request transfer_request_id Session_TransferControlCheck(client_id) transfer_control Session_TransferControlRequest(client_id, transfer_control) Accept transfer_request_id Session_TransferControlStatus(client_id, transfer_request_id) transfer_control Session_TransferControlRequest(client_id, transfer_control) Complete transfer_request_id Key Concepts – Transfer Control 17
BAF 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) 22
BOMworks • 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 23
SBIR 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? • Phase III contract vehicle in place? 24
BOM Dev Env Discussion Entity Level Sim BASS SV Agg Agg – level Sim Server-side app (implementation) Warsim
Program Contacts Paul Gustavson pgustavson@simventions.com 540 372-7727 (work) 540 429-2550 (cell) Mike Haddad Mike.haddad@us.army.mil (407) 384-3853 (work) www.simventions.com/sbir_agg
Background • 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 29
Pattern of Interplay Events State Machines Key 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 / SystemA 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 Model#1 Model#2 RadioComms Aggregation Model#3 Model#n 30 BOMs are designed for enabling composability, providing extensibility, facilitating interoperability, improving manageability, and encouraging understandibility.
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. Model Identification (Metadata) Conceptual Model Pattern of Interplay State Machine Entity Type Event Type Model Mapping Entity Type Mapping Event Type Mapping Object Model Definition HLA Object Classes HLA Object Classes HLA Object Class Attributes HLA Interaction Classes HLA Interaction Classes HLA Interaction Class Parameters HLA Data Types Notes Lexicon (definitions) BOM Elements 31
Weapons Effect Logistics Repair Resupply Collision Entity State Update SIMAN Entity Creation Entity Reconst’n Entity Removal RadioComms Action Request Minefield Post Comment Synthetic Enviro Post Event EntityObjects EnvObjects MinefieldObjects SignalObjects BOMs 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 32
BASS 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) 33
NetworkLoad CPULoad First 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 34
NetworkLoad CPULoad First 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 35
NetworkLoad CPULoad First 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 36
NetworkLoad CPULoad First 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 37
NetworkLoad CPULoad Second 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 38
NetworkLoad CPULoad Second 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 39
NetworkLoad CPULoad Second 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 40
NetworkLoad CPULoad Second 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 41
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 Demo Scenario Snapshot • OPFOR Side • Heavy artillery guns • Infantry • Service vehicles • Mines / Bombs 42
The 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. 43