Title: Case Study: Prototyping a MegaBOM with SRML for NextGeneration Combat Support
1Case Study Prototyping a Mega-BOM with SRML
for Next-Generation Combat Support
- Steven W. Reichenthal
- Boeing
- 3370 Miraloma Ave
- Anaheim, CA 92803
- 714-762-1612
- steven.w.reichenthal_at_boeing.com
- Paul Gustavson
- SimVentions
- 3330 Bourbon St., Ste 129
- Fredericksburg, VA 22408
- 540-372-7727
- pgustavson_at_simventions.com
Julio de la Cruz US Army RDECOM
(Provisional) 12423 Research Parkway Orlando, FL
32826 407 384-3733 julio.delacruz_at_us.army.mil
2Background
- Increased Focus on Composability
- Goal to quickly and efficiently assemble
interoperable simulations and simulation spaces. - Dependent upon a component-based mechanism that
facilitates rapid development of simulations and
simulation enterprises. - Technologies / Efforts to Leverage
- XML
- BOMs
- SRML
- Base Object Models (BOMs)
- Intended to provide a distinct way to represent
individual simulation interaction patterns and
components - Used to build or modify a federation or
interoperable environment. - Open standardization is key!
- Focus of a SISO PDG
- Simulation Reference Markup Language (SRML)
- Used as a means for representing encapsulated
behavior within BOMs. - Focus of a SISO Study Group
- Submitted to W3C
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
3Case Study Concept
- The Plan -
- Put together composition of prototype BOMs
representing a potential next-generation combat
support system - Represent a Mega-BOM that models the logistic
capabilities of our mock combat support system - Capture/represent Behavior using SRML.
- User Universal Simulator to Test
- The End Goal -
- Serves as a case-study for SISO and specifically
the PDG - Provoke discussion and assist in the development
of the BOM specification standard - Find out what communities have interest / could
potentially benefit from BOMs / SRML
4Specific Case Study Goals
- To create a functioning prototype that mixed
various types of markup to support the necessary
assembly and meta-data needed for an encapsulated
BOM - To demonstrate the ability for BOMs to facilitate
interoperability, reusability and composability
through the creation of a Mega-BOM, - To gain insights into the methods of model
composition through the construction of this
Mega-BOM, and - To determine the ability to provide backward
compatibility with the HLA by transforming a
Mega-BOM back into a FOM.
5Case Study Activities
- Define our Federation Objectives
- Perform our Conceptual Analysis
- Identify the type of BOMs needed to fulfill our
objectives - Develop these BOMs and assemble them into a
Mega-BOM - Test and run our prototype
6Define Our Federation Objectives
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Identify our Primary Federation Objective to
create a simulation prototype modeling a
next-generation support system for combat
troops. - Define Applicable Scenariothe modeling of a
potential next-generation combat support system
that can assess and auto-respond to required
resources during the patrol and engagement of
forces - Derive Operational Objectives (reveals
intent-of-use! ) - Intent-of-use can later be applied as meta-data
for a BOM component
7Perform Our Conceptual Analysis
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Developed a supply scenario
- Based upon existing scenarios
- Leveraged RPR FOM / 1278
- Trigger-based events
- Identify use cases
- Consume supplies
- Re-supply
- Replenish
- Produced Sequence Diagram
RPR FOM / 1278 define the interactions between
consumers and suppliers within a logistics
support context
We chose to extend the interface by including
triggers that suppliers use for automatically
knowing when their consumers need re-supply
8Identify the Type of BOMs Needed to Fulfill Our
Objectives
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Used operational objectives to determine BOMs
(Inputs 1.2, 2.1, 2.2, 2.3) - BOMs identified, which collectively represented
Fed Dev Execution Plan(Output 3.3) - Supply BOM
- Logistics BOM
Selection of Federates not as important as
recognizing what needed to be represented and
reflected within our federation.
With the BOMs identified, we new what we needed
to develop our federation.
9Develop BOMs and Assemble Them Into a Mega-BOM
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Choose BOM Classification
- BOM Dimensions
- XML Background
- The BOM Schema
- SRML
- Designing BOMs
- Building the Supply BOM
- Building the Logistics BOM
- Composing a Mega-BOM
10Choose BOM Classification
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
BOM Dimensions
- Determine Type and Categories of BOMs
- Encapsulated BOMs
- With Triggers and required Interactions
- Design Time for platform independency
- Generalize towards abstractions for greater reuse
and applicability to other federations
These Dimensions become meta-data associated with
the BOM
11XML Background (1/2)
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Markup language for creating other markup
languages, known as XML applications - XML documents consist of elements specified using
tags (words bracketed by 'lt' and 'gt'). - Elements may include attributes (described by a
name-value pairs), and - may also include embedded elements
- XML constructs can describe hierarchically
related and networked dataliteral data and
meta-data
12XML Background (2/2)
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- XML Schema
- An XML document that defines rules for the
relationships and attributes that can be
validated with software - Defines the rules for a particular XML
application - XML Document Object Model (DOM)
- An API that enables programming languages and
scripts to load, validate, navigate, modify, and
save XML structures with code - Software libraries and components for the DOM are
freely available on the Internet
13BOM Schema
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Needed to identify the necessary (and optional)
elements of a BOM to support the interface
dimension. - Every BOM, including Encapsulated BOMs, contain
an interface. - BOM Schema is to be worked out with the BOM PDG
- For the purposes of the Case Study, a fairly
simple BOM Schema devised for our prototype BOMs.
- Experimented with the dimensions of searchability
markup
14The Simulation ReferenceMarkup Language (SRML)
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Needed way to represent behavior for each BOM
- SRML provides means for modeling behavior
- a language for adding simulation behavior to
arbitrary XML documents - forming web-based simulation models
- SRML Behavioral elements defined in SRML include
- Item classes
- Event classes
- Scripts and other elements
- SRML is blended with other content
- SRML can be executed in an SR Simulator(Much
like HTML can be executed in a browser) - Provides a run-time environment that includes the
standardized XML Document Object Model (DOM)
15Designing Our BOMs
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Part of Federation Design includes creation of
our BOM architecture - Supply Mega-BOM
- Supported by
- Supply BOM
- Logistics BOM
- Instantiations of the classes within those BOMs.
- Scenario Instance
- Consumers of fuel and ammo
- 5 Land Troops
- 5 Air Troops
- Resupplier
- 1 Logistics instance to handle consumer requests
BOM Architecture (Based on Scenario)
16Building the Supply BOM
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- ltsrmlEventClass Name"ResupplyOffer"gt
- ltinteractionClass name"ResupplyOffer"
...gt...lt/interactionClassgt - lt/srmlEventClassgt
- ltsrmlEventClass Name"ResupplyReceived"/gt
- ltsrmlItemClass Name"Supplier"
supplySharing"PublishSubscribe"gt - ltsrmlProperty Name"SupplyLevel" Type"r8"
Default"100" - supplySharing"PublishSubscribe"/gt
- ltSuppliergt
- ltsrmlEventSink Name"Consumer"
EventClasses"ResupplyReceived ResupplyCancel - ServiceRequest" ItemClasses"Consumer"
WithPropertiesChanged"Level"/gt - lt!-- Snip. --gt
- lt/srmlItemClassgt
- Contains two coupled item classes
- Consumer
- Supplier (shown in listing)
- Suppliers Publish / Subscribe intentions (line
5) - Supplier receives a discrete package of
consumption through a trigger (line 9)
17Building the Logistics BOM
- ltbomDefinition
- Name"Logistics" xmlnsbom"urnbom"
xmlnssrml"urnx-schemasrml.xdr" - xmlnssupply"urnhla_supply"
Type"Trigger-Interaction" Assembly"DesignTime" - Category"Encapsulated" GeneralizationLevel"Abs
tract"gt - ltMetaDatagt
- ltArticle Name"external-design"
href"http//.../SupplyBOM.ppt"/gt - ltArticle Name"intent-of-use"gtUse for
Logistics Supply Simulations. - lt/Articlegt
- lt/MetaDatagt
- ltsrmlItemClass Name"Supplier"
srmlSource"SupplyBOM.xml"/gt - ltsrmlItemClass Name"Logistics"
SuperClasses"Supplier"gt - ltLogisticsgt
- ltDatabase Name"db" srmlLocationFixed"True"
srmlSource"progid//SRDB.Database"gt - ltTable Name"Supplies" Columns"Entity_Kind Text,
OnHand Long, Reorder_Point Long, Reorder_Quantity
Long, Lead_Time Text" NextAutoNumber"1"gt - ltRow Entity_Kind"Ammo" OnHand"1000"
Reorder_Point"10" Reorder_Quantity"1000"
Lead_Time"normal 10 1"/gt - ltRow Entity_Kind"Fuel" OnHand"2000"
Reorder_Point"30" Reorder_Quantity"2000"
Lead_Time"normal 20 2"/gt - lt/Tablegt
- ltIndex Name"PrimaryKey" Unique"1"
Table"Supplies" Columns"Entity_Kind"/gt - lt/Databasegt
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- BOM definition Mark-up (lines 1-9)
- Relational database structure (lines 13-19)
- Select Query(line 23)
18Building the Logistics BOM
- ltbomDefinition
- Name"Logistics" xmlnsbom"urnbom"
xmlnssrml"urnx-schemasrml.xdr" - xmlnssupply"urnhla_supply"
Type"Trigger-Interaction" Assembly"DesignTime" - Category"Encapsulated" GeneralizationLevel"Abs
tract"gt - ltMetaDatagt
- ltArticle Name"external-design"
href"http//.../SupplyBOM.ppt"/gt - ltArticle Name"intent-of-use"gtUse for
Logistics Supply Simulations. - lt/Articlegt
- lt/MetaDatagt
- ltsrmlItemClass Name"Supplier"
srmlSource"SupplyBOM.xml"/gt - ltsrmlItemClass Name"Logistics"
SuperClasses"Supplier"gt - ltLogisticsgt
- ltDatabase Name"db" srmlLocationFixed"True"
srmlSource"progid//SRDB.Database"gt - ltTable Name"Supplies" Columns"Entity_Kind Text,
OnHand Long, Reorder_Point Long, Reorder_Quantity
Long, Lead_Time Text" NextAutoNumber"1"gt - ltRow Entity_Kind"Ammo" OnHand"1000"
Reorder_Point"10" Reorder_Quantity"1000"
Lead_Time"normal 10 1"/gt - ltRow Entity_Kind"Fuel" OnHand"2000"
Reorder_Point"30" Reorder_Quantity"2000"
Lead_Time"normal 20 2"/gt - lt/Tablegt
- ltIndex Name"PrimaryKey" Unique"1"
Table"Supplies" Columns"Entity_Kind"/gt - lt/Databasegt
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- ltbomDefinition
- Name"Logistics" xmlnsbom"urnbom"
xmlnssrml"urnx-schemasrml.xdr" - xmlnssupply"urnhla_supply"
Type"Trigger-Interaction" Assembly"DesignTime" - Category"Encapsulated" GeneralizationLevel"Abs
tract"gt - ltMetaDatagt
- ltArticle Name"external-design"
href"http//.../SupplyBOM.ppt"/gt - ltArticle Name"intent-of-use"gtUse for
Logistics Supply Simulations. - lt/Articlegt
- lt/MetaDatagt
- BOM definition Mark-up (lines 1-9)
- Relational database structure (lines 13-19)
- Select Query(line 23)
19Building the Logistics BOM
- ltbomDefinition
- Name"Logistics" xmlnsbom"urnbom"
xmlnssrml"urnx-schemasrml.xdr" - xmlnssupply"urnhla_supply"
Type"Trigger-Interaction" Assembly"DesignTime" - Category"Encapsulated" GeneralizationLevel"Abs
tract"gt - ltMetaDatagt
- ltArticle Name"external-design"
href"http//.../SupplyBOM.ppt"/gt - ltArticle Name"intent-of-use"gtUse for
Logistics Supply Simulations. - lt/Articlegt
- lt/MetaDatagt
- ltsrmlItemClass Name"Supplier"
srmlSource"SupplyBOM.xml"/gt - ltsrmlItemClass Name"Logistics"
SuperClasses"Supplier"gt - ltLogisticsgt
- ltDatabase Name"db" srmlLocationFixed"True"
srmlSource"progid//SRDB.Database"gt - ltTable Name"Supplies" Columns"Entity_Kind Text,
OnHand Long, Reorder_Point Long, Reorder_Quantity
Long, Lead_Time Text" NextAutoNumber"1"gt - ltRow Entity_Kind"Ammo" OnHand"1000"
Reorder_Point"10" Reorder_Quantity"1000"
Lead_Time"normal 10 1"/gt - ltRow Entity_Kind"Fuel" OnHand"2000"
Reorder_Point"30" Reorder_Quantity"2000"
Lead_Time"normal 20 2"/gt - lt/Tablegt
- ltIndex Name"PrimaryKey" Unique"1"
Table"Supplies" Columns"Entity_Kind"/gt - lt/Databasegt
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- ltDatabase Name"db" srmlLocationFixed"True"
srmlSource"progid//SRDB.Database"gt - ltTable Name"Supplies" Columns"Entity_Kind Text,
OnHand Long, Reorder_Point Long, Reorder_Quantity
Long, Lead_Time Text" NextAutoNumber"1"gt - ltRow Entity_Kind"Ammo" OnHand"1000"
Reorder_Point"10" Reorder_Quantity"1000"
Lead_Time"normal 10 1"/gt - ltRow Entity_Kind"Fuel" OnHand"2000"
Reorder_Point"30" Reorder_Quantity"2000"
Lead_Time"normal 20 2"/gt - lt/Tablegt
- ltIndex Name"PrimaryKey" Unique"1"
Table"Supplies" Columns"Entity_Kind"/gt - lt/Databasegt
- BOM definition Mark-up (lines 1-9)
- Relational database structure (lines 13-19)
- Select Query(line 23)
20Building the Logistics BOM
- ltbomDefinition
- Name"Logistics" xmlnsbom"urnbom"
xmlnssrml"urnx-schemasrml.xdr" - xmlnssupply"urnhla_supply"
Type"Trigger-Interaction" Assembly"DesignTime" - Category"Encapsulated" GeneralizationLevel"Abs
tract"gt - ltMetaDatagt
- ltArticle Name"external-design"
href"http//.../SupplyBOM.ppt"/gt - ltArticle Name"intent-of-use"gtUse for
Logistics Supply Simulations. - lt/Articlegt
- lt/MetaDatagt
- ltsrmlItemClass Name"Supplier"
srmlSource"SupplyBOM.xml"/gt - ltsrmlItemClass Name"Logistics"
SuperClasses"Supplier"gt - ltLogisticsgt
- ltDatabase Name"db" srmlLocationFixed"True"
srmlSource"progid//SRDB.Database"gt - ltTable Name"Supplies" Columns"Entity_Kind Text,
OnHand Long, Reorder_Point Long, Reorder_Quantity
Long, Lead_Time Text" NextAutoNumber"1"gt - ltRow Entity_Kind"Ammo" OnHand"1000"
Reorder_Point"10" Reorder_Quantity"1000"
Lead_Time"normal 10 1"/gt - ltRow Entity_Kind"Fuel" OnHand"2000"
Reorder_Point"30" Reorder_Quantity"2000"
Lead_Time"normal 20 2"/gt - lt/Tablegt
- ltIndex Name"PrimaryKey" Unique"1"
Table"Supplies" Columns"Entity_Kind"/gt - lt/Databasegt
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- BOM definition Mark-up (lines 1-9)
- Relational database structure (lines 13-19)
- Select Query(line 23)
- function GetSuppliesRecordset (Entity_Kind)
- return db.OpenRecordset ("select from Supplies
where Entity_Kind'" Entity_Kind "'")
21Composing a Mega-BOM
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- ltbomMegaBOM
- xmlns""
- xmlnsbom"urnbom"
- xmlnssrml"urnx-schemasrml.xdr"
- xmlnssupply"urnhla_supply"gt
- ltbomMetaDatagt
- ltbomArticle Name"external-design"
- href"http//.../SupplyMegaBOM.ppt"/gt
- ltbomArticle Name"intent-of-use"gt
- This the Supply Mega-BOM.
- lt/bomArticlegt
- lt/bomMetaDatagt
- ltbomDefinition srmlSource"SupplyBOM.xml"/gt
- ltbomDefinition srmlSource"LogisticsBOM.xml"/gt
- ltsrmlItemClass Name"Fuel" SuperClasses"Consumer
"/gt - ltsrmlItemClass Name"Ammo" SuperClasses"Consumer
"/gt - ltsrmlItemClass Name"LandTroop"gt
- ltLandTroopgtltFuel/gtltAmmo/gtlt/LandTroopgt
- lt/srmlItemClassgt
- Supply Mega-BOM
- Header (lines 1-12)
- Combines BOMs
- Supply BOM (line 13)
- Logistics BOM (line 14)
- Actors required
- Fuel (line 15)
- Ammunition (line 16)
- Land Troops (lines 17-19)
- Represents Federation
22Test and Run Our Prototype
- Define Our Federation Objectives
- Perform Our Conceptual Analysis
- Identify The Type Of BOMs Needed To Fulfill Our
Objectives - Develop These BOMs And Assemble Them Into A
Mega-BOM - Test And Run Our Prototype
- Used the Microsoft Internet Explorer (IE) browser
for presentation - Used the SR Simulator for executing our Mega-BOM
- Once we got it to work without an RTI, we began
to incorporate an SRML HLA plug-in component
23Demo
24Case Study Achievements
- To create a functioning prototype that mixed
various types of markup to support the necessary
assembly and meta-data needed for an encapsulated
BOM. - We successfully mixed BOM markup, behavioral
markup, relational markup, and HLA markup. - Use of markup languages in both linked and
embedded varieties revealed ways in which
applications would compose and decompose models
for both human and computer consumption. - Reflecting on our XML meta-data constructs, we
anticipate enhancements which use or translate
easily into HTML "META" tags, for easier use on
the Web.
Standardization development could help bridge the
model layer and the communication layer
25Case Study Achievements
- To demonstrate the ability for BOMs to facilitate
interoperability, reusability and composability
through the creation of a Mega-BOM. - Introduced HLA markup
- allowed us to demonstrate the ability to
interoperate using the accepted interoperability
standard, and address adaptability issues. - Used SRML markup
- able to demonstrate reuse through inheritance by
constructing and utilizing the Logistics BOM,
which was inherited from the Supply BOM.
26Case Study Achievements
- To gain insights into the methods of model
composition through the construction of this
Mega-BOM. - Despite connotation, Mega-BOM can actually be
physically small - key is to use XML linking constructs.
- An Object-Oriented approach allows opportunities
for different types of markup - configuration management markup
- verification and validation markup
27Case Study Achievements
- To determine the ability to provide backward
compatibility with the HLA by transforming a
Mega-BOM back into a FOM. - Manually extracted pieces from the RPR FOM for
our composition, - This theoretically makes it relatively simple to
regenerate a portion of the RPR FOM from the BOM.
- But since a FOM includes details pertaining to
the transmission of bytes across the network
layer (for the RTI), - mixing this communication markup with behavioral
markup is an issue - Best way to do it to use an XML editor that
allows communication elements to be collapsed
while working on other elements. - Identified Need - ways to automate decomposition
of a FOM - take elements of an existing FOM,
- use them as templates to build BOMs.
- Drawback - FOM contains less meta-data than a
Mega-BOM due to OMT - Meta-data loss including intent-of-use
28Summary
- BOMs will help bring about a flexible
component-based standard that addresses the
operational and technical needs of the SISO
community. - Provide an enabling technology for supporting
other domains and markets such as the
educational, medical, manufacturing, and
entertainment communities. - Still Much Work To Be Done
- BOM Standard to be defined
- Schema
- Fidelity Issues
- Intellectual Property Issues
- Projects should apply BOMs and Mega-BOMs.
- More Case Study Feedback needed (to validate and
improve) - Components will be needed
- Facilitates evolution of Tools and supporting
Repositories - Potential application to various domains still
unknown
29Findings and Recommendations
- Findings
- SRML was an effective means for representing
behavior which could be carried by a BOM. - SR Simulator provided an effective mechanism for
prototype testing of our Mega-BOM representing
our composition of these BOMs.
- Recommendations
- Continue the activities of the BOM PDG and the
SRML SG. - Encourage potential programs and projects that
could benefit from composability to leverage
the BOM concept and to provide feedback to the
community.