Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
The Trend Toward Common Architectures
Pete Swan, Director International Sales
The Vision
“These efforts are focused on creating a synthetic environment that will support thousands of entities spread across many sites and provide dynamic terrain, weather, phenomena, simulated command forces, and more complex terrain. The architecture must:
● Scale from a few simulations on a LAN through a large simulation with 100,000 entities from 50 sites.
● Provide a real-time system.● Support Live, Constructive, and Virtual simulations. ● Support environmental phenomena. ● Support changing network technology and network topologies.● Reach small sites (possibly mobile) linked over low bandwidth lines.”
- 11th DIS Workshop 1994 AGENTS: An Architectural Construct to Support Distributed SimulationJames O. Calvin, MIT Lincoln LaboratoryDaniel J. Van Hook, MIT Lincoln Laboratory
Synthetic Training EnvironmentCommon Synthetic Environment
3
What is STE?
US Army’s next-generation vision for a common Synthetic Training Environment for all collective training applications:
● STE is a collective training environment that optimizes human performance within a multi-echelon mixed-reality environment.
● It provides immersive and intuitive capabilities to keep pace with a changing operational environment and enable Army training on joint combined arms operations
● The STE moves the Army away from facility-based training, and instead, allows the Army to train at the point of need — whether at home-station, combat training centers or at deployed locations.
Current State of STE
Currently consists of 3 separate elements● Software: Common Synthetic Environment (CSE) – VT MAK● Hardware: Reconfigurable Virtual Collective Trainers (RVCT) – Cole Engineering Services
● Content: One World Terrain (OWT) – Vricon
MAK was awarded the STE CSE contract on June 14, 2019
The STE CSE will be based on VR-Forces, VR-Engage, VR-Vantage, VR-TheWorld Server, and other MAK products!
Other limited prototype developments are also being funded
User Assessment 1 – November 2019
6
Project/Domain-Specific Content
Project/Domain-Specific Behaviors
Project/Domain-Specific Features
The STE Vision
A Common Synthetic Environment and common One World Terrain underpinning the virtual simulators, IG, SAFs across all Collective Trainers
Project/Domain-Specific Content
Project/Domain-Specific Behaviors
Project/Domain-Specific Features
IGHost
SimulationSAF …
Terrain Terrain Terrain Terrain
Project/Domain-Specific Content
Project/Domain-Specific Behaviors
Project/Domain-Specific Features
RVCT Ground RVCT Air RVCT Soldier
IGHost
SimulationSAF …
Terrain Terrain Terrain Terrain
IGHost
SimulationSAF …
Terrain Terrain Terrain Terrain
OWT OWT OWT
Common Synthetic Environment
Common Synthetic Environment Characteristics
● Virtual simulators, CGF, and IG built on unified engine● Solider, ground, air simulators built on unified engine● Support for whole-earth geo-specific, geo-centric terrain –
and ability to load source data● Modular architecture / open APIs for user extension● Cloud and Point-of-Need deployment● Potential for constructive simulation on same engine● Innovative and agile development process
STE Live
S/SVTSoldier / Squad Virtual Trainer
RVCTReconfigurable
Virtual Collective TrainersMission Command
Information Systems(MCIS)
Interface to Legacy Systems(LVC-IA)
Authoritative Data Sources
(e.g. Army Training Information System)
IVASIntegrated Visual
Augmentation System
OWTOne World Terrain
TSSTraining
Simulation Software
TMTTraining
Management Tool
CSECommon Synthetic Environment
STE Common Synthetic Environment
CSE Architecture
Slide content awaiting release approval.
Hybrid Cloud Model
Mil Data Sources
Training Data TMT - SimGUI
TSS – SimEnginesRenderEnginesPlayerInterface
TSSTSS
RVCTSimEnginesRenderEnginesPlayerInterface
TMT - SimGUI
TSS – SimEngines
CacheCache
Cache CSE Home Station
CSE Cloud OWTSource
OWT - TerrainEngine
TerrainDB
OWT - TerrainEngine
TerrainDB
Cloud Characteristics
Takes advantage of NVIDIA GRID technology
3D graphics rendered on server side, with high-resolution video streamed to client machine
Client does not need to have a high-end graphics card, and can even be a simple virtual desktop infrastructure (VDI)
Supports full HLA federation, using MAK RTI, on virtual subnet on Cloud!
Possible to access EXCON GUI and Role Player/Virtual Simulation from a web-browser with no plug-ins or native applications installed
However, performance and user experience is better with a native application like NICE DCV (relative mouse, etc.)
Mass-market technology continues to advance rapidly, and MAK is continuing to incorporate the latest technologies
Scalability
13
One Million Entities running through MAK’s new Legion scalability framework!
Network Communication Among Sim Engine Instances,
and With Virtual Simulators and Other Clients
Sim Engine needs to efficiently simulate large numbers of entities each frame
Simulation code that computes the state of each entity may require knowledge of state of other entities
Sim Engine needs to communicate state of entities to Virtual Simulators and other applications
For player-controlled entities, the code that computes the state of the entities requires input from Virtual Simulator Interface
Top-level Problem
Entity
Entity
Entity
Entity
Entity
Sim Engine
…
Virtual SimulatorInterface
…
Virtual SimulatorInterface
Virtual SimulatorInterface
VirtualSimulators
Sharing the Load
● Divide responsibility
● Communicate state locally or over network
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Spatial Organization of Entities
● Each Sim Engine simulates entities in a specific geographic region
● Automatic ownership transfer
● Automatic scaling
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Sim EngineInstance
Entity
Entity
Sim EngineInstance
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Entity
Entity
Entity
Sim EngineInstance
Virtual SimulatorInterface
Interest Management
Virtual simulators can only handle small subset of entities in scenario
● Register interest in entities
● Deliver only entities meeting those criteria
● Sim Engine instances also register interest only in entities that they might need to interact with
Thread #1Current Task:
Compute Entity A
Thread #2Current Task:
Compute Entity B
Thread #3Current Task:
Compute Entity C
Thread #4Current Task:
Compute Entity D
Pos Ori Vel Pos Ori Vel
A
P
I
App Code Legion Framework Data Store Library
Data-Oriented Implementation / Object-Oriented API
Now that Sim Engine instances have a well-defined, optimized way of storing the state of objects that it simulates, we need to communicate that data to other applications
We also need a way of populating each application’s Data Store with data about entities received from other applications
A
P
I
Sim Engine Instance
A
P
I
Sim Engine Instance
A
P
I
Client Application
Network
Networking
A
P
I
Sim Engine Instance
Network
Data Store Library
NetworkLibrary
A
P
I
Sim Engine Instance
Data Store Library
Legion Network Library is responsible for communicating data from the in-memory Data Store to the network, and from the network for the in-memory Data Store
Or could use an existing network standard – DIS, HLA, etc.Network
LibraryDIS/HLA DIS/HLALegion Legion
Legion Network Library
Design of MAK’s “Legion” Network Architecture
A
P
I
Sim Engine Instance
Network
Data Store Library
NetworkLibrary
A
P
I
Sim Engine Instance
Data Store Library
NetworkLibrary
Entity Server
A BData Store Library
A B C
• Centralized Entity Server maintains a mirror of each Sim Engine’s Data Store
• Network API abstraction allows various network protocol choices
A B
A B
Network System Design
Entity Server
A
P
I
Sim Engine Instance
Network
Data Store Library
NetworkLibrary
A
P
I
Sim Engine Instance
Data Store Library
NetworkLibrary
Entity Server
A BData Store Library
A B C
• When there are too many Sim Engine instances for one Entity Server to handle, we share the load across multiple Entity Servers
A B
A B
Entity Server
Network System Design
Network
Entity Server
A
P
I
Client
Data Store Library
NetworkLibrary
Data Store Library
A B C
Client expresses interest through Network API
NetworkLibrary
Data Store already coarsely organized spatially – by maintaining separate state arrays per Sim Engine instance (remember –each Sim Engine responsible for region)
Network Library in Entity Server does the fine filtering against interest criteria
Then builds a large message consisting just of data required by the client –using essentially the same data representation as the Data Store (no marshalling)
Network System Design
Network
Entity Server
A
P
I
Client
Data Store Library
NetworkLibrary
Data Store Library
A B C
NetworkLibrary Received by client’s
Network Library, and placed into the Data Store ready for next frame
Client code accesses data about remotely simulated entities through the same abstract Data Store API that it uses to access locally simulated entities
Large message sent directly to network
Network System Design
Review of Key Points
● Multiple Sim Engines running in parallel● Spatial organization of entities among Sim Engines
● Ownership transfer to maintain spatial coherence of entities on each engine
● Interest management to limit how many entities are received by each client
● Separating interface (API) from implementation so that networking specifics can be tailored for use case and network topology● Dynamic link compatibility so upgrades can be plugged into applications
● Networking and Data Store designed together to reduce marshalling/copying● Same compact binary representations of data used throughout the system
● Data-oriented design to optimize Sim Engine and support multi-threading
● Extensibility to allow for custom or extended data models
● Stateful Entity Server reduces load on Sim Engines
● Large message with bulk data vastly faster than per-entity packets
DCS&SDefence Operational Training Capability (Air) Core System and Services
Operational Model
CENTRAL HUB
Non-Runtime System
Runtime System
Exercise Management
Support Services
TYPHOONSynthetic Training Equipment
Exercise Management
Local Client/System
LightningSynthetic Training Equipment
E-3DSynthetic Training Equipment
Future CapabilitiesSynthetic Training Equipment
TYPHOONSynthetic Training Equipment
External Sites
JFST DMOC DMON
Exercise Management
Local Client/System
Exercise Management
Local Client/System
Exercise Management
Local Client/System
Exercise Management
Local Client/System
DOTC(A) Centralized Sim ServicesSynthetic Training Platform
• Flight Model• Weapons• Sensors• Mission Systems
Central Simulation Services
• Instructor Control• Threat Modeling• Pattern of Life• Terrain• Weather• Comms• Visualization
Interface• Open Standards• Non-Proprietary
GEMS – Generic Exercise Management SystemManagement SystemRuntime Services
Player Controls
Role Players
VR-VantageRender Engine
VR-EngagePlayer Interface
Simulation
VR-ForcesSim Engine
AAR
VR-VantageStealth
IOS
VR-ForcesGUI
CGF Controls
Non-Runtime Services
ScenarioGeneration
VR-ForcesSim Engine
VR-ForcesGUI
StreamingTerrain Server
VR-Forces APIsVR-Forces
Simulation Engine
Env.
CommsTerrain
EntityLua
SensorsWeather
Server
Terrain Server
Link-16
VR-Forces APIs will be used to:● Connect to other services
● Weather
● Terrain
● Remote Control
● Add local content
● Add ITAR capabilities
Behaviors&
TasksAerodynamics and EW
Conclusion
MAK products are being used in 2 different ways on two major programs:● As a suite of tools to develop an entirely new architecture and common simulation
software for the US Army’s Synthetic Training Environment
● As the COTS core components of a large HLA federation for the UK Royal Air Force DOTC(Air) Program
Future programs, such as the Australian Army’s LS Core 2.0, can learn from these programs how best to implement their own architectures based on their specific requirements.