Attachment_0003_-_Appendix_H_Live_Training_Transformation_(LT2)_Video_Service-Oriented_Architecture_(SOA)(H).pdf
PDF 2 MB Posted
- Attached to
- Army Targetry Systems (ATS) III Federal contract opportunity
- Solicitation number
- W56HZV-15-R-0130
About this file
Attachment 0003 - Appendix H_Live Training Transformation (LT2) Video Service-Oriented Architecture (SOA)(H)
View the file
Other files for this federal contract opportunity
Show all 50
Army Targetry Systems (ATS) III has more files on GovTribe.
On GovTribe
Work with this file on GovTribe
- Download the original file
- Contacts named in this file
- Similar government files
- Ask GovTribe AI about this file
Text version
Live Training Transformation (LT2)
Video Service-Oriented Architecture (SOA)
Interface Control Document (ICD) and Service Contract
DOC. Number: PRF-PT-00566
Version 3.0
Prepared by:
Project Manager Training Devices (PM TRADE)
12350 Research Parkway
Orlando, FL 32826-3275
Last Updated:
22 February 2011
Approved for public release; distribution is unlimited.
Distribution Statement A i Video SOA ICD
Use or disclosure of data contained in this document is subject to the restriction on the title page.
Change History
Version Change Summary Release Date
0.1
Initial draft. Note, prior versions of this document were labeled v 1.1, Rev A … Rev F. Version history for these is not available.
8 December 2008
0.2
Changed to fold into CTIA, started versioning using numbers only. First digit is major changes to ICD, second digit is minor changes. 1.0 is initial release to
Portal, all others before this are draft.
20 January 2009
0.3 Added camera parameter to a few
ICameraControlService methods.
2 February 2009
1.0 Initial release. 2 February 2009
1.0.1 Renamed to Video SOA
Added Video Compositions section 10 November 2009
1.0.2
Replaced LT2 logo.
Changed Figure numbers.
Editorial updates.
Updated section 4.1 and 4.2
Updated Appendix A & B
16 December 2009
2.0 Updated to support DRTS interface change request
(transient change) 28 May 2010
3.0
Document Re-Host to include major changes in the:
Interfaces
Data Dictionary
Context Diagram
Use Cases
Etc.
15 October 2010
To submit comments, suggestions, or questions regarding this document please utilize the LT2
Portal Help Desk (www.lt2portal.org) and the Issue Tracker application. From the portal home page, select LT2 Help Desk on the bottom right, select CTIA, and then select Issue Tracker. At the top of the Issue Tracker page click "Submit an Issue."
http://www.lt2portal.org/ ii
Use or disclosure of data contained in this document is subject to the restriction on the title page.
Table of Contents
1 BACKGROUND
1.1 SCOPE
1.2 APPLICABILITY
1.3 DOCUMENT QUICK GUIDE
1.4 VIDEO SOA OVERVIEW
1.4.1 Service-Oriented Architecture
1.4.2 Live Training Approach
2 APPLICABLE DOCUMENTS
2.1 GENERAL
2.2 GOVERNMENT DOCUMENTS
2.3 NON-GOVERNMENT PUBLICATIONS
2.4 ORDER OF PRECEDENCE
3 VIDEO SERVICES CONTRACT
3.1 TECHNICAL ARCHITECTURE
3.2 INTERFACE DEFINITION
3.3 SERVICE REGISTRATION/DISCOVERY
3.4 MESSAGING
3.5 SOA INFRASTRUCTURE AND SECURITY
4 USE CASE EXAMPLES
4.1 USE CASE ASSET MANAGEMENT
4.1.1 Register Assets
4.1.1.1 Identifier
4.1.1.2 Description
4.1.1.3 Preconditions
4.1.1.4 Postconditions
4.1.1.5 Basic Course of Action
4.1.1.6 Alternate Course A – Source Already Exists
4.1.1.7 Alternate Course B – Data Import
4.1.1.8 Alternate Course C – Data Driven
4.1.1.9 Sequence Diagram
4.1.2 Discover Assets
4.1.2.1 Identifier
4.1.2.2 Description
4.1.2.3 Preconditions
4.1.2.4 Postconditions
4.1.2.5 Basic Course of Action
4.1.2.6 Sequence Diagram
4.1.3 Camera Preset Control with Adjudication
4.1.3.1 Identifier
4.1.3.2 Description
iii
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.3.3 Preconditions
4.1.3.4 Postconditions
4.1.3.5 Basic Course of Action
4.1.3.6 Alternate Course A – Failed Adjudication
4.1.3.7 Alternate Course B – Camera Preset Service Invokes Adjudication Service ... 15
4.1.3.8 Sequence Diagram
4.1.4 Remotely Manage Workstation Training Event
4.1.4.1 Identifier
4.1.4.2 Description
4.1.4.3 Preconditions
4.1.4.4 Postconditions
4.1.4.5 Basic Course of Action
4.1.4.6 Alternate Course A – Failed Adjudication
4.1.4.7 Alternate Course B – Invalid Training Event Identifier
4.1.4.8 Sequence Diagram
4.1.5 Load Training Event Media
4.1.5.1 Identifier
4.1.5.2 Description
4.1.5.3 Preconditions
4.1.5.4 Postconditions
4.1.5.5 Basic Course of Action
4.1.5.6 Alternate Course A – Failed Adjudication
4.1.5.7 Sequence Diagram
4.1.6 Stream Transcode
4.1.6.1 Identifier
4.1.6.2 Description
4.1.6.3 Preconditions
4.1.6.4 Postconditions
4.1.6.5 Basic Course of Action
4.1.6.6 Alternate Course A – Invalid Transcode
4.1.6.7 Alternate Course B – Invalid Identifier
4.1.6.8 Sequence Diagram
4.1.7 Find Stream Publisher by Visible Location
4.1.7.1 Identifier
4.1.7.2 Description
4.1.7.3 Preconditions
4.1.7.4 Postconditions
4.1.7.5 Basic Course of Action
4.1.7.6 Sequence Diagram
5 DEFINITIONS
5.1 GLOSSARY
5.2 LIST OF ACRONYMS AND ABBREVIATIONS
APPENDIX A: VIDEO SERVICES AND METHODS
APPENDIX B: VIDEO SOA HTML AND EXAMPLE CODE
iv
Use or disclosure of data contained in this document is subject to the restriction on the title page.
APPENDIX C: WSDL
APPENDIX D: VIDEO SOA DATA DICTIONARY
APPENDIX E: COMPLIANCE GUIDE
v
Use or disclosure of data contained in this document is subject to the restriction on the title page.
List of Figures
FIGURE 1 LIVE TRAINING VIDEO SOA APPROACH
FIGURE 2 LT2 VIDEO SOA CONTEXT DIAGRAM
FIGURE 3 REGISTER ASSET SEQUENCE DIAGRAM
FIGURE 4 DISCOVER ASSETS SEQUENCE DIAGRAM
FIGURE 5 CAMERA PRESET SEQUENCE DIAGRAM
FIGURE 6 MANAGE TRAINING EVENT SEQUENCE DIAGRAM
FIGURE 7 LOAD TRAINING EVENT SEQUENCE DIAGRAM
FIGURE 8 STREAM TRANSCODE SEQUENCE DIAGRAM
FIGURE 9 FIND STREAM PUBLISHER BY LOCATION SEQUENCE DIAGRAM
vi
Use or disclosure of data contained in this document is subject to the restriction on the title page.
List of Tables
TABLE 1 VIDEO SOA SERVICES AND METHODS
Use or disclosure of data contained in this document is subject to the restriction on the title page.
1 BACKGROUND
The U.S. Army Program Executive Office (PEO) Simulation Training and Instrumentation
(STRI) has established a Live Training Transformation (LT2) Product Line approach to developing a Family of Training Systems (FTS) that provide the ground maneuver training range functions supporting Army live and Joint training environments. LT2 is a PM TRADE strategy that allows the product line architecture to exist, while employing the principles to acquire, develop, and sustain live training programs. The LT2 Product Line includes live training systems in support of homestation, deployed, military operations on urban terrain (MOUT), maneuver combat training center (MCTC), and instrumented live-fire range training.
Application of LT2 Product Line standards have matured, thus reducing life cycle development and sustainment costs through the creation of common reusable architectures, which provide integrated and interoperable training solutions for the LT2-FTS deployable to Army ranges. The success of the LT2 program strategy is dependent on defining standards and initiatives derived to promote systematic reuse of software and interoperability solutions for the LT2 products.
The LT2 standards provide industry the appropriate development guidelines and interface definitions in order to maximize industry involvement in developing product line solutions and providing advanced training capabilities through technology insertion. Government and industry work together to establish the LT2 standard initiatives based on common use cases and detail the relevant solution sets resulting in achievement of the PEO STRI mission and the LT2 Product
Line interoperability and reuse objectives.
The intent of the Video SOA approach and associated ICD is to facilitate a vendor-neutral approach and make allowances for standalone, scalable changes to the video control systems that are transparent to the consumer. It will also allow for a single video control system solution to be implemented at all sites with any vendor, thus providing a universal range video system and deterring the creation of stovepipe systems. The implementation and usage of the Video SOA will minimize range downtime and reduce total ownership cost, while allowing improved ability to leverage industry products and evolve as technology improves.
1.1 Scope
This document contains a background on the Service-Oriented Architecture (SOA) concept and contract specification used to create a non-proprietary, interoperable standard to allow various service consumers (TOC2, TAFF workstations, etc.) to communicate with any video control system, regardless of the video vendor.
The intended audiences of this document are both the video system vendors that construct systems to be used by the Live Training community as well as the developers of products that leverage the video systems. For the video system vendors, this document will describe the service interfaces that shall be provided, and for the product developers, it will define the standard service methods and controls that video system vendors must adhere to for Video SOA compliancy.
Use or disclosure of data contained in this document is subject to the restriction on the title page.
1.2 Applicability
This document is intended for inclusion in PM TRADE acquisition contracts for Training Aids, Devices, Simulators and Simulations (TADSS) that support live training and test domains.
This is one standard within the family of Live Training Standards as defined by PM TRADE to support systems for live force-on-force and force-on-target training,
1.3 Document Quick Guide
To utilize this document, sequentially review the following:
1. Video Services Contract (Section 3)
2. Video Services and Methods (Appendix A)
3. Video SOA HTML and Example Code (Appendix B)
4. Use Case Examples (Section 4)
5. WSDL (Appendix C)
6. Video SOA Data Dictionary (Appendix D)
1.4 Video SOA Overview
1.4.1 Service-Oriented Architecture
The concept of a Service-Oriented Architecture (SOA) is that capability for a particular system is made available to various consumers as loosely-coupled services. By making the queries, commands, and data feeds for a service (such as the video service) available in a net-centric environment, this allows for greater reuse and interoperability of systems and also eliminates proprietary stovepipes.
The SOA approach is the ideal solution for addressing the Live Training Transformation Family of Training Systems (LT2-FTS) need for video services. Because there are many different ranges and training sites around the world, it is necessary to “plug-in” the various LT2 products into any range and have interoperability with the local video services infrastructure. The LT2 products are required to query the various feed sources, send control commands to cameras, and record and playback video channels. By defining an interface that provides all the necessary services, any video system can provide the interfaces via web services on the IP network and any LT2 product
(or any product for that matter) can consume these services as necessary.
1.4.2 Live Training Approach
The goal of the LT2 Video SOA concept is to create a mechanism to organize and utilize the distributed video capabilities of each live training system in a uniform manner that provides compatibility with any of the consumers on the network. This allows for a vendor-agnostic approach to linking video sources and controls with any live training system.
Use or disclosure of data contained in this document is subject to the restriction on the title page.
The intent of the LT2 Video SOA is to prevent stovepipe systems development, where the consumers of video control services interface to a vendor-specific video system. Such a stovepipe would require costly rework if the video system were to ever change. This stovepipe would also require a vendor-specific consumer implementation at each site where the video system is different.
In addition to standards for SOA interactions with cameras producing live streaming video and control systems for COTS video solutions, video storage standards must also be addressed. In order to assure that the Video SOA ICD can provide vendor-neutral access to file-based video, the storage container for all video (at rest) shall be the MXF format per MISB MISP RP-0107.
Figure 1 Live Training Video SOA Approach
By standardizing on the service contract specifying what a video control system offers, a single solution can be implemented for all sites and vendors, thus maximizing reuse. Furthermore, if the video system is ever changed, the consumer does not have to rework the integration. Figure 1 of this document illustrates this implementation. The Video SOA will provide industry a common set of video services based on the Web Services Description Language (WSDL) Simple Object
Access Protocol (SOAP) format is prescribed for the network communication from the Video
Workstation to the Live Training hardware.
Use or disclosure of data contained in this document is subject to the restriction on the title page.
This common set of video services must satisfy the Live Training systems requirements. Video
SOA will publish services to the CTIA framework that can be invoked by CTIA services using an API. The Video SOA shall also be flexible in that it can use RESTful services where appropriate. RESTful services shall be designed to smoothly integrate with the WS-based SOA services.
Use or disclosure of data contained in this document is subject to the restriction on the title page.
2 APPLICABLE DOCUMENTS
2.1 General
The documents listed in this section are specified in this standard.
2.2 Government Documents
Not Applicable
2.3 Non-Government Publications
The following documents form a part of this document to the extent specified herein. Unless otherwise specified, the issues of these documents are those cited in the solicitation or contract.
Web Services Description Language (WSDL) 1.1, http://www.w3.org/TR/wsdl
Windows Communication Foundation (WCF) Portal, http://msdn.microsoft.com/en-us/netframework/aa663324.aspx
WS-Reliable Messaging Protocol, http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf
WS-Security Protocol, http://www.oasis-open.org/committees/download.php/16790/wss-v1.1-spec-os-SOAPMessageSecurity.pdf
2.4 Order of Precedence
Unless otherwise noted herein or in the contract, in the event of a conflict between the text of this document and the references cited herein, the text of this document takes precedence. Nothing in this document, however, supersedes applicable laws and regulations unless a specific exemption has been obtained.
http://www.w3.org/TR/wsdl http://msdn.microsoft.com/en-us/netframework/aa663324.aspx http://msdn.microsoft.com/en-us/netframework/aa663324.aspx http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf http://www.oasis-open.org/committees/download.php/16790/wss-v1.1-spec-os-SOAPMessageSecurity.pdf http://www.oasis-open.org/committees/download.php/16790/wss-v1.1-spec-os-SOAPMessageSecurity.pdf
Use or disclosure of data contained in this document is subject to the restriction on the title page.
3 VIDEO SERVICES CONTRACT
3.1 Technical Architecture
The Context Diagram in Figure 2 provides the basic framework (functional architecture) for the
Video SOA implementation schema within a Live Training Domain system. The Services are represented by the bubbles and the controls/contracts are represented by the line elements.
Additionally, each of the bubbles is comprised of a group of associated methods and interface protocols. The context diagram provides the high-level framework for the implementation, and is supplemented by the use case sequence diagrams in Section 4 of this document.
The Infrastructure Services are envisioned to be overarching methods that reside across the other defined services within the context diagram. There are several other encompassing services (i.e.
security, discover, and message services) that are represented below the context diagram, but are equally envisioned to be overarching methods when implemented (as required) within a Video
SOA solution.
Use or disclosure of data contained in this document is subject to the restriction on the title page.
Figure 2 LT2 Video SOA Context Diagram
Use or disclosure of data contained in this document is subject to the restriction on the title page.
3.2 Interface Definition
The Video SOA ICD is intended to address live training video capabilities. Each live training product will define the particular system requirements and implementation of the ICD specific to their needs.
A WSDL document defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types which are abstract collections of operations. The concrete protocol and data format specification for a particular port type constitutes a reusable binding. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Hence, a WSDL document uses the following elements in the definition of network services:
Types: a container for data type definitions using some type system (such as XSD).
Message: an abstract, typed definition of the data being communicated.
Operation: an abstract description of an action supported by the service.
Port Type: an abstract set of operations supported by one or more endpoints.
Binding: a concrete protocol and data format specification for a particular port type.
Port: a single endpoint defined as a combination of a binding and a network address.
Service: a collection of related endpoints.
These elements are described in detail in the WSDL 1.1 standard at http://www.w3.org/TR/wsdl.
It is important to observe that WSDL does not introduce a new type definition language. WSDL recognizes the need for rich type systems for describing message formats, and supports the XML
Schemas specification (XSD) as its canonical type system. However, since it is unreasonable to expect a single type system grammar to be used to describe all message formats present and future, WSDL allows using other type definition languages via extensibility.
In addition, WSDL defines a common binding mechanism. This is used to attach a specific protocol or data format or structure to an abstract message, operation, or endpoint. It allows the reuse of abstract definitions.
In addition to the core service definition framework, this specification introduces specific binding extensions for the following protocols and message formats:
SOAP 1.1
HTTP GET / POST
MIME
A WSDL document is simply a set of definitions. There is a definitions element at the root, and definitions inside. The grammar is as follows:
<wsdl:definitions name="nmtoken"? targetNamespace="uri"?>
<import namespace="uri" location="uri"/>*
<wsdl:documentation .... /> ?
http://www.w3.org/TR/wsdl
Use or disclosure of data contained in this document is subject to the restriction on the title page.
<wsdl:types> ?
<wsdl:documentation .... />?
<xsd:schema .... />*
<-- extensibility element --> *
</wsdl:types>
<wsdl:message name="nmtoken"> *
<wsdl:documentation .... />?
<part name="nmtoken" element="qname"? type="qname"?/> *
</wsdl:message>
<wsdl:portType name="nmtoken">*
<wsdl:operation name="nmtoken">*
<wsdl:documentation .... /> ?
<wsdl:input name="nmtoken"? message="qname">?
<wsdl:documentation .... /> ?
</wsdl:input>
<wsdl:output name="nmtoken"? message="qname">?
<wsdl:documentation .... /> ?
</wsdl:output>
<wsdl:fault name="nmtoken" message="qname"> *
<wsdl:documentation .... /> ?
</wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="nmtoken" type="qname">*
<-- extensibility element --> *
<wsdl:operation name="nmtoken">*
<wsdl:documentation .... /> ?
<-- extensibility element --> *
<wsdl:input> ?
<wsdl:documentation .... /> ?
<-- extensibility element -->
</wsdl:input>
<wsdl:output> ?
<wsdl:documentation .... /> ?
<-- extensibility element --> *
</wsdl:output>
<wsdl:fault name="nmtoken"> *
<wsdl:documentation .... /> ?
<-- extensibility element --> *
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="nmtoken"> *
<wsdl:port name="nmtoken" binding="qname"> *
<wsdl:documentation .... /> ?
<-- extensibility element -->
</wsdl:port>
<-- extensibility element -->
</wsdl:service>
Use or disclosure of data contained in this document is subject to the restriction on the title page.
<-- extensibility element --> *
</wsdl:definitions>
A data dictionary is a collection of descriptions of the data objects or items in a data model for the benefit of programmers and others who need to refer to them. A first step in analyzing a system of objects with which users interact is to identify each object and its relationship to other objects. The data dictionary, based on the WSDL elements described above for the LT2 Video
SOA context diagram, is provided in Appendix D.
3.3 Service Registration/Discovery
This ICD does not currently address service registration and discovery. It is assumed that a service registration service would be implemented using established standards (e.g., UDDI). The documents associated with this ICD (e.g., WSDL and schemas) support integration with core web and registration services. This ICD does not preclude implementations using REST
(Representational State Transfer) design techniques and shall require that any Service Registry support both SOAP and RESTful services.
Message to Industry:
This is currently an un-developed section. As part of your overall review, please provide recommended language to support the maturation of this section.
3.4 Messaging
This ICD defines data contracts for messages associated with video services. SOAP message publishing and subscription shall be implemented using WS-ReliableMessaging protocol.
Several implementations are available to distribute and receive the message data contracts defined in this ICD. Implementations include, but are not limited to, Apache Sandesha, GlassFish, and Microsoft Windows Communication Foundation (WCF). RESTful Messaging
Services (like RestMS) shall also be defined for use where appropriate. RestMS provides web applications with enterprise-level messaging via an asynchronous RESTful interface that works over plain HTTP/HTTPS.
3.5 SOA Infrastructure and Security
Security of SOAP messaging shall be implemented using WS-Security protocol as needed.
Security normally adds complexity and impacts performance when processing SOAP messages.
This ICD does not specify security policies to allow flexibility when satisfying performance and security requirements. WS-Security implementations include, but are not limited to, Microsoft
Windows Communication Foundation (WCF) and Apache WSS4J.
Use or disclosure of data contained in this document is subject to the restriction on the title page.
The draft language below was submitted by industry and is pending further government review.
Comments are welcome.
Security metadata standards approved by the DoD and Intelligence community shall be used to label all messages with appropriate security classifications. These standards shall follow guidelines as described in the Department of Defense Discovery Metadata Specification (DDMS) version 3.0 dated January 2010 and the IC-ISM version 2.1 . Markings (labels) shall also comply with requirements described in the Director of Central Intelligence, Community
Management Staff, Controlled Access Program Coordination Office (CAPCO), Intelligence
Community Classification and Control Markings Implementation Manual, 10 Sep 1999, amended 12 Oct 2000.
Guidance for metadata embedded or attached to video streams that interact with LT2 video SOA services shall follow the MISB RP 0102.5 dated 15 May 2008 entitled “Motion Imagery
Standards Board Recommended Practice: Security Metadata Universal and Local Sets for
Digital Motion Imagery”.
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4 USE CASE EXAMPLES
4.1 Use Case Asset Management
4.1.1 Register Assets
4.1.1.1 Identifier
UC1
4.1.1.2 Description
External video system registers source assets with Asset Data Management service. The Asset
Data Management service is intended to be run as a singleton object.
4.1.1.3 Preconditions
External video system running
Asset Data Management service available
4.1.1.4 Postconditions
Assets registered with Asset Data Management service
4.1.1.5 Basic Course of Action
External video system user opens source data entry dialog or panel
External video system user inputs source attributes
External video system user saves source attributes
External video system creates source metadata from the user populated attributes
External video system invokes the Asset Data Management service register operation
Asset Data Management service dispatches a Source Message indicating a property update of a new source
4.1.1.6 Alternate Course A – Source Already Exists
(A.5) Asset Data Management service throws exception indicating the source is already registered
(A.6) Use case ends
4.1.1.7 Alternate Course B – Data Import
(B.1) External system reads XML, database, or data file containing source descriptions
(B.2) External system creates source metadata
(B.3) Use case continues from step 5 in the basic course of action
4.1.1.8 Alternate Course C – Data Driven
(C.1) Asset Data Management service starts reading all sources from XML, database, or data file containing source descriptions
(C.2) Asset Data Management service internally invokes the register operation for each source
(C.6) Use case continues from step 6 in the basic course of action
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.1.9 Sequence Diagram
Figure 3 Register Asset Sequence Diagram
4.1.2 Discover Assets
4.1.2.1 Identifier
UC2
4.1.2.2 Description
LT2 Product retrieves a list of camera sources to display on 2D Situation Awareness Window
(SAW).
4.1.2.3 Preconditions
Asset Data Management service running
4.1.2.4 Postconditions
Camera sources displayed on 2D SAW
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.2.5 Basic Course of Action
LT2 product retrieves and endpoint to the Asset Data Management service
LT2 product invokes the getAllSourcesByType operation with AssetType of StreamPublisher
The getAllSourcesByType operation returns an array of StreamPublisher source IDs
The getSourceMetadata operation is invoked for each StreamPublisher ID
The sourceLocation attribute of SourceMetadata is used to show camera icon on SAW
[OPTIONAL] The fov attribute of SourceMetadata is used to show Field of View (FOV) cone for static cameras (i.e., cameras that are not PTZ capable)
4.1.2.6 Sequence Diagram
Figure 4 Discover Assets Sequence Diagram
4.1.3 Camera Preset Control with Adjudication
4.1.3.1 Identifier
UC3
4.1.3.2 Description
Use case describes the process of combining multiple services to slew a camera source to a specific preset position.
4.1.3.3 Preconditions
PTZ Control Service available
Camera Preset Service available
Adjudication Service available
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.3.4 Postconditions
PTZ Camera slewed to preset
4.1.3.5 Basic Course of Action
LT2 product retrieves endpoint reference to the Camera Preset Service
LT2 product invokes the setCurrentPositionAsPreset operation on Camera Preset Service
Camera Preset Service retrieves endpoint reference to the PTZ Control Service associated with the source specified in the setCurrentPositionAsPreset operation
Camera Preset Service invokes getCurrentPosition operation on PTZ Control Service
PTZ Control Service returns the current CameraPosition
Camera Preset Service stores the CameraPosition, Source ID, and preset name in a preset database
LT2 product invokes getAvailablePresets on Camera Preset Service
LT2 product selects a preset name from the returned list of presets associated with the specified source
LT2 product retrieves endpoint reference to the Adjudication Service
LT2 product invokes startCameraControlSession on Adjudication Service
LT2 product verifies a “true” value is returned to indicate the session was successfully started
Adjudication Service dispatches a Source Message indicating a control session has started
LT2 product invokes moveToPreset operation on Camera Preset Service
Camera Preset Service does lookup of CameraPosition in preset database associated with the specified Source ID and preset name
Camera Preset Service invokes moveToPostion on PTZ Control Service
PTZ Control Service sends command to physical camera device
LT2 product invokes the stopCameraControlSession on Adjudication Service to end the control session and allow other clients control
Adjudication Service dispatches a Source Message indicating a control session has stopped
4.1.3.6 Alternate Course A – Failed Adjudication
(A.11) Adjudication Service returns false or throws exception indicating the session failed to start
(A.12) Use case ends
4.1.3.7 Alternate Course B – Camera Preset Service Invokes Adjudication
Service
(B.9) LT2 product invokes moveToPreset operation on Camera Preset Service
(B.10) Camera Preset Service retrieves endpoint reference to the Adjudication Service
(B.11) Camera Preset Service invokes startCameraControlSession on Adjudication Service
(B.12) Camera Preset Service verifies a “true” value is returned to indicate the session was successfully started
(B.13) Adjudication Service dispatches a Source Message indicating a control session has started
(B14) Use case continues from basic course of action step 14
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.3.8 Sequence Diagram
Figure 5 Camera Preset Sequence Diagram
4.1.4 Remotely Manage Workstation Training Event
4.1.4.1 Identifier
UC4
4.1.4.2 Description
Start video workstation initiated training event from integrated LT2 product.
4.1.4.3 Preconditions
Video Workstation Service (VWS) available
Library Service available
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.4.4 Postconditions
VWS training event is started, media is tagged, and the training event is stopped.
4.1.4.5 Basic Course of Action
LT2 product retrieves endpoint reference to proper VWS
LT2 product retrieves endpoint reference to Adjudication Service
LT2 product invokes Adjudication Service startVideoWorkstationControlSession
LT2 product verifies a “true” value is returned from startVideoWorkstationControlSession operation indicating a VWS control session was successfully started
Adjudication Service dispatches a Workstation Message indicating a VWS control session was started
LT2 product invokes setMode on VWS to set Control mode
LT2 product invokes setLayout to change the video layout (i.e., the number of video display panels the VWS displays)
LT2 product loads training event sources using the VWS loadSources operation
LT2 product invokes the VWS startTrainingEventGroup operation to start a grouped training event
VMS invokes createLibraryWithLibraryGroup on Library Service to create a grouped library
Library Service dispatches a Library Message indicating a new library was created
VWS invokes associateLibrarySources on Library Service to associate the sources specified during the VWS loadSources operation
VWS operator creates playlists contained tagged media sources
VWS creates Playlist objects
VWS invokes the addLibraryPlaylists on Library Service to associate the playlists with the current grouped training event
LT2 product invokes the VWS stopTrainingEventGroup operation
VWS invokes endLibrary on Library Service
Library Service dispatches a Library Message indicating the library was ended
LT2 product invokes setMode on VWS to set Ready mode
LT2 product invokes stopVideoWorkstationControlSession on Adjudication Service to release control of the VWS
Adjudication Service dispatches a Workstation Message indicating a VWS control session was stopped
4.1.4.6 Alternate Course A – Failed Adjudication
(A.4) LT2 product is returned a false value or exception is thrown indicating a control session failed to start
(A.5) Use case ends
4.1.4.7 Alternate Course B – Invalid Training Event Identifier
(B.9) LT2 product specifies invalid training event name
(B.10) VWS throws exception
(B.11) Use case ends
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.4.8 Sequence Diagram
Figure 6 Manage Training Event Sequence Diagram
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.5 Load Training Event Media
4.1.5.1 Identifier
UC5
4.1.5.2 Description
Remotely load VWS with training event playlists.
4.1.5.3 Preconditions
Video Workstation Service (VWS) available
Library Service available
4.1.5.4 Postconditions
VWS training event data playlists are remotely loaded.
4.1.5.5 Basic Course of Action
LT2 product retrieves endpoint reference to proper VWS
LT2 product retrieves endpoint reference to Adjudication Service
LT2 product invokes Adjudication Service startVideoWorkstationControlSession
LT2 product verifies a “true” value is returned from startVideoWorkstationControlSession operation indicating a VWS control session was successfully started
Adjudication Service dispatches a Workstation Message indicating a VWS control session was started
LT2 product invokes setMode on VWS to set Replay mode
LT2 product invokes getPlaylistsByLibrary on Library Service to retrieve a list of training event playlists
LT2 product invokes the loadPlaylists operation on VWS with the list of retrieved training event playlists
VWS attempts to display as many of the playlists as possible
LT2 product invokes the playLoadedMedia on VWS to start playback of the loaded playlists
LT2 product invokes the jumpLoadedMediaToTime on VWS to move the current playback position
LT2 product invokes the stopLoadedMedia on VWS to stop playlist playback
LT2 product invokes the clearLoadedMedia operation on VWS to remove training event playlists
LT2 product invokes the setMode operation on VWS to return the VWS to Ready mode
LT2 product invokes the stopVideoWorkstationControlSession on Adjudication Service to release control of VWS
Adjudication Service dispatches a Workstation message indicating the VWS control session was stopped
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.5.6 Alternate Course A – Failed Adjudication
(A.4) LT2 product is returned a false value or exception is thrown indicating a control session failed to start
(A.5) Use case ends
4.1.5.7 Sequence Diagram
Figure 7 Load Training Event Sequence Diagram
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.6 Stream Transcode
4.1.6.1 Identifier
UC6
4.1.6.2 Description
Use case describes the process to transcode a proprietary stream format to a widely supported industry standard format.
4.1.6.3 Preconditions
Mediation Service available
4.1.6.4 Postconditions
Proprietary stream format is transcoded to industry standard format.
4.1.6.5 Basic Course of Action
Media player application retrieves endpoint reference to Mediation Service capable of transcoding source stream to desired format
Media player application creates a StreamMetadata object containing attributes necessary to connect to new transcode stream
Media player application invokes the startTranscode operation on Mediation Service to begin stream transcode
Media player application connects to new transcoded stream specified in the StreamMetadata attributes
User selects another source to play on the media player application
Media player application invokes the stopTranscode operation on Mediation Service to stop the transcode stream
4.1.6.6 Alternate Course A – Invalid Transcode
(A.3) Mediation Services throws exception indicating the new stream format is not currently supported
(A.4) Use case ends
4.1.6.7 Alternate Course B – Invalid Identifier
(B.6) Invalid identifier is thrown when media player application invokes the stopTranscode operation
(B.7) Media player application invokes the stopAllTranscodeSessions to end all transcoding sessions
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.6.8 Sequence Diagram
Figure 8 Stream Transcode Sequence Diagram
4.1.7 Find Stream Publisher by Visible Location
4.1.7.1 Identifier
UC7
4.1.7.2 Description
Use case provides example of multiple telemetry services utilized to return sources capable of viewing a specific geographic location. Numerous conditions including weather can impact the accuracy of the results.
4.1.7.3 Preconditions
Telemetry Service(s) available
Asset Data Management Service available
4.1.7.4 Postconditions
List of cameras capable of viewing specific location at a certain time are retrieved
Use or disclosure of data contained in this document is subject to the restriction on the title page.
4.1.7.5 Basic Course of Action
User selects location on 2D map and selects “Show Camera Sources”
LT2 product retrieves endpoint reference to Telemetry Service
LT2 product invokes the getSourceByLocationViewable operation on Telemetry Service with the
2D map location and the current time
Telemetry Service invokes the getSourcesByType operation on Asset Data Management Service to retrieve a list of StreamPublishers
Telemetry Service processes the FOV and location of stream publishers that the service is currently managing to check if the sources are capable of viewing the specified location
Telemetry Service queries Telemetry Service implementations associated with sources not internally managed
Telemetry Service retrieves FOV and location data for other sources by invoking the getSourceFOV and getSourceLocation operations
Telemetry Service processes FOV and location data for all sources and returns master list
LT2 product displays list of StreamPublisher sources capable of viewing specified location
4.1.7.6 Sequence Diagram
Figure 9 Find Stream Publisher by Location Sequence Diagram
Use or disclosure of data contained in this document is subject to the restriction on the title page.
5 Definitions
5.1 Glossary
Publish/subscribe: Publish Subscribe, or pub/sub, is a messaging pattern where senders
(publishers) of messages are not programmed to send their messages to specific receivers
(subscribers). Rather, published messages are characterized into classes, without knowledge of what, if any, subscribers there may be. Subscribers express interest in one or more classes, and only receive messages that are of interest, without knowledge of what, if any, publishers there are. This decoupling of publishers and subscribers can allow for greater scalability and a more dynamic network topology.
Transcoding: Transcoding is the direct digital-to-digital conversion of one encoding to another.
This is often done in cases where a target device does not support the format or has limited storage capacity that mandates reduced file size, or to convert incompatible or obsolete data to a more supported or modern format.
UDDI: UDDI is a platform independent Extensible Markup Language (XML) based registry for businesses worldwide to list themselves on the internet. UDDI is an open industry initiative, sponsored by Organization for the Advancement of Structured Information Standards (OASIS), enabling businesses to publish service listings and discover each other and define how the services or software applications interact over the Internet.
WS-Reliable Messaging: WS-ReliableMessaging describes a protocol that allows SOAP messages to be reliably delivered between distributed applications in the presence of software component, system, or network failures.
5.2 List of Acronyms and Abbreviations
CTC-IS Combat Training Center –Instrumentation System
CTIA Common Training Instrumentation Architecture
EXCON Exercise Control
FASIT Future Army System of Integrated Targets
FTS Family of Training Systems
FOV Field of View
ICD Initial Capability Document
IR Instrumented Ranges
LT2 Live Training Transformation
LT2-FTS Live Training Transformation Family of Training Systems
LOS Line-of-Sight
MOUT Urban Operations
NLOS Non-Line of Sight
OASIS Advancement of Structured Information Standards
ONE TESS One Tactical Engagement Simulation System
ORD Operational Requirements Document
PEO STRI Program Executive Office Simulation Training and Instrumentation
PM TRADE Program Manager for Training Devices
Pub/Sub Publish/Subscribe
Use or disclosure of data contained in this document is subject to the restriction on the title page.
SAW Situation Awareness Window
SOA Service-Oriented Architecture
SOAP Simple Object Access Protocol
SYSCON System Control
TADSS Training Aids, Devices, Simulators and Simulations
TOC2 Training Operations Center Command & Control
UDDI Universal Description, Discovery and Integration
VWS Video Workstation Service
WCF Windows Communication Foundation
WSDL Web Services Description Language
XML Extensible Markup Language
Use or disclosure of data contained in this document is subject to the restriction on the title page.
Appendix A: Video Services and Methods
The following is a quick reference listing of the available video services and the respective service methods they provide.
Table 1 Video SOA Services and Methods
Video Service Service Method
VideoWorkstationService GetAvailableLayouts
GetMode
SetLayout
SetMode
LoadSources
LoadPlaylists
LoadTags
PlayLoadedMedia
JumpLoadedMediaToTime
PauseLoadedMedia
StopLoadedMedia
ClearLoadedMedia
StartTrainingEventGroup
JoinTrainingEventGroup
StopTrainingEventGroup
StartTrainingEvent
StopTrainingEvent
AssetDataManagementService Register
Unregister
UpdateGenericProperties
DiscoverSources
ResolveSourceName
ResolveSourceID
GetSourceMetadata
GetType
GetAllSources
GetAllSourcesByType
RecordingService StartRecording
StopRecording
GetActiveRecordings
Use or disclosure of data contained in this document is subject to the restriction on the title page.
LibraryService GetAllLibraries
GetAllLibraryGroups
GetLibrariesByGroup
GetPlaylistsByLibrary
GetTagsByLibrary
GetLibraryLayout
GetLibrarySources
GetLibraryTime
GetLibrariesByTime
GetLibraryGroupsByTime
CreateLibrary
CreateLibraryWithLibraryGroup
AssociateLibrarySources
AddLibraryPlaylists
AddLibraryTags
EndLibrary
DeleteLibraryGroupPlaylists
DeleteLibraryPlaylists
DeleteLibraryGroupTags
DeleteLibraryTags
DeleteLibrary
DeleteLibraryGroup
AdjudicationService StartCameraControlSession
StopCameraControlSession
StartVideoWorkstationControlSession
CameraPresetService GetAvailablePresets
MoveToPreset
SetCurrentPositionAsPreset
CameraControlService SelectSources
DisplayText
RemoveText
ShowDateTime
ResetToDefault
Restart
DisconnectStreamSource
EnableStreamSource
RotateSource
Use or disclosure of data contained in this document is subject to the restriction on the title page.
MirrorSource
TurnOnAudio
TurnOnVideo
TelemetryService GetSourceFOV
GetSourceLocation
GetSourcePosition
GetSourceByLocationViewable
PTZControlService MoveToRelativePosition
Home
GetCurrentPosition
MoveToPosition
Pan
Tilt
Zoom
MediationService StartTranscode
StopTranscode
StopAllTranscodeSessions
Use or disclosure of data contained in this document is subject to the restriction on the title page.
Appendix B: Video SOA HTML and Example Code Detailed information on each service and method as well as example code is found in the
LT2VideoSOAWSDL.html file, located on the LT2 Portal or in the LT2VideoInterface.zip file.
See the LT2 Portal (<https://www.lt2portal.org>) under Collaboration → LT2 Collaboration
Areas → Video Service-Oriented Architecture Working Group (Community Collab Area) →
Files for the LT2VideoSOAWSDL.html file stored in the LT2VideoInterface.zip file.
https://www.lt2portal.org/
Use or disclosure of data contained in this document is subject to the restriction on the title page.
Appendix C: WSDL See the LT2 Portal (<https://www.lt2portal.org>) under Collaboration → LT2 Collaboration
Areas → Video Service-Oriented Architecture Working Group (Community Collab Area) →
Files for the WSDL file stored in the LT2VideoInterface.zip file.
https://www.lt2portal.org/
Use or disclosure of data contained in this document is subject to the restriction on the title page.
Appendix D: Video SOA Data Dictionary services bindings porttypes messages types AdjudicationService DefaultBinding_IAdjudicatio nService IAdjudicationService IAdjudicationService_StartCameraControlSession_Input
Message AddLibraryPlaylists
IAdjudicationService_StartCameraControlSession_Outp utMessage
AddLibraryPlaylistsResponse
IAdjudicationService_StartCameraControlSession_Video ExceptionFault_FaultMessage
AddLibraryTags
IAdjudicationService_StartVideoWorkstationControlSes sion_InputMessage
AddLibraryTagsResponse
IAdjudicationService_StartVideoWorkstationControlSes sion_OutputMessage
ArrayOfdateTime
IAdjudicationService_StartVideoWorkstationControlSes sion_VideoExceptionFault_FaultMessage
ArrayOfdateTime
IAdjudicationService_StopCameraControlSession_Input Message
ArrayOfGenericProperty
IAdjudicationService_StopCameraControlSession_Outp utMessage
ArrayOfGenericProperty
IAdjudicationService_StopCameraControlSession_Video ExceptionFault_FaultMessage
ArrayOfint
IAdjudicationService_StopVideoWorkstationControlSess ion_InputMessage
ArrayOfint
IAdjudicationService_StopVideoWorkstationControlSess ion_OutputMessage
ArrayOflong
IAdjudicationService_StopVideoWorkstationControlSess ion_VideoExceptionFault_FaultMessage
ArrayOflong
AssetDataManagem entService
DefaultBinding_IAssetData ManagementService
IAssetDataManagement Service
IAssetDataManagementService_DiscoverSources_Input Message
ArrayOfPlaylist
IAssetDataManagementService_DiscoverSources_Outpu tMessage
ArrayOfPlaylist
IAssetDataManagementService_DiscoverSources_Video ExceptionFault_FaultMessage
ArrayOfStreamMetadata
IAssetDataManagementService_GetAllSources_InputMe ssage
ArrayOfStreamMetadata
IAssetDataManagementService_GetAllSources_Output Message
ArrayOfstring
IAssetDataManagementService_GetAllSources_VideoEx ceptionFault_FaultMessage
ArrayOfstring
IAssetDataManagementService_GetAllSourcesByType_I nputMessage
ArrayOfTag
IAssetDataManagementService_GetAllSourcesByType_ OutputMessage
ArrayOfTag
IAssetDataManagementService_GetAllSourcesByType_V ideoExceptionFault_FaultMessage
AssetType
Use or disclosure of data contained in this document is subject to the restriction on the title page.
IAssetDataManagementService_GetSourceMetadata_In putMessage
AssetType
IAssetDataManagementService_GetSourceMetadata_Ou tputMessage
AssociateLibrarySources
IAssetDataManagementService_GetSourceMetadata_Vi deoExceptionFault_FaultMessage
AssociateLibrarySourcesResponse
IAssetDataManagementService_GetType_InputMessage AudioEncoding IAssetDataManagementService_GetType_OutputMessa ge AudioEncoding
IAssetDataManagementService_GetType_VideoExceptio nFault_FaultMessage
CameraPosition
IAssetDataManagementService_Register_InputMessage CameraPosition IAssetDataManagementService_Register_OutputMessa ge ClearLoadedMedia
IAssetDataManagementService_Register_VideoExceptio nFault_FaultMessage
ClearLoadedMediaResponse
IAssetDataManagementService_ResolveSourceID_Inpu tMessage
CreateLibrary
IAssetDataManagementService_ResolveSourceID_Outp utMessage
CreateLibraryResponse
IAssetDataManagementService_ResolveSourceID_Vide oExceptionFault_FaultMessage
CreateLibraryWithLibraryGroup
IAssetDataManagementService_ResolveSourceName_I nputMessage
CreateLibraryWithLibraryGroupRes ponse
IAssetDataManagementService_ResolveSourceName_O utputMessage
DeleteLibrary
IAssetDataManagementService_ResolveSourceName_Vi deoExceptionFault_FaultMessage
DeleteLibraryGroup
IAssetDataManagementService_Unregister_InputMessa ge
DeleteLibraryGroupPlaylists
IAssetDataManagementService_Unregister_OutputMess age
DeleteLibraryGroupPlaylistsRespon se
IAssetDataManagementService_Unregister_VideoExcep tionFault_FaultMessage
DeleteLibraryGroupResponse
IAssetDataManagementService_UpdateGenericProperti es_InputMessage
DeleteLibraryGroupTags
IAssetDataManagementService_UpdateGenericProperti es_OutputMessage
DeleteLibraryGroupTagsResponse
IAssetDataManagementService_UpdateGenericProperti es_VideoExceptionFault_FaultMessage
DeleteLibraryPlaylists
CameraControlServi ce
DefaultBinding_ICameraCo ntrolService
ICameraControlService ICameraControlService_DisconnectStreamSource_Input Message
DeleteLibraryPlaylistsResponse
ICameraControlService_DisconnectStreamSource_Outp utMessage
DeleteLibraryResponse
ICameraControlService_DisconnectStreamSource_Video ExceptionFault_FaultMessage
DeleteLibraryTags
ICameraControlService_DisplayText_InputMessage DeleteLibraryTagsResponse
Use or disclosure of data contained in this document is subject to the restriction on the title page.
ICameraControlService_DisplayText_OutputMessage DeliveryType ICameraControlService_DisplayText_VideoExceptionFau lt_FaultMessage DeliveryType
ICameraControlService_EnableStreamSource_InputMes sage
DisconnectStreamSource
ICameraControlService_EnableStreamSource_OutputMe ssage
DisconnectStreamSourceResponse
ICameraControlService_EnableStreamSource_VideoExc eptionFault_FaultMessage
DiscoverSources
ICameraControlService_MirrorSource_InputMessage DiscoverSourcesResponse ICameraControlService_MirrorSource_OutputMessage DisplayText ICameraControlService_MirrorSource_VideoExceptionFa ult_FaultMessage DisplayTextResponse
ICameraControlService_RemoveText_InputMessage EnableStreamSource ICameraControlService_RemoveText_OutputMessage EnableStreamSourceResponse ICameraControlService_RemoveText_VideoExceptionFa ult_FaultMessage EndLibrary
ICameraControlService_ResetToDefault_InputMessage EndLibraryResponse ICameraControlService_ResetToDefault_OutputMessag e ExceptionSeverity
ICameraControlService_ResetToDefault_VideoExceptio nFault_FaultMessage
ExceptionSeverity
ICameraControlService_Restart_InputMessage FOV ICameraControlService_Restart_OutputMessage FOV ICameraControlService_Restart_VideoExceptionFault_F aultMessage GenericProperty
ICameraControlService_RotateSource_InputMessage GenericProperty ICameraControlService_RotateSource_OutputMessage GetActiveRecordings ICameraControlService_RotateSource_VideoExceptionF ault_FaultMessage GetActiveRecordingsResponse
ICameraControlService_SelectSources_InputMessage GetAllLibraries ICameraControlService_SelectSources_OutputMessage GetAllLibrariesResponse ICameraControlService_SelectSources_VideoExceptionF ault_FaultMessage GetAllLibraryGroups
ICameraControlService_ShowDateTime_InputMessage GetAllLibraryGroupsResponse ICameraControlService_ShowDateTime_OutputMessage GetAllSources ICameraControlService_ShowDateTime_VideoException
Fault_FaultMessage GetAllSourcesByType
ICameraControlService_TurnOnAudio_InputMessage GetAllSourcesByTypeResponse ICameraControlService_TurnOnAudio_OutputMessage GetAllSourcesResponse ICameraControlService_TurnOnAudio_VideoExceptionF…
This is the start of the file's text. The full file is on GovTribe.
File details come from the government source that posted it. Updated .