TENA与 DDS技术对比分析

2016-10-31 02:27:06任昊利赵洪利
指挥与控制学报 2016年1期
关键词:靶场应用程序分布式

任昊利 赵洪利

实时分布式系统是信息栅格、互联网+和物联网等信息系统的基本框架,这种框架在军事领域应用得更广泛.随着军事信息系统联合、集成需求的不断提出,末端如何接入、如何实现动中通、如何保障实时性以及复杂数据流管控等问题已经成为研究的热门领域.美军为解决上述问题在作战信息系统及试验鉴定信息系统集成方面投入了大量资金,支持研究开发,提出了新的技术,开发出了产品,其中比较有代表性的有试验与训练使能体系结构(Test and Training Enabling Architecture,TENA)和数据分发服务(Data Distribution Service,DDS)技术[1].

为有效确保联合部队的训练和需要协作的联合部队的试验能力,以反映“要有战斗的联合,就必须有训练的联合”的思想,美军于2005年12月启动联合任务环境试验能力(Joint Mission Environment Test Capacity,JMETC)项目的各项课题.JMETC的目标是建设联合试验能力,这种能力能够将分布式的真实的、虚拟的和构造的(Live,Virtual,and Constructive,LVC)资源集成起来.它的开发及使用可以为相关部门在项目开发、研发测试、运行测试、互操作认证,包括在客户特定的联合任务环境中的网络完备性、关键性能参数(Key Performance Parameter,KPP)的仿真演示需求提供支持.JMETC项目采用了TENA来开发新的支撑基础结构的元模型,为JMETC提供了一种已被国防部接受的技术.TENA提供中间件和软件部件,而JMETC虚拟专用网(VPN)提供硬件连接.目前TENA技术已经普遍用于试验鉴定和训练项目中,连接美国所有试验训练靶场,提升了美军的分布式试验和训练能力[2−3].

DDS是OMG发布的有关分布式实时系统中数据传输的一个新的规范(2004年12月发布1.0版,2007年1月发布1.2版)[4].DDS为各种不同的分布式应用提供了数据通信模型,能促使数据实时、高效地分发.DDS是以数据为中心的发布-订阅通信模型,并针对强实时系统进行了优化,提供低延迟、高吞吐量、以及对实时性能的控制等级,从而使DDS能够广泛用于航空航天、国防、分布式仿真、工作自动化、分布式控制、机器人、电信以及网络化的消费电器等多个领域[5].美国国防部2006年已经把DDS列为全球信息栅格(Global Information Grid,GIG)的数据分发标准,目前已在美国的军方及其他各个领域得到了广泛应用.

1 TENA技术架构

1.1 TENA的目标

1)为试验和训练靶场所使用的通信软件提供互操作、可重用并且可组合的体系结构;

2)提供一个稳健的、可靠的且不易误操作的软件基础设施,以便实现该结构.

1.2 TENA的基本框架

TENA的基本框架由TENA应用、TENA工具和TENA公共基础设施3部分构成[6−9],如图1所示.靶场资源应用程序属于TENA应用,由靶场开发者创建,并部署于每个靶场,以执行每天试验与训练中所有的任务.这些应用程序包含显示系统、传感系统、硬件在回路试验台及其他;可靠并可通用的靶场资源应用程序,被指定为TENA工具;所有这些应用程序,通过一个叫作“TENA中间件”的公共软件基础设施通信.TENA中间件负责整个系统运行期间逻辑靶场中应用程序的内部通信.通信的主体是每个逻辑靶场的“逻辑靶场对象模型(Logical Range Object Model,LROM)”定义的一系列对象.这些对象多数从标准的“TENA对象模型”中挑选使用.

图1下半部是TENA功能程序,这些功能程序,使用户更易于实施管理,并在靶场事件生命周期中更易于与TENA基础设施交互.图片的右下角,显示了不同TENA网关所扮演的角色——完全遵从TENA的与那些不遵从TENA的(包含基于HLA的仿真)系统间的桥梁.网关负责执行用于逻辑靶场的TENA对象与用于非TENA系统的其他标准和协议间的翻译.网关具有双重性:它们是TENA逻辑靶场与其他非TENA应用程序“联盟”二者的一部分.网关也可以提供TENA逻辑靶场与其他网络之间的物理连通.

2 DDS技术架构

2.1 DDS的目标

1)为解决国防和太空应用中跨域异构系统的数据分发问题而设计;

2)实时、可信和高性能的发布/订阅中间件,其语义可通过一组丰富的(Quality of Service,QoS)策略[5,10]进行控制.

2.2 DDS的基本框架

DDS是OMG关于分布式实时系统中数据发布/订阅模型的一个规范.DDS规范为基于DDS构建的软件定义了规范的接口和结构.如果分层描述基于DDS的应用系统,DDS层将位于应用层与通信层之间,如图2所示.

基本的DDS结构分为两个层次:

1)底层是以数据为中心的发布/订阅层(Data Centric Publish Subscribe,DCPS).DCPS层是DDS规范的核心层,提供有效的、可扩展的、能感知的数据订阅分发,可以按照数据主题、发布者和订阅者的不同QoS策略来传递数据.

图1 TENA体系结构

图2 DDS层位置关系图

2)数据本地重构层(Data Local Reconstruction Layer,DLRL).它构建在DCPS层之上,可以选择使用,提供可选择的、面向对象的接口,能把主题映射到对象,建立起关联关系,使分布式的数据可以为本地对象和远程对象所共享.

在DDS架构中,DCPS层是核心,提供了实现DDS的核心功能.DCPS构建在“全局数据空间(Global Data Space,GDS)”概念的基础上,所有相关应用都可以访问该全局数据空间.DCPS模型又分为平台独立模型(Platform Independent Model,PIM)和平台专门模型(Platform Specific Model PSM),PSM是以PIM为基础的OMG IDL平台,应用最多的是平台独立模型.向数据空间提供信息的应用即为“发布者”,从数据空间中获取数据的应用即为“订阅者”,同一个应用可以兼有发布者和订阅者的角色,而且分布式节点中也可以存在多个不同应用.

在DDS规范中,定义DCPS层的核心实体有:域(Domain)、域参与者(Domain Participant)、主题 (Topic)、发布者 (Publisher)、数据写入者(Data Writer)、订阅者(Subscriber)、数据读入者(Data Reader)等.这些实体完成了DDS的数据分发功能,它们之间的相互关系和主要动作如图3所示.

图3 实体概念图

DDS规范的一个显著特点是定义了多种QoS策略.这使得基于DDS的服务能够充分利用系统资源,协调可预测性与执行效率之间的平衡,支持复杂多变的数据流需求.

3 对比分析

两者解决的问题是相同的,它们都想把分布式的异构的系统集成在一起达到系统无缝连接的目的,只是应用的场合各自有所侧重.

3.1 各自的优势

TENA和DDS各自优势对比情况如表1所示.

表1 TENA和DDS各自优势对比

3.2 层级关系

从数据分发、通信的角度看,它们都在操作系统之上,应用层之下.TENA分两层,一层是TENA中间件层,这层主要功能是通过事件运行期间为靶场资源应用程序间提供高性能、低延迟的实时通信,主要负责在联合试验、训练时将逻辑靶场“束”在一起.这一层相当于DDS的DCPS层+Real-Time Publish/Subscribe Protocol(RTPS)+DDS Interoperability Wire Protocol层,如图4所示,其中,RTPS层是OMG于2009年1月制定了以增强不同版本互操作性为目的的规范,在这个版本中,增加了实时发布订阅RTPS层协议;另一层是代理/服务体层,它相当于DDS的DLRL层.

3.3 基本概念对比

TENA和DDS的基本概念对比如表2所示.

表2 TENA与DDS基本概念表

3.4 元模型对比

一个元模型,就是对可用于阐述对象模型的特征的描述说明.TENA对象模型必须支持3类服务.这些服务针对不同类型的靶场信息提供基本功能,而这些信息需要编码并标准化.这3类服务可以总结为:1)逻辑靶场(状态分布式对象(Stateful Distributed Object,SDO))中,有一定寿命的对象;2)短暂的对象(消息);3)流动信息(数据流).TENA元模型支持描述所有构建对象模型的信息,这些信息是使用上述3种服务来传送的.

“合成”是TENA元模型最重要的方面.构造SDO的能力对创建可再用TENA对象定义的标准集合是关键的.因为TENA元模型准许合成,TENA对象模型开发者可关注小的、可再用的、“积木”式对象的标准化上,而不是一口气定义整个对象模型.TENA元模型如图5所示,说明了元模型的所有要素以及它们之间的关系.

类(Class):一个类,是一个状态分布式对象服务体.

流缓冲器:流缓冲器是SDO类的一个特殊属性,它提供了分发数据流的一个终点.数据流中信息本身分割到框架中,每个框架编码成向量或是值类型.

接口:是指为描述数据类型而汇集在一起的连续的一个或多个操作(方法签名).一个接口可以扩展(或继承)多个其他接口(或从多个接口继承).它可以由SDO类执行,或由数值类型执行.

操作:指的是方法签名,包含了返回类型与一系列参数.参数可以指定为“进”(只有输入)、“出”(只有输出),或“进出”(可输入输出).返回类型与参数可以是列举、基本类型、参考、向量或数值类型.

列举:表示用户定义的类型,该类型可获得几个预定义值中的一个值.列举包含于数值类型或向量中.列举可以用作参数,也可作为操作的返回值.

基本类型:一个基本类型是指信息中不可分割片断的类型.基本类型可以包含于数值类型与向量中.基本类型可以当作参数与操作返回值来使用.

图4 TENA和DDS层级对比关系图

图5 TENA元模型

引用:一个引用代表一个指向SDO类的分布式指针.使用对SDO的引用,用户可以直接控制该SDO.当一个用户使用(解除引用)一个引用时,它获得一个对SDO的代理,包括SDO发布状态的当前版本.引用可以包含于数值类型、向量.它们可以当作参数与操作返回值使用.

向量:向量是一个相同类型元素序列.一个包含其他向量的向量,是一个有效的构造,所以向量支持逻辑靶场开发者期望的任何层次的合成.一个向量可以是一组相似类型的数值类型、基本类型、列举或引用.一系列相似类型的SDO类向量,可以包含于其他类中.向量可以当作参数与操作返回值使用.向量可以包含在数值类型中.

数值类型:一个值类型,就是一个仅本地存在于给定进程空间的对象,但可以通过“数值”从一个进程传送到另一个进程.最重要的数值类型隐式包含SDO类的发布状态.数值类型可当作消息体与数据流框架使用.

TENA与DDS原模型的基本要素对比如图6所示.

4 结论

目前,有些单位提出,把TENA和DDS混合使用,取长补短.通过研究认为,可能会出现以下问题:

1)在两个应用程序中以相同名称定义数据类型,但它们存在于在不同的结构体定义中,DDS的主题监听器监听不到数据;

2)编译器指令(例如为结构体定义关键字)在供应商间并未标准化,这使接口定义语言(IDL)文件不能标准化;

3)“主题”概念在TENA中没有,将TENA中信息类型翻译为主题需要新的方法来为数据建模;

4)DDS的应用程序接口某种程度上过于复杂,使得编译时容易出现异常;

5)DDS的某些供应商不支持发送方过滤.

TENA是美国军方支持的技术,虽然声称公开部分软件,但还存在一些壁垒;DDS源码可以在OMG网站上下载.下一步的工作准备开发、完善DDS使用工具,希望通过工具降低DDS的使用门槛,取得事半功倍的效果,让系统工程师借助工具很快搭建系统基础平台,实现系统集成.

图6 TENA与DDS原模型的基本要素对比图

猜你喜欢
靶场应用程序分布式
圆梦靶场
精细化理念推动靶场总装管理体系的构建与实施
2021年6月18日,一架F-16战隼在联合太平洋阿拉斯加靶场上空
军事文摘(2021年15期)2021-08-11 13:01:12
删除Win10中自带的应用程序
电脑报(2019年12期)2019-09-10 05:08:20
靶场光电经纬仪最优布站方法研究
测控技术(2018年3期)2018-11-25 09:45:50
分布式光伏热钱汹涌
能源(2017年10期)2017-12-20 05:54:07
分布式光伏:爆发还是徘徊
能源(2017年5期)2017-07-06 09:25:54
基于DDS的分布式三维协同仿真研究
雷达与对抗(2015年3期)2015-12-09 02:38:50
西门子 分布式I/O Simatic ET 200AL
关闭应用程序更新提醒
电脑迷(2012年15期)2012-04-29 17:09:47