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 Approach Why 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. Federate (SOM) BOM Assembly BOM 1 BOM 3 BOM n Composite Interface Composition Sim / System A Representation Federation (FOM) Federate B Federate X Federate A Aggregation Model #1 Model #2 Model #3 Model #n - or - Theater Warfare Representation BOM 2 Weapons Effect Radio Comms Repair Resupply Detect / Jam
Our Approach to BAF Goals / 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 AggregationEntity Instance Aggregation Aggregation Types Producer - 1 st LevelConsumer - 2 nd Level Aggregation Levels Our Approach to BAF Supported Aggregations
Current Capabilities Where Are We? BAF Specification – version 1.0b – Update expected in Aug BASS Implementation – Now – 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
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/ /1516 Source Code GenerationSource Code Generation Built on Galileo Framework - extensible and customizableBuilt on Galileo Framework - extensible and customizable.NET Version available Java Community Edition recently delivered to DMSO 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 Mapping FOM BOM
WarSimBOMs Highlights - FOMs -> BOMs (Warsim BOMs) Explore using
Nuts and Bolts - Mapping Entity Data Comparing 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.fwaOriginRPR Object ClassJSIMS Object Class WARSIM Object Class?
Highlights Exercise of WARSIM BOM instances using BOMworks and BASS Exerciser
Behind The Scenes What’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 platoonbehavior May require mapping 1 2 3
Behind The Scenes What’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 Scenes What’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++ JavaScript plug-in Rhino Java – JavaScript plug-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
Behind The Scenes What are the BAF Interface Methods Available? Simulation Client Simulation Client BAF Server Simulation Client - Agg Solutions - Deagg Solutions -Transfer Control - Load Support Entities Aggregated Entities
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 Gustavson (work) (cell) Mike Haddad (407) (work)
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
Federate (SOM) BOM Assembly BOM 1 BOM 3 BOM n Composite Interface Composition Sim / System A Representation Federation (FOM) Federate B Federate X Federate A Aggregation Model #1 Model #2 Model #3 Model #n - or - Theater Warfare Representation 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 Machines Pattern 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 Comms Repair Resupply Detect / Jam DefinitionConceptStandards 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 ActivitiesFederate 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 ActivitiesFederate 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 pieces are required for a BOM… Essential metadata needed so that the BOM can be described, discovered and properly reused Conceptual entities and the events which occur among those entities as well as the states attainable by those entities. Mapping of conceptual entities and events to object model object and interaction classes. Notes and definitions supporting any of the above mentioned elements Object classes, interaction classes, and datatypes used to perform the behavior described in the conceptual model. 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 E ntity S t U pdate 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 Model View Object Model View Weapons Effect Detect / Jam Radio Comms BOM z Sup plier BOM b BOM a Platform Human BOM c BOM d Radar Munition Logistics CAP Support Collision BOM Assembly Composite Interface Composition Representation Federate B Federate X Federate A Theater Warfare Representation Federation for Joint Training Homeland Defense Training FOM Operation Freedom Training FOM Behavior (Conceptual) BOMs Object (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 Model Model Mapping Object Model Definition Individual BOM (Conceptual Model) behavior representation (pattern, state machine, events) Required Optional Individual BOM (Object Model Def) object repesentation (object classes, interaction classes) RequiredOptional Required BOM Assembly (representing composite of other BOMs) Required Required (Pattern of Interplay) 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 > M1A > M1A > Apache Our Approach How are we using BOMs with BAF? Mapped to BOMs FOM Simulation Data exchange interface elements Model Aggregations Subsystem models BOMs gun radar vehicle soldier Humvee platform Composite pattern BOM > agg -123 Flyweight pattern 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 BAF Agg/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 WARSIM BOMs BASS Summary - BASS Aggregation Process Simulation 1 BASS Database Management System Simulation environment with many entities using WARSIM FOM WARSIM FOM Use 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