Title: Jason Lucas
1 Overview on the Development and Testing of
the Test and Training Enabling Architecture
(TENA) Middleware, Release 3.0
- Jason Lucas
- Foundation Initiative 2010
- Deputy Technical Project Manager
- 17-18 June 2003
European Simulation Interoperability Workshop 2003
2Foundation Initiative 2010Project Objectives
- Define a common Architecture for the
test/training range community called TENA
(Test Training Enabling Architecture) - Define a common Object Model to be used across
the ranges - Define and build a common Software Middleware
that will - Comply with the architecture
- Use the object model
- Build on the HLA
- Enhance interoperability and reuse among the
ranges - Common understanding of range processes the
Logical Range ConOps - Provides a common understanding to range users
how logical ranges are created (from the
integration of range resources), what their
capabilities are, and how they are utilized,
operated, and controlled - Define and prototype common Tools to configure
and conduct multi-range, synthetic test events or
training exercises - Create distributed, synthetic battle-spaces with
real weapon systems - Link multiple ranges together to form a larger,
cohesive range - Enable testing, assessment, experimentation, and
training of weapon system interoperability,
C4ISR, and system-of-systems
3Overall Development Strategy
- TENA was revised based on user feedback and
lessons learned from working software prototypes - TENA will be revised in the future based on
future prototypes - TENA is based on real-world tests at real ranges
4Driving Technical Requirements
- Interoperability
- The characteristic of a suite of
independently-developed components, applications,
or systems that implies that they can work
together, as part of some business process, to
achieve the goals defined by a user or users. - Reusability
- The characteristic of a given component,
application, or system that implies that it can
be used in arrangements, configurations, or in
system-of-systems beyond those for which it was
originally designed. - Composability
- The ability to rapidly assemble, initialize,
test, and execute a system from members of a pool
of reusable, interoperable elements. - Composability can occur at any scale reusable
components can be combined to create an
application, reusable applications can be
combined to create a system, and reusable systems
can be combined to create asystem-of-systems.
5Achieving Interoperability, Reuse, and
Composability
- Interoperability requires
- A common architecture
- An ability to meaningfully communicate
- A common language
- A common communication mechanism
- A physical connection between the two systems
- A common context
- A common understanding of the environment
- A common understanding of time
- A common technical process
- Reuse and Composability require the above, plus
- Well defined interfaces and functionalityfor the
application to be reused
6TENA Architecture Overview
7Ways TENA Middleware CanExchange Data
- TENA presents to the range user a unification of
several powerful inter-application communication
paradigms - Publish/Subscribe
- Similar in effect to HLA, DIS, or other PDU-based
communication systems - Each application publishes certain types of
information (the publication state) which can be
subscribed to by any other application - Remote Method Invocation
- Similar to CORBA or Java RMI
- Each object that is published may have methods
that can be remotely invoked by other
applications - Messages
- Individual messages that can be sent from one
application to one or more other applications - Data Streams
- Native support for audio, video, and telemetry
8TENA Meta-Model
9Key Functionality ofTENA Beyond HLA Summarized
Standard Object Model TENA provides for the
managed evolution of a standardized Object Model
(interfaces, data formats, data definitions,
control commands, etc.) Significance
Range-community-wide agreed upon data formats,
definitions, etc. promotes interoperability to a
greater degree than the HLA specification
High Performance and Reliability TENA Objects are
compiled-in when the application is made
TENA-compliant Significance Higher performance,
plus higher reliability since any errors in data
formats will be discovered during software
compiling (pre-mission) rather than during the
test mission (at run-time)
Support for Data Streams TENA supports real-time
delivery and storage of data stream information
(audio, video, and telemetry) Significance A
substantial amount of test information is
streaming data. Fully integrating data streams
into TENA provides high-performance management of
this type of information in a standard, reusable,
interoperable fashion
Manages Persistent Data TENA provides for the
management and standardization of database
information throughout the range event lifecycle,
including scenario information and data collected
during an exercise Significance
Interoperability is achieved before, during, and
after a range event, leading to easier setup,
initialization, and analysis, saving both time
and money
Support for More Complex, Meaningful,
User-Defined Object Models TENA allows for
objects to be composed of other objects (objects
can contain other objects) Significance Small
building block objects (Time, Position,
Orientation, etc.) can be standardized and reused
to efficiently define other more complex objects,
yielding more interoperability quickly and at
less cost than with the HLA TENA Middleware
marshals/demarshals data, rather than relying on
individual applications to do so Significance
Middleware marshaling makes it easier to
integrate different computer platforms (Windows,
Linux, Sun, etc.) in a distributed test event and
avoid integration errors due to inconsistent
user-written software TENA supports remotely
invoking methods (control commands, operations,
processes) of another application Significance
Software interfaces can be designed more
naturally and effectively for distributed test
events
10Logical RangeSimple Example
- TENA specifies an architecture for range
resources participating in logical ranges
Radar
TestControl Station
Simulation
Communication Mechanism (Network, Shared Memory,
etc.)
11Logical RangeSimple Example
- TENA specifies a peer-to-peer architecture for
logical ranges - Applications can be both clients and servers
simultaneously - In their role as servers, applications serve TENA
objects called servants - In their role as clients, applications obtain
proxies, representing other applications
servants. Only servers can write to their
servant objects publication state - The IKE 2 Middleware, the TENA objects, and the
users application code are compiled and linked
together
Radar
TestControl Station
Simulation
Communication Mechanism (Network, Shared Memory,
etc.)
12Clients and ProxiesServers and Servants
- When objects are distributed across multiple
processes or machines - One object is the real object the one with
the implementation - All the others are proxies
Client Process
Server Process
Proxy Object on Client
Servant Object on Server
Object 27
ClientObject
Remote Interface
RemoteInterfaceImplementation
Publication State
IKE 2
IKE 2
Network
13TENA Middleware Platform/Language Support
- Release 3.0 Platform Support
- Windows NT 4.0 / 2000 / XP with MSVC 6.0sp5 (to
be retired) - Windows NT 4.0 / 2000 / XP with MSVC 7.0
- Linux Red Hat 7.2 with gcc 3.0.3
- Sun Solaris 8 (SunOS 5.8) with gcc 3.0.3
- Additional Platforms To Be Supported
- Sun Solaris 8 with SunPro 5.4 compiler
- SGI IRIX 6.5.12 with gcc 3.0.3 on SGI hardware
- VxWorks 5.5, Motorola MPC7XXX PowerPC, Tornado
2.2 with gcc 3.0.3 - Programming Language Support
- C support provided with current release
- OCX (COM) wrapper developed by one of the TENA
users - Java will be supported in a future release
14Recent TENA USAGE Range Integration in
Millennium Challenge 2002 (MC02)
15Recent TENA USAGEVAST/IMPASS Network Connectivity
TENA on NIPRNET
CDSA Dam Neck, VA
Eglin Central Control Facility
TENA on Fiber
TENA on Microwave
Eglin Range Site A-15
CSS Panama City, FL
16Recent TENA USAGE VAST/IMPASS System Description
Shipboard Processing Map Rendering Virtual Target
Acoustic Processing GPS Communication Link
17TENA Middleware TestingPerformance
BenchmarkConfigurations
Host 1
Host 2
Cisco Switch
Ethernet
GPS
Host 1 W2K/Linux Dual 1 GHz Processors 768 Mb of
Memory 10/100 NIC Datum DC637PCI GPS BUS Timing
Card (Master) Network Naming Service Execution
Manager
Network Peer-to-Peer Cisco Catalyst EX 2950 Cat
V 100 Mbps
Host 2 W2K/Linux 1 GHz Processor 256 Mb of
Memory 10/100 NIC Datum BC635PCI GPS BUS Timing
Card (Slave) Publisher
Subscriber
Publisher Subscriber
18TENA Middleware TestingPerformance Benchmark
Application
- Host 1 Publisher Constructs Payload
- Host 1 Publisher Records Time
- Host 1 Publisher Updates Publication State
- Host 2 Subscriber Receives Discovery/State
Change Callback - Host 2 Subscriber Extracts Publication State
- Host 2 Subscriber Records Time
- Host 2 Subscriber Writes Data to Disk at the
End of Test
Host 1
Host 2
Publisher
Subscriber
Subscriber Client
Publisher Servant
Remote Interface
RemoteInterfaceImplementation
TSPI Publication State
TENA Middleware R3
TENA Middleware R3
Network
19TENA Middleware Testing Stand-Alone
LinuxEvokeMultipleCallbacks Data
20TENA Middleware Testing Peer-to-Peer
LinuxEvokeMultipleCallbacks Data
21TENA Middleware Testing Stand-Alone
W2KEvokeMultipleCallbacks Data
22TENA Middleware Testing Peer-to-Peer W2K
EvokeMultipleCallbacks Data
23TENA Middleware Testing Performance
BenchmarkMulti-Node Configuration
FIDELPC01
W2K Dual 800 MHz Processors 528 Mb of Memory GPS
(Slave) Subscriber
FIDELPC06
FIDELPC05
W2K Dual 800 MHz Processors 528 Mb of Memory GPS
(Slave) Subscriber
Cisco Switch
W2K Dual 1 GHz Processors 768 Mb of Memory GPS
(Master) Network Naming Service Execution
Manager Publisher
FIDELPC11
W2K Single 1 GHz Processor 768 Mb of Memory GPS
(Slave) Subscriber
24TENA Middleware Testing Multi-Node
DataFIDELPC01
25TENA Middleware Testing Multi-Node
DataFIDELPC05
26TENA Middleware Testing Multi-Node
DataFIDELPC11
27TENA Middleware Testing PingPong Conops
- Host 1 Pinger Constructs Payload
- Host 1 Pinger Records Time
- Host 1 Pinger Updates Pinger Publication State
- Host 2 Ponger Receives Pinger State Change
Callback - Host 2 Ponger Extracts Pinger Publication State
- Host 2 Ponger Updates Ponger Publication State
- Host 1 Pinger Receives Ponger State Change
Callback - Host 1 - Pinger Records Time
- Host 1 - Pinger Writes Data to Disk at the End of
Test
Host 1
Ponger
Pinger
Pinger Proxy
Ponger Servant
Pinger Servant
Ponger Proxy
Remote Interface
Remote Interface
Remote Interface
Remote Interface
RemoteInterfaceImplementation
RemoteInterfaceImplementation
Cache of Publication State
Cache of Publication State
Publication State
Publication State
TENA Middleware R3
Network
28TENA Middleware Testing PingPong Benchmark
String Peer-to-Peer W2K Data
- evokeMultipleCallbacks
29TENA Middleware Testing Char Vector
Peer-to-Peer W2K Data
- evokeMultipleCallbacks
30TENA Middleware Testing ULong Vector
Stand-Alone W2K Data
- evokeMultipleCallbacks
31Gateways
- Gateways provide a means of bridging TENA systems
to non-TENA systems - Gateways are TENA applications, but may also
conform to other architectures - The most important gateways will bridge TENA to
the HLA and to C4ISR systems
TENA Gateway
Other Middleware
TENA Middleware
Application O-1
TENA Application T-1
TENA LROM Objects
Network
Other Objects
Network
Translator
Application O-2
TENA Application T-2
Application O-3
TENA Application T-3
Application O-4
TENA Application T-4
32TENA Compliancy Levels
33Gradual Deployment of TENA
New TENA Application
Existing Range Application
Existing Range Application
Existing Range Application
Other sites
Now
Range Protocols
Existing Range Application
Existing Range Application
Existing Range Application
34TENA Internationally
- Requests to download the TENA software have come
from Allied / Coalition Nations - UK
- Canada
- France
- Germany
- Australia
- Denmark
- TENA is presently in the export approval process
- Approval expected this year
- Development of Standard Object Models is being
coordinated internationally - Weibel Radar (Denmark) engineers participating in
Radar OM definition
35Training Courses Available
- TENA Overview Course (TOC)
- Designed for the non-programmer
- Provides basic familiarization on TENA and
Logical Ranges - Typically 1 day in length (half day two hour
versions are available) - Lecture format
- Technical Introduction Course (TIC)
- Designed for the programmer
- Introduces design concepts to build
TENA-compliant applications - Typically 1 day in length
- Lecture format
- Hands-on Training (HOT)
- Designed for the programmer
- Provides several examples class exercises to
learn the TENA Middleware API - Typically 1 week in length
- Computer classroom format