Title: P1258895710VhUMR
1OneSAF Ownship Framework Technical Exchange
2Overview
- Definitions, Ownship Management vs. Ownership
Management - Ownship Framework Features
- High-Level Design Overview
- Schedule
- Goals
- Describe OneSAF approach to ownship management
- Describe ways to use the ownship framework and
extend its capability
3Use Case Ownship Management
- Human in the Loop (HITL) control of one or more
OneSAF models
views
OOS Simcore
User
Simulated Entity
controls (e.g., joystick)
a Model
4Use Case Ownership Management
- OneSAF and an External Simulator pass ownership
(i.e., simulation responsibility) of an actor
back and forth between them. - Could be triggered by area of interest, user zoom
level, or user control
OOS Simcore
OOS Interop Gateway
External Simulator
Simulated Actor
Simulated Actor
5Comparison Chart
Ownship Management Ownership Management
OneSAF is responsible for simulating entity at all times Responsibility for simulating an actor passes back and forth between OneSAF and external simulator
One or more agents or models have been replaced or modified to support HITL control Simulation of actor entirely handled by either OneSAF or an external simulator
Entity / Model Focus Supports Units and Entities
Human in the Loop (HITL) Focus May support HITL (i.e., virtual simulators), but may also apply to external constructive simulation
Examples CGA, ECATT-STO Examples ACTF and CBS Interoperability
6Ownship Framework Features
- Infrastructure
- UI to establish connections selects entities
from PVD or actor tree - Brokering mechanism to match control devices to
ownship models - Save connections in scenario files re-establish
connections on scenario load - Distributed execution
- Joystick support (DIS not required)
- Viewer support (IG, Dashboard, etc.)
- Design does not limit to the number of
controllers or controlled models within an
exercise - Supports extension add new types of
- ownship models
- views
- controller devices and/or logic
7High-level Design
8Ownship Framework an MVC Pattern
Model
- Ownship Component
- Simulated Entity
- Simulated Environment
state change request
state query
Ownship Connection
change notification
View
Controller
view selection
- Image Generator
- Dashboard
- View Adapter
- Ownship Manager
- Joystick Adapter
- Controller Manager
9GUI Establishing Ownship Connections
10Modelling Dilemma
- The common desire is to enable Ownship Capability
across large sets of entity compositions in
OneSAF - Currently OneSAF developers have two options to
realize this goal - Approach 1
- Develop new component compositions containing the
new ownship-enabled models and agents - Create new entity compositions with the new
component compositions - Drawbacks
- Extra effort in creating what are essentially
duplicate entity compositions - The number of supported entity compositions
explodes - User has to deal with entity composition
explosion - Approach 2
- Modify core agent and model code
- Drawbacks
- High-risk to base program creates external
integration problems - Ongoing maintenance issues
- VV Issues
11Approach 3
- Create or extend new ownship models and agents
- Package new models and agents in new component
compositions - Use OneSAF Modeling Infrastructure to change an
actors composition after it is decoded from the
PAIR - Supports changes before and after STARTEX
- Changes may be saved in a scenario file, and work
across checkpoint and restore operations - Changes are made on a per actor-instance basis
(i.e., not on a per actor composition basis) - Utilizes a new feature, Dynamic Agents, under
development by the AI OneSAF Team
12Extending the Framework Add new ownship model
- Example Goal
- Enable HITL control on a new agent or model in a
simulated entity (e.g., control an active sensor) - Procedure
- Create new model and agent classes
- Create new component composition with model and
agent classes - Create a new builder class that will
activate/deactivate the ownship model on the
entity - Optional Create a new type of ownship connection
that the new ownship component understands - Register the builder class with the Ownship
Manager at runtime
13Extending the Framework Add new ownship model
Ownship Manager
registers builder
uses
Entity
activates/deactivates
Entity Connection Builder
OneSAF System Component
monitors
contains
checks applicability
Dynamic Agent Capability
knows about
contains
Ownship Component (Agent/Model)
substitutes
New ownship extension
OneSAF Framework
14Extending the Framework Add new controller
- Example Goals
- Add support for a new controller device (e.g., a
steering wheel) - Change the controller logic of an existing device
- Procedure
- Review ownship connection type
- Create controller device adapter
- Create new builder class that will create a new
controller adapter - Register the builder class with the Controller
Manager at runtime
15Extending the Framework Add new controller
Controller Manager
Ownship Component (Agent/Model)
registers builder
uses
stimulates
Device Controller Builder
OneSAF System Component
Controller Adapter
contains
creates
checks applicability
monitors
Controller Device
Joystick
represents
New ownship extension
Assumes JInput Compatibility
OneSAF Framework
16Extending the Framework Add new view
- Example Goals
- Add support for a new Image Generator
- Add a new Dashboard
- Procedure
- Create new view adapter
- Create new view representation in ODB
- Create new ownship connection type for new view
- Create new builder that launches adapter and
determines applicability to entity and viewer type
17Extending the Framework Add new view
Ownship Manager
registers builder
uses
creates
Ownship Connection
View Builder
OneSAF System Component
builds
creates/ activates
refers
Ownship View (representation)
creates
View Adapter
checks applicability
refers
stimulates
monitors
Entity
Viewer Application
New ownship extension
OneSAF Framework
18Schedule
- ACRT Software work onownship framework
completes Aug, 2007 - The schedule is still a work in progress.
19Questions?
20Dynamic Agents
- New feature currently under development by the
AI OneSAF Team - OneSAF Modeling Infrastructure will allow clients
to change an actors composition after it is
decoded from the PAIR - Supports changes before and after STARTEX
- Changes may be saved in a scenario file, and work
across checkpoint and restore operations - Changes are made on a per actor-instance basis
(i.e., not on a per actor composition basis) - Feature will be applicable to projects outside of
the ownship framework