Title: Real-Time Platform Reference (RPR) Base Object Model (BOM) Composability Standard for Enabling Interoperability
1Real-Time Platform Reference (RPR)Base Object
Model (BOM)Composability Standard for Enabling
Interoperability
Conceptual
Federate
Federation
- Tram Chase
- tchase_at_simventions.com
2Key Concept - Using Base Object Models (BOMs) as
Building Blocks
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 model
composability.
3RPR BOM Initiative
- RPR BOMS
- Behavior Representations
- Weapon Effects
- Repair
- Resupply
- Collision
- Transfer Control
- Simulation Management
- Radio Communications
- Entity/Object Management
- Minefield
- Synthetic Environment
- Object Representations
- Entity Object Types
- Env Object Types
- Minefield Object Types
- Signal Object Types
- To provide a set of applicable BOMs to community
- Leverage RPR FOM 2.0 ( GRIM)
- Decompose into BOMs
- Add Additional Metadata (including States from
1278) - Encourage participation/input from
- RPR FOM PDG
- Other community members
- Identify and report on benefits (i.e., ility
support) - Composability
- Extensibility
- Exchangeability
- Manageability
- Understandability
- Framework for supporting RPR V3 objective?
- RPR BOM Assembly
- Release Dates
- April 05RPR BOM Set 1.0 released based on v0.10
draft spec - Sept 05
- RPR BOM Set 1.0 released based on V0.12 draft
spec - July 06RPR BOM Set Version 1.0 (FINAL) released
- Related Papers
- 05S-SIW-088 RPR-BOM Initiative Providing a
Set of Applicable BOMs to the MS Community - 06S-SIW-115From FOMs to BOMs and Back Again
4Hierarchical View of the RPR BOMs
RPR FOM 2.0
Behavior Rep
- Behavior Representations
- Weapon Effects
- Repair
- Resupply
- Collision
- Transfer Control
- Simulation Management
- Radio Communications
- Entity/Object Management
- Minefield
- Synthetic Environment
Includes Model Mapping
Object Rep
- Object Representations
- Entity Object Types
- Env Object Types
- Minefield Object Types
- Signal Object Types
5RPR BOM Illustration 1
Weapons Effect
Derived from RPR FOM
Federation Activities
Federate Capability
6RPR BOM Illustration 2
Logistics Activities
REPAIR
RESUPPLY
- ResupplyCancel Interaction Class
- ResupplyOffer Interaction Class
- ResupplyReceived Interaction Class
- ServiceRequest Interaction Class
- RepairComplete Interaction Class
- RepairResponse Interaction Class
- ServiceRequest Interaction Class
Could be the same
Could be the same
- Conceptual Entities
- Requester / Consumer
- Repairer
- Supplier
The use of the logistics interaction classes
involves a detailed understanding of the state
transitions and timing between events. - RPR
FOM GRIM
7The BOM Elements? An Inside Look
Essential metadata needed so thatthe BOM can
be described, discovered and properly reused
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.
Conceptual entitiesand the events whichoccur
among thoseentities as well as thestates
attainable bythose entities.
Not all these pieces are required for a BOM
Mapping of conceptual entities and events to
object model object and interaction classes.
Object classes,interaction classes,and
datatypes used to perform the behavior
describedin the conceptualmodel.
Notes and definitionssupporting any of theabove
mentionedelements
BOM template allows BOMs to be captured in a
reusable way
8Comparing FOMs to BOMs
Model Identification (Metadata)
Model Identification (Metadata)
HLA Object Classes
HLA Object Classes
HLA Object Class Attributes
HLA Interaction Classes
HLA Interaction Classes
HLA Interaction Class Parameters
BOM
FOM
HLA Dimensions
HLA Time
Object Model Definition
HLA Tags
HLA Object Classes
HLA Object Classes
HLA Synchronizations
HLA Object Class Attributes
HLA Transportations
HLA Interaction Classes
HLA Interaction Classes
HLA Switches
HLA Interaction Class Parameters
HLA Data Types
HLA Data Types
Notes
Notes
Lexicon (definitions)
Lexicon (definitions)
9You Can Use BOMs in Multiple Ways!
Conceptual (Behavioral)
Mappings
Object (Class Structures)
10This is what we did with the RPR BOMs
Model Identification (Metadata)
Model Identification (Metadata)
Behavior (Conceptual)BOM
Object (Class Structure) BOM
Object Model Definition
Object Model Definition
Object Model Definition
HLA Data Types
HLA Data Types
Notes
Notes
Lexicon (definitions)
Lexicon (definitions)
11This is what we did with the RPR BOMs
- Behavior Representations
- Weapon Effects
- Repair
- Resupply
- Collision
- Transfer Control
- Simulation Management
- Radio Communications
- Entity/Object Management
- Minefield
- Synthetic Environment
- Object Representations
- Entity Object Types
- Env Object Types
- Minefield Object Types
- Signal Object Types
We found the easy thing to do was pull out the
HLA object classes into object groupings.
We also found a logical connection between the
patterns of interplay being represented by the
RPR FOM (going back to DIS PDU families) and the
HLA Interaction classes that were defined. So
we decided to keep the interaction classes with
the conceptual model
Remember this is just one way!!!
12We could have done it this way
Behavioral (Conceptual) BOMs
We could have put the Mappings in the
Object-based BOMs. But we felt that the mappings
were better served tethered to the Behavior
(Conceptual) BOMs This example also shows that
both the interaction classes and object classes
could have been isolated from the Behavioral
(Conceptual) BOMs
Object (Class Structure) BOMs
13Or this way
Mappings
Behavioral (Conceptual)
Object (Class Structures)
We could have also made independent mappings
thus making them their own BOMs.There is no
real wrong way to break a FOM up into BOMs.
14BOM Assemblies
A composition of BOMs that can result in a
Federation Object Model (FOM), Simulation Object
Model (SOM), or pattern which encompasses a
larger scope.
15Exporting a FOM
BOM Assembly
XSLT/ Method of choice
16Object Representations
- Object Representations
- Entity Object Types
- Signal Object Types
- Env Object Types
- Minefield Object Types
EntityObjects
Again, this is what we did with the RPR BOMs.
These are the HLA Object Classes from the
original RPR FOM categorized into four sets.
SignalObjects
EnvironmentObjects
MinefieldObjects
17BOM to FOM Major Steps
BOM Assembly
- Create a BOM Assembly
- Independent BOMs identified in Pattern
Description - Atomize BOM-Assembly
- Model Definition only carries one level of object
classes / interaction classes - Pattern Descriptions link BOMs
- Transform to FOM (HLA)
- Recommend use of XSLT
SOM
BOM Assembly
Xformation
FOM
n
BOMs
Aggregate Model
18Inside a RPR BOM
19BOM Metadata Structure
Model Identification (Metadata)
Name
Type
Version
Modification Date
Security Classification
Release Restriction
Purpose
Application Domain
Description
Use Limitation
Use History
Keyword Taxonomy/Value
POCs Type Name Organization Telephone Email
References
Other
Glyph Type Image Alternate Text Height Image
Multiples Allowed
Model Identification Table
primary purpose of this metadata is to allow
thediscovery and understanding of models
components.
20Example Model Identification
- This is the metadata
- Leveraged elements from HLA OMT, Dublin Core,
DDMS, VVA RPG - Helps make components/piece-parts meaningful!
Category Information
Name WeaponsEffect
Type BOM
Version 1.0
Modification Date 2005-9-19
Security Classification Unclassified
Release Restriction Not for release outside the I/ITSEC community
Purpose Warfighter Training, Testing
Application Domain Realtime Platform Testing/Training Simulation
Description This is an example BOM
Use Limitations None
Use History Initial release
Keyword
Taxonomy Military Warfare
Keyword Value Engagement
POC
POC Type Primary author
POC Name P. Gustavson
POC Organization SimVentions
POC Telephone 540 372-7727
Reference
Ref Type Glossary
Identification ISBN 12345678901
Reference
Ref Type Conceptual Model
Identification http//boms.info/
Other na
Glyph
Image
Alt WeaponEffectPicture1
Height 32
Width 32
21Example Pattern Description
- Composed of a collection of actions
- Describe the activities which transpire among the
conceptual entities being modeled - Each action supported by events or other BOMs
- Includes support for variations and exceptions
Actions Seq Name Event BOM Sender Receiver
Actions 1 WeaponFireAction WeaponFire na FiringEntity TargetEntity
Actions 2 MunitionDetonationAction MunitionDetonation na FiringEntity TargetEntity
Actions 3 DamageStateUpdateAction DamageStateUpdate na TargetEntity FiringEntity
22Example State Machine
Name TargetStates
ObjectEntityClass TargetEntity
State
Name Ready
ExitAction WeaponFireAction
NextState UnderFire
Notes
State
Name UnderFire
ExitAction MunitionDetonationAction
NextState MunitionFlight
Notes
State
Name ImpactDenotation
ExitAction DamageStateUpdateAction
NextState Ready
Notes
Name ShooterStates
Conceptual Entities FiringEntity
State
Name Ready
ExitAction CommandToFire
NextState Fire
Notes
State
Name Fire
ExitAction WeaponFireAction
NextState MunitionFlight
Notes
State
Name MunitionFlight
ExitAction MunitionDetonationAction
NextState Ready
Notes
The use of interaction classes involves a
detailed understanding of the state transitions
and timing between events. - RPR FOM GRIM
23Example - Entities
NOTE FiringEntity and TargetEntity could be
supported by the same EntityType
24Example - Events
There are three types of characteristics that
support an event source, target and content.
Source and Target specify the direction of
events. Content defines the information exchanged
in the course of the event. There is also a
trigger condition which indicates the condition
under which this event could be invoked. If the
BOM developer specifies a target characteristic,
the event type could be said to be a Message
and if there is no target but a trigger
condition, it is a Trigger.
25Model Mapping / Object Model Def
Model Identification (Metadata)
maps the relationship between the elements in the
Conceptual Model space and the interface
description elements described in the HLA Object
Model Space
WeaponsEffect
Entity Types
Event Types
What things in my Training Environment will
support Weapons Effect?
Platforms
WeaponFire
required simulated capabilities defined in the
context of an interface description (object
classes / interaction classes). represents the
information necessary for execution and exchange.
Lifeforms
Detonations
Munitions
Collisions
Sensors
Radio Signal
EnviroObjects
Repair
Resupply
Radios
Ack
MinefieldObjects
EnviroObjectTransactions
26Model Mappings
Entity Type Mapping Table Entity Type Mapping Table Entity Type Mapping Table Entity Type Mapping Table Entity Type Mapping Table
Entity Type HLA Object/Interaction Class Characteristics HLA Attributes/Parameters Condtn
FiringEntity HLAobjectClassRoot.BaseEntity.PhysicalEntity.Lifeform.Human ID Human.EntityIdentifier NA
FiringEntity HLAobjectClassRoot.BaseEntity.PhysicalEntity.Lifeform.Human Location Human.Spatial.SpatialFP.WorldLocation NA
TargetEntity HLAobjectClassRoot.BaseEntity.PhysicalEntity.Platform ID Platform.EntityIdentifier NA
TargetEntity HLAobjectClassRoot.BaseEntity.PhysicalEntity.Platform Location Platform.Spatial.SpatialFP.WorldLocation NA
TargetEntity HLAobjectClassRoot.BaseEntity.PhysicalEntity.Platform Velocity Platform.Spatial.SpatialFP.VelocityVector NA
Event Type Mapping Table Event Type Mapping Table Event Type Mapping Table Event Type Mapping Table Event Type Mapping Table
Event Type HLA Object/Interaction Class Characteristics HLA Attributes/Parameters Condition
WeaponFire HLAinteractionRoot.WeaponFire FiringEntity_Identifier .FiringObjectIdentifier NA
WeaponFire HLAinteractionRoot.WeaponFire TargetEntity_Identifier .TargetObjectIdentifier NA
WeaponFire HLAinteractionRoot.WeaponFire MunitionEntity_Identifier .MunitionObjectIdentifier NA
MunitionDetonation HLAinteractionRoot.MunitionDetonation FiringEntity_Identifier MunitionDetonation.FiringObjectIdentifier NA
MunitionDetonation HLAinteractionRoot.MunitionDetonation TargetEntity_Identifier MunitionDetonation.TargetObjectIdentifier NA
DamageStateUpdate HLAobjectClassRoot.BaseEntity.PhysicalEntity Damage sustained from weapon fire PhysicalEntity.DamageState .DamageState ! .previousDamageState
27Object Model Def Attributes Examples
Object Model Def - HLA Object Class Examples
28Object Model Def - HLA Interaction Class Examples
Object Model Def Parameters Examples
29Filling in the BOM Object Model Def Information
Available Choices / Default Values
HLA Object Class / Attribute Values
Attribute Datatype UpdateType UpdateCondition Ownership P/S AvailableDimensions Transportation Order
Available Values User defined User defined Static,Periodic,Conditional,NA rate value,on change,condition value,NA D,A,N,DA,NA P, S,PS,N,NA NA HLAreliable,HLAbesteffort,NA Receive,Timestamp, NA
Default Selection - - NA NA NA NA NA NA NA
HLA Interaction Class / Parameter Values
Interaction Parameter Datatype Available Dimensions Transportation Order
Available Values User defined User defined Static, Periodic, Condition NA NA HLAreliable, HLAbesteffort NA Receive, Timestamp, NA
Default Selection - - NA NA NA NA
30Filling in the Object ClassesA Graphical
Illustration
NA
NA
NA
NA
NA
NA
For BOMs, you are allowed to use the NA value
to tag many of the fields of the Object Class and
Object Class Attributes For an HLA FOM or SOM,
however, you may need to specify these fields
with something other than NA
NA
NA
31Filling in the Interaction ClassA Graphical
Illustration
n/a
n/a
n/a
For BOMs, you are allowed to use the NA value
to tag many of the fields of the Interaction
Class and Object Class Parameters For an HLA FOM
or SOM, however, you may need to specify these
fieds with something other than NA
n/a
32Backup Slides
33Why 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 wholes details
- Testing systems is simplified if done module by
module then at the system level - Controlling MS costs / economic incentives
- Costs are correlated with the amount of new code
writing - Maintaining and modifying MS
- 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)
34BOM Support for MDA Objectives
- Define a model that specifies your system and its
behavior without providing the details of how the
computational infrastructure will support it - The role of abstractions
- Model should describe the system from several
perspectives - Structure, collaboration, activity, sequence,
state - UML with executable extensions
- Model should provide increased portability
through abstraction
- Model should provide sufficient detail
- Completely specify behavior with action
specification - Use of ASL, state charts, sequence charts
- Satisfy mission requirements
- Transform the system model to executable code
with model compiler tools tailored for target
environment - Possibly several build stages compile to lower
level language, then object code, then binary - Rebuild as needed from the system model
- Requirements changes
- Different or updated environments
BOM
BOM
BOM
BOM