This is not a Wikipedia article: It is an individual user's work-in-progress page, and may be incomplete and/or unreliable. For guidance on developing this draft, see Wikipedia:So you made a userspace draft. Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
Test & Training Enabling Architecture (TENA)
The Test & Training Enabling Architecture (TENA) is an object-oriented distributed software architecture that helps facilitate interoperability between software applications used by US military Test and Training communities [1]. The requirements are managed by a group of government and industry organizations called the Architecture Management Team (AMT) and the design and implementation is managed by a government and contractor team called the Software Development Activity (SDA). TENA is sponsored by the DoD’s Test Resource Management Center (TRMC) and Joint Forces Command’s Joint National Training Capability (JNTC). All TENA specifications and software are owned by the United States Government and are provided free of charge to any organization that wishes to take advantage of TENA. Access to TENA software, documents, and other artifacts require a user account on the TENA-SDA.org website. The TENA specification does not specify the layout of data packets at the network level. Instead, it defines an Application Programmer Interface (API) that software developers interact with using pre-compiled software libraries for supported programming languages such as C++. Besides needing the TENA middleware to communicate between applications, users must also define or identify which Object Models (OM) will be used to exchange information. The AMT and other stakeholders (through the use of Object Model Technical Exchanges) manage a core set of OMs; commonly referred to as the "standard" OMs. These OMs come pre-packaged with Middleware downloads and are based on the most common communication requirements in the test and training communities. Additionally, individuals and organizations may define custom OMs and/or extend existing OMs. OMs are specified in a text-based TENA Definition Language (TDL) document to define constructs specified in the TENA meta-model. The primary types of objects used for communication are called Stateful Distributed Objects (SDO) and Messages. SDOs are persistent objects that are created, modified, and finally destroyed over the course of their lifetime; while Messages are not persistent. TDL documents are submitted to a central repository on the TENA-SDA.org website to generate OM software for download; including the libraries that define the auto-generated API for that OM, and automatically generated example applications for publishing and subscribing to each SDO and Message. To use TENA, application programmers would select their "platform" (consisting of the operating system, hardware architecture, and compiler), and download the Middleware and OM distributions. Minimally, the programmer would need to link against the Middleware library, the OM definition library, and any required OM implementation libraries (if the OM specified any custom methods requiring user-defined code). TENA applications interact in an "execution" (also generally referred to as a "Logical Range Execution; or LRE") which is started and managed by a central software application called an Execution Manager (provided with the Middleware download). The Execution Manager (EM) keeps track of subscription interest, but is not used to relay exchanged OM data between applications (OM data is sent directly from publishers to interested subscribers). While historically and primarily an IP-based network technology, several DOD projects are looking at extending TENA's capability for other uses. Notably, the TENA in a Resource Constrained Environment (TRCE) project aims to extend TENA's capabilities on low bandwidth networks and networks where connection-oriented communication is impractical, thus getting TENA closer to the instrumentation level. The TENA program also offers several training courses, an online helpdesk, and a support team that helps train developers and troubleshoot software issues.