Using XML (and BOMs) to Rapidly Compose Simulations and
Download
Report
Transcript Using XML (and BOMs) to Rapidly Compose Simulations and
1
Real-Time Platform Reference (RPR)
Base Object Model (BOM)
Composability Standard for Enabling Interoperability
Conceptual
A
Federate
B
X
C
Federation
Tram Chase
[email protected]
2
Key Concept - Using Base Object Models (BOMs) as Building Blocks
Definition
BOM Palette
Standards
- x
Simulation
Components
Choose what fits
conceptual model?
User
Requirements
A
B
X
Simulation
Systems
• foms
• federates
Illustration
Sim /
System A
BOM 1
Federate B
- or BOM 3
BOM
Assembly
Representation
Composition
Composite
Interface
Federation
(FOM)
Federate A
BOM 2
Federate X
- or -
BOM n
Pattern of Interplay
State Machines
Federate
(SOM)
C
Events
BOMs are designed for enabling model composability.
Model
#1
Model
#2
Model
#3
Model
#n
Aggregation
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.
Concept
RPR BOM Initiative
RPR BOMS
•
•
To provide a set of applicable BOMs to community
Leverage RPR FOM 2.0 (& GRIM)
–
–
•
Encourage participation/input from
–
–
•
RPR FOM PDG
Other community members
Identify and report on benefits (i.e., “ility” support)
–
–
–
–
–
•
Decompose into BOMs
Add Additional Metadata (including States from 1278)
Composability
Extensibility
Exchangeability
Manageability
Understandability
Framework for supporting RPR V3 objective?
–
RPR BOM Assembly
Release Dates
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
• April 05
RPR 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 06
RPR BOM Set Version 1.0 (FINAL) released
Related Papers
• 05S-SIW-088
“RPR-BOM Initiative: Providing a Set of Applicable
BOMs to the M&S Community”
• 06S-SIW-115
“From FOMs to BOMs and Back Again”
Pattern of Interplay
Events
State Machines
3
Hierarchical View of the RPR BOMs…
RPR FOM 2.0
Behavior Rep
Weapons Effect
Logistics
Behavior Representations
•
Weapon Effects
•
Repair
•
Resupply
•
Collision
•
Transfer Control
•
Simulation Management
•
Radio Communications
•
Entity/Object Management
•
Minefield
•
Synthetic Environment
Repair
Resupply
Collision
Includes Model Mapping
Entity/Object Management
SIMAN
Entity Creation
Transfer Control
Entity Reconst’n
RadioComms
Entity Removal
Minefield
Action Request
Synthetic Env
Post Comment
Post Event
Object Rep
Object Representations
•
Entity Object Types
•
Env Object Types
•
Minefield Object Types
•
Signal Object Types
EntityObjects
EnvObjects
MinefieldObjects
SignalObjects
4
RPR BOM Illustration #1
Weapons Effect
states
pattern actions
Derived
from RPR
FOM
Pattern of Interplay
State Machines
Federation Activities
Federate Capability
5
6
RPR BOM Illustration #2
Logistics Activities
REPAIR
Ready
RESUPPLY
Ready
Ready
1
Request/Receive
Offering
Repair
Complete
2
Ready
1
3
Requesting
Offering
2
Ready
• RepairComplete Interaction Class
• RepairResponse Interaction Class
• ServiceRequest Interaction Class
Could be the same
Ready
Receiving
3
• ResupplyCancel
Ready Interaction Class Ready
• ResupplyOffer Interaction Class
• ResupplyReceived Interaction Class
• ServiceRequest
Could beInteraction
the same Class
“The use of [the logistics] interaction classes involves a
detailed understanding of the state transitions and timing
between events.” - RPR FOM GRIM
Conceptual Entities
• Requester / Consumer
• Repairer
• Supplier
The BOM Elements?
7
An Inside Look
An XML based
standard
for capturing
Model Identification (Metadata)
Conceptual Model
Pattern Of Interplay
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,
State Machine
Entity Type
Event Type
Model Mapping
Entity Type Mapping
Event Type Mapping
Object Model Definition
HLA Object Classes
HLA Object Classes
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.
HLA Object Class Attributes
HLA Interaction Classes
HLA Interaction Classes
and the mapping
that exists
between that
conceptual
model and object
model.
Essential metadata
needed so that
the BOM can
be described,
discovered
and properly reused
HLA Interaction Class Parameters
HLA Data Types
Notes
Lexicon (definitions)
BOM template allows BOMs to be captured in a reusable way
Object classes,
interaction classes,
and datatypes used
to perform the
behavior described
in the conceptual
model.
Notes and definitions
supporting any of the
above mentioned
elements
Not all
these
pieces
are
required
for a
BOM…
8
Comparing FOMs to BOMs
Model Identification (Metadata)
Model Identification (Metadata)
HLA Object Classes
Conceptual Model
HLA Object Classes
Pattern Of Interplay
HLA Object Class Attributes
State Machine
Entity Type
HLA Interaction Classes
Event Type
HLA Interaction Classes
HLA Interaction Class Parameters
FOM
Model Mapping
Entity Type Mapping
HLA Dimensions
HLA Time
HLA Tags
Event Type Mapping
Object Model Definition
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
Lexicon (definitions)
Notes
Lexicon (definitions)
BOM
You Can Use BOMs in Multiple Ways!
Model Identification (Metadata)
Conceptual Model Definition
Pattern of Interplay
State Machine
Entity Type
Event Type
Model Identification (Metadata)
Lexicon (definitions)
Notes)
Model Mapping
Lexicon (definitions)
Entity Type Mapping
Event Type Mapping
Conceptual (Behavioral)
Model Identification (Metadata)
Object Model Definition
Notes
HLA Object Classes
Lexicon (definitions)
Mappings
HLA Object Classes
HLA Object Class Attributes
HLA Interaction Classes
HLA Interaction Classes
HLA Interaction Class Parameters
HLA Data Types
Notes
Lexicon (definitions)
Object (Class Structures)
9
This is what we did with the RPR BOMs…
Model Identification
Identification (Metadata)
(Metadata)
Model
Conceptual Model
Object (Class Structure)
BOM
Pattern Of Interplay
Behavior (Conceptual)
BOM
State Machine
Entity Type
Event Type
Object Model Definition
Model Mapping
Entity Type Mapping
Event Type Mapping
Object Model Definition
HLA Object Classes
HLA Object Classes
HLA Object Class Attributes
Object Model Definition
HLA Interaction Classes
HLA Interaction Classes
HLA Interaction Class Parameters
HLA Data Types
Notes
Lexicon (definitions)
10
This is what we did with the RPR BOMs…
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
Behavior Representations
•
Weapon Effects
•
Repair
•
Resupply
•
Collision
•
Transfer Control
•
Simulation Management
•
Radio Communications
•
Entity/Object
Management
•
Minefield
•
Synthetic Environment
Remember this is just one way!!!
11
We could have done it this way…
Model Identification (Metadata)
Model Mapping
Entity Type Mapping
Event Type Mapping
Object Model Definition
Model Identification (Metadata)
Conceptual Model Definition
Pattern of Interplay
HLA Object Classes
HLA Object Classes
HLA Object Class Attributes
State Machine
Entity Type
Event Type
HLA Interaction Classes
HLA Interaction Classes
HLA Interaction Class Parameters
Lexicon (definitions)
Notes)
Lexicon (definitions)
HLA Data Types
Notes
Lexicon (definitions)
Object (Class Structure) BOMs
Behavioral (Conceptual) BOMs
We could have put the Mappings in the Objectbased 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
12
Or this way…
13
Model Identification (Metadata)
Object Model Definition
Model Identification (Metadata)
Model Identification (Metadata)
HLA Object Classes
Model Mapping
Conceptual Model Definition
HLA Object Classes
Entity Type Mapping
Pattern of Interplay
HLA Object Class Attributes
Event Type Mapping
State Machine
HLA Interaction Classes
Entity Type
Notes
HLA Interaction Classes
Event Type
Lexicon (definitions)
HLA Interaction Class Parameters
Lexicon (definitions)
Notes)
HLA Data Types
Mappings
Lexicon (definitions)
Notes
Lexicon (definitions)
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.
14
BOM Assemblies
Repair BOM
WeaponsFire BOM
Model Identification (Metadata)
Model Identification (Metadata)
BOM Assembly
Conceptual Model
Conceptual Model
Pattern Of Interplay
Pattern Of Interplay
Model Identification (Metadata)
State Machine
Conceptual Model
Entity Type
Pattern Of Interplay
Event Type
State Machine
State Machine
Entity Type
Event Type
Entity Type
Model Mapping
Event Type
Entity Type Mapping
Event Type Mapping
Notes
EntityObjects BOM
HLA Interaction Classes
HLA Parameters
Entity Type Mapping
Event Type Mapping
Lexicon (definitions)
Object Model Definition
Object Model Definition
HLA Interaction Classes
Model Mapping
HLA Interaction Classes
HLA Interaction Classes
Model Identification (Metadata)
HLA Parameters
Model Definition
A composition ofObject
BOMs
that can result in aHLA Data Types
HLA Object Classes
Federation ObjectHLAModel
(FOM), Simulation Object
Object Classes
Notes
Notes
Model (SOM), or HLA
pattern
Attributes which encompasses a
Lexicon (definitions)
Lexicon (definitions)
larger scope.
HLA Data Types
HLA Data Types
Notes
Lexicon (definitions)
15
Exporting a FOM
FOM
BOM Assembly
Model Identification (Metadata)
Model Identification (Metadata)
Conceptual Model
HLA Object Classes
Pattern Of Interplay
HLA Object Classes
State Machine
HLA Object Class Attributes
Entity Type
HLA Interaction Classes
HLA Interaction Classes
Event Type
HLA Interaction Class Parameters
Model Mapping
Entity Type Mapping
Event Type Mapping
Object Model Definition
HLA Object Classes
XSLT/
Method of
choice
HLA Dimensions
HLA Time
HLA Tags
HLA Object Classes
HLA Object Class Attributes
HLA Interaction Classes
HLA Interaction Classes
HLA Synchronizations
HLA Transportations
HLA Switches
HLA Interaction Class Parameters
HLA Data Types
HLA Data Types
Notes
Notes
Lexicon (definitions)
Lexicon (definitions)
16
Object Representations
Object Representations
•
Entity Object Types
•
Signal Object Types
•
Env Object Types
•
Minefield Object Types
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.
Minefield
Objects
Entity
Objects
Signal
Objects
Environment
Objects
17
BOM to FOM: Major Steps
BOM Assembly
• Create a BOM Assembly
Pattern
– Independent BOMs identified in
Pattern Description
n
Action
BOM
1
(Another Pattern)
• 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
BOM Assembly
SOM
Xformation
FOM
n
BOMs
Aggregate Model
18
Inside a RPR BOM
Weapons Effects
19
BOM Metadata Structure
Model Identification (Metadata)
Conceptual Model
Pattern Description
Name
Type
State Machine
Entity Type
Event Type
Version
Modification Date
POCs *
Type
Name
Organization
Telephone
Email
Security Classification
References *
Model Mapping
Entity Type Mapping
Release Restriction *
Other
Event Type Mapping
Purpose
Glyph
Type
Image
Alternate Text
Height
Image
Object Model Definition
Object Classes
Application Domain
Description
HLA Object Classes
Use Limitation
HLA Object Class Attributes
Use History *
Interaction Classes
HLA Interaction Classes
HLA Interaction Class Parameters
Keyword
Taxonomy/Value *
* Multiples Allowed
Model Identification Table
HLA Data Types
primary purpose of this metadata is to allow the
discovery and understanding of models & components.
Example – Model Identification
•
•
•
This is the metadata
Leveraged elements from HLA OMT, Dublin Core, DDMS, VV&A RPG
Helps make components/piece-parts meaningful!
Category
Information
Name
WeaponsEffect
Type
BOM
POC Type
Primary author
Version
1.0
POC Name
P. Gustavson
Modification Date
2005-9-19
POC
Organization
SimVentions
POC Telephone
540 372-7727
POC
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
Ref Type
Conceptual Model
Use Limitations
None
Identification
http://boms.info/
Use History
Initial release
Reference
Ref Type
Glossary
Identification
ISBN 12345678901
Reference
Other
na
Glyph
Keyword
Taxonomy
Military Warfare
Keyword
Value
Engagement
Image
Alt
WeaponEffectPicture1
Height
32
Width
32
20
21
Example – Pattern Description
Pattern
*
«entity type»
Sender
• 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
1
BOM
*
1
1
Action
{OR}
*
«entity type»
Receiver
0..1
0..1
«event type»
Event
*
• Includes support for variations and
exceptions
*
Exception
Variation
Actions
Seq
Name
Event
BOM
Sender
Receiver
1
WeaponFireAction
WeaponFire
na
FiringEntity
TargetEntity
2
MunitionDetonationAction
MunitionDetonation
na
FiringEntity
TargetEntity
3
DamageStateUpdateAction
DamageStateUpdate
na
TargetEntity
FiringEntity
21
Example – State Machine
22
«entity type»
Conceptual Entity
State Machine
1
Name
ShooterStates
Name
TargetStates
Conceptual Entities
FiringEntity
ObjectEntityClass
TargetEntity
State
*
States
State
Name
Ready
Name
Ready
1
ExitAction
ExitAction
CommandToFire
WeaponFireAction
*
NextState
Fire
NextState
UnderFire
Notes
NextState
State
Name
Fire
Name
UnderFire
ExitAction
WeaponFireAction
ExitAction
MunitionDetonationAction
NextState
MunitionFlight
NextState
MunitionFlight
Notes
Notes
State
State
Name
MunitionFlight
Name
ImpactDenotation
ExitAction
MunitionDetonationAction
ExitAction
DamageStateUpdateAction
NextState
Ready
NextState
Ready
Notes
ExitAction
Exit Condition
Notes
State
*
1
Notes
“The use of interaction classes involves a detailed
understanding of the state transitions and timing
between events.” - RPR FOM GRIM
22
Example - Entities
Entity Type
1
*
Entity Characteristics
Entity Type
Name
Description
FiringEntity
Thing that fires a weapon at a
target
TargetEntity
Thing that is the intended target
of a weapon fire
Characteristics
Description
ID
Unique id for entity
Location
Physical position of the
entity
ID
Unique id for entity
Location
Physical position of the
entity
Velocity
Velocity for the entity
NOTE: FiringEntity and TargetEntity could be supported by the same EntityType
23
24
Example - 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”.
Name
Source Characteristic
Target Characteristic
WeaponFire
FiringEntity_identifer
TargetEntity_identifer
MunitionDetonation
FiringEntity_identifer
TargetEntity_identifer
DamageStateUpdate
TargetEntity_identifer
Content
Characteristic
Trigger Condition
Munition_identifer
Damaged = TRUE
25
Model 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
Conceptual Model
Pattern Description
State Machine
Entity Type
Event Type
Model Mapping
Entity Type Mapping
required simulated
capabilities defined in
the context of an
interface description
(object classes /
interaction classes).
represents the
information necessary
for execution and
exchange.
What things in my
Training Environment
will support
Weapons Effect?
Event Type Mapping
Platforms
WeaponFire
Object Model Definition
Lifeforms
Detonations
HLA Object Classes
Munitions
Collisions
Sensors
Radio Signal
Enviro
Objects
Repair
Resupply
Radios
Ack
Minefield
Objects
Enviro
Object
Transactions
HLA Object Classes
HLA Object Class Attributes
HLA Interaction Classes
HLA Interaction Classes
HLA Interaction Class Parameters
HLA Data Types
26
Model Mappings
Entity Type Mapping Table
Entity Type
HLA Object/Interaction Class
Characteristics
HLA Attributes/Parameters
Condtn
FiringEntity
HLAobjectClassRoot.BaseEntity.Physi
calEntity.Lifeform.Human
ID
Human.EntityIdentifier
NA
Location
Human.Spatial.SpatialFP.WorldLocation
NA
ID
Platform.EntityIdentifier
NA
Location
Platform.Spatial.SpatialFP.WorldLocation
NA
Velocity
Platform.Spatial.SpatialFP.VelocityVector
NA
TargetEntity
HLAobjectClassRoot.BaseEntity.Physi
calEntity.Platform
Event Type Mapping Table
Event Type
HLA Object/Interaction Class
Characteristics
HLA Attributes/Parameters
Condition
Weapon
Fire
HLAinteractionRoot.
WeaponFire
FiringEntity_Identifier
.FiringObjectIdentifier
NA
TargetEntity_Identifier
.TargetObjectIdentifier
NA
MunitionEntity_Identifier
.MunitionObjectIdentifier
NA
FiringEntity_Identifier
MunitionDetonation.
FiringObjectIdentifier
NA
TargetEntity_Identifier
MunitionDetonation.
TargetObjectIdentifier
NA
Damage sustained from
weapon fire
PhysicalEntity.
DamageState
.DamageState !=
.previousDamageState
Munition
Detonation
Damage
StateUpdate
HLAinteractionRoot.
MunitionDetonation
HLAobjectClassRoot.
BaseEntity.PhysicalEntity
27
Object Model Def - HLA Object Class Examples
HLA Object Classes
Platform
HLAobjectRoot
BaseEntity
PhysicalEntity
Lifeform
Human
Object Model Def – Attributes Examples
HLA Attributes
Object
Attribute
Datatype
Update
Type
Update
Cond.
Owner
ship
P/S
Available
Dimensions
Transportation
Order
HLAobjectRoot
HLApriviled
geToDelete
NA
NA
NA
NA
NA
NA
HLAreliable
Receive
BaseEntity
Spatial
Spatial
Struct
Condit
ional
NA
No
Transf
er
PS
NA
HLAreliable
Receive
PhysicalEntity
Force
Identifier
ForceIdenti
fierEnum8
Condit
ional
OnChan
ge
No
Transf
er
PS
NA
HLAreliable
Receive
Platform
HatchState
HatchState
Enum32
Condit
ional
OnChan
ge
No
Transf
er
PS
NA
HLAreliable
Receive
Lifeform
StanceCode
StanceCod
eEnum32
Condit
ional
OnChan
ge
No
Transf
er
PS
NA
HLAreliable
Receive
28
Object Model Def - HLA Interaction Class Examples
HLA Interaction Classes
HLAinteractionRoot
WeaponFire
MunitionDetonation
Object Model Def –Parameters Examples
HLA Parameters
Interaction
Parameter
Datatype
MunitionDetonation
MunitionObjectIdentifier
NA
MunitionDetonation
RateOfFire
SpatialStruct
MuntionDetonation
MunitionType
ForceIdentifierEnum8
:
WeaponFire
TargetObjectIdentifier
HatchStateEnum32
WeaponFire
WarheadType
StanceCodeEnum32
Filling in the BOM “Object Model Def” Information
29
Available Choices / Default Values
HLA Object Class / Attribute Values
Attribute
Availa
ble
Dimen
sions
Transportatio
n
Order
P,
S,
PS,
N,
NA
NA
HLAreliable,
HLAbesteffort
,
NA
Receive,
Timesta
mp,
NA
NA
NA
NA
NA
Datatype
Update
Type
Update
Condition
Owners
hip
P/S
rate value,
on change,
condition
value,
NA
D,
A,
N,
DA,
NA
NA
NA
Available
Values
User
defined
User
defined
Static,
Periodic,
Conditional,
NA
Default
Selection
-
-
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
30
Filling in the Object Classes
A Graphical Illustration
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
NA
31
Filling in the Interaction Class
A Graphical Illustration
n/a
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
32
Backup Slides
Why is Model Composability Desirable?
•
33
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)
34
BOM Support for MDA Objectives
• Define a model that specifies
your system and its behavior
BOM
without providing the details of
how the computational
infrastructure will support it
– The role of abstractions
• Model should describe the
system from several
BOM perspectives
– Structure, collaboration,
activity, sequence, state
– UML with executable
extensions
• Model should provide
BOM increased portability through
abstraction
• Model should provide sufficient
detail
– Completely specify behavior
with action specification
• Use of ASL, state charts,
sequence charts
BOM
– 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