逻辑靶场对象建模方法研究*

2013-04-23 09:28徐忠富潘毅佳
指挥控制与仿真 2013年2期
关键词:靶场网关逻辑

梁 洁,徐忠富,潘毅佳

(解放军63893部队,河南 洛阳 471003)

现代作战从单军兵种合同作战和多军兵种协同作战向诸军兵种联合作战转变。单一靶场难以提供诸军兵种联合作战训练所需的场地、人员、装备、平台、设备、设施等资源[1]。为了提高部队的联合作战能力,迫切需要整合多个靶场的资源,实现逻辑靶场,积极开展复杂战场环境下的诸军兵种联合训练,练指挥、练协同、练战法。

1 逻辑靶场系统结构

20世纪90年代中期,美军正式发起了三军联合的“试验与训练使能体系结构(Test and Training Enabling Architecture,TENA)”项目,主要目标是建立一个能促进试验靶场、训练靶场、作战实验室和作战仿真系统之间互操作的体系结构标准。TENA依照扩展的C4ISR体系结构框架(ECAF),从运作体系结构、技术体系结构、领域特定软件体系结构、应用体系结构、产品线体系结构等方面,定义了靶场软件开发、集成和互操作的总体技术框架[2-3]。

TENA项目首次提出了逻辑靶场(logical range)这一新概念。与现实的建制靶场相比,逻辑靶场是仅仅存在于特定试验或训练任务期间、集成了各种所需试验训练资源的跨地域、跨军种、跨专业多靶场联合体,逻辑上等同于一个大型综合靶场。如图1所示,在逻辑靶场中,各种试验训练资源基于公共的体系结构标准、对象模型和软件平台,通过高速通信网络,实现信息互联互通,协同完成特定的试验或训练任务。

逻辑靶场的组成部分主要包括逻辑靶场应用、逻辑靶场中间件、逻辑靶场网关、各种仿真系统和仿真设施、试验训练实体装备、C4ISR系统、靶场仪器仪表等。各靶场内部的信息网络建立逻辑靶场组成部分之间的局部连接,广域通信网络实现逻辑靶场组成部分之间跨地域的全局互联。

逻辑靶场应用分布在单个或多个靶场,是由逻辑靶场应用开发人员根据各自需求,编写用户代码,并与所需的逻辑靶场对象定义以及逻辑靶场中间件相编译链接而建立的应用。逻辑靶场应用执行特定试验和训练任务所需的各种功能,包括试验训练环境模拟、数据采集记录、信息分析处理、信息显示存储和管理控制等。

逻辑靶场中间件是实时的、分布式对象计算软件平台,通过统一的应用编程接口,为逻辑靶场应用和逻辑靶场网关之间针对逻辑靶场对象的快速、高效通信提供服务,包括管理逻辑靶场对象、管理逻辑靶场运行、回调逻辑靶场应用、为逻辑靶场应用提供声明订购请求的方法、建立信息公布者和订购者之间的映射、提供一套底层通信机制通过网络发送和接收信息、支持不同级别和类别的服务质量等。

图1 逻辑靶场结构示意图

逻辑靶场网关实现逻辑靶场对象与其它标准和协议之间的所有转换,还提供某个逻辑靶场与其它系统之间的物理连接。常用的逻辑靶场网关包括仿真系统网关、靶场协议网关、指挥控制系统网关、战术接口网关等。在逻辑靶场运行期间,参试/配试或参训/配训的各种实体装备(例如飞机、舰船、车辆等)、仿真系统和仿真设施(例如基于HLA的仿真)、C4ISR系统、靶场仪器仪表等通过网关接入逻辑靶场,参与信息交互。

2 逻辑靶场对象元模型

逻辑靶场运行期间各组成部分之间交换的信息都被编码成逻辑靶场对象。针对这些逻辑靶场对象,逻辑靶场应用和逻辑靶场网关使用逻辑靶场中间件平台提供的服务进行通信。为了在分布式的计算环境中实现逻辑靶场对象的共享,逻辑靶场对象建模必须遵循统一的标准,逻辑靶场对象模型中所有的对象定义必须基于公共的对象元模型,遵循公共对象元模型所定义的语义和句法规范。

通过比对和分析参考文献[2]和[4]中的TENA公共元模型定义,结合TENA技术及其应用的最新进展,参照TENA软件开发活动组(TENA Software Development Activity,TENA-SDA)[5-6]发布的(准)标准 TENA公共对象模型以及若干逻辑靶场对象模型的定义方法,本文将逻辑靶场对象元模型定义为由15种元素组成。如图2所示,逻辑靶场对象元模型共有11种类元元素(包括分布对象类、本地对象类、消息、操作、接口、异常、分布对象指针、基本类型、枚举类型、一维数组、包)和4种关系元素(包括继承、依赖、实现、包含)。

3 逻辑靶场对象模型及其开发方法

3.1 逻辑靶场对象模型

逻辑靶场的基本特征之一是语义层互操作,即通过共享一个对象模型和一套信息交换服务,各种逻辑靶场应用和网关之间互换的信息(包括状态数据、控制命令、音频、视频或遥测数据等)格式统一,内涵明确,进而被正确地订购、发布、传输、解析、处理和运用。

逻辑靶场对象模型采用面向对象方法,基于逻辑靶场对象元模型,封装逻辑靶场训练事件执行期间交换的所有信息,描述与时间、空间位置、方向、速度、加速度、自然环境、平台、装备、传感器、靶场仪器仪表、指控系统、仿真等相关的对象定义、继承和关联关系。在逻辑靶场运行期间,逻辑靶场应用和网关负责对象的实例化,随着训练事件的演化更新对象的状态,交换各种信息。

逻辑靶场对象模型中的对象定义采用对象类来表示,其组成包括:名称(反映该对象类所代表的概念,例如雷达系统)、属性(描述该类对象的公共数据结构,包括属性名称、可视性、类型、多重性等)、操作函数(描述该类对象的行为,包括名称、参数列表和返回类型)。统一建模语言(UML)[7]是标准的面向对象建模语言,提供了丰富的、表达能力强的、标准的、易于使用的建模元素和相应的图形表示,可以用来全面、准确地描述逻辑靶场对象模型。特别是,UML的类图包含类、接口、关系等建模元素,可以用来可视化地描述逻辑靶场对象模型的对象定义、层次结构和关联关系。

图2 逻辑靶场对象元模型组成框图

针对特定训练事件的逻辑靶场对象模型实例化逻辑靶场对象元模型中的类元元素和关系元素:以元模型中的类元为模板定义逻辑靶场对象类,用元模型中的关系元素表示逻辑靶场对象类之间的继承关系和关联关系。例如,在图3所示的与时间相关的逻辑靶场对象模型中,5个本地对象类:UnixTime(表示Unix系统时间)、GpsTime(表示全球定位系统时间)、Date(表示公历日期)、CoordinatedUniversalTime(表示协调世界时)和Time都是逻辑靶场对象元模型中本地对象类的实例,元模型中的组合聚合关系用来描述本地对象类CoordinatedUniversalTime与本地对象类Date之间、以及本地对象类Time与本地对象类UnixTime、GpsTime和Coordinated Universal Time之间的包含关系。

3.2 逻辑靶场对象模型开发方法

开发逻辑靶场对象模型前,要全面系统地分析逻辑靶场运行期间所交换信息的内容和特征。

首先,基于当前训练事件的剧情,分析在逻辑靶场运行期间存在哪些产生信息的信源和接收信息的信宿。信源/信宿包括参与训练执行过程的各种逻辑靶场应用和通过逻辑靶场网关接入逻辑靶场的各种仿真、实体装备、指控系统和靶场仪器仪表。然后,分析这些信源和信宿之间所交换信息的共同之处和不同之处,保留共性,消除冲突。

其次,分析逻辑靶场运行期间所交换信息的特征,总体上,所交换信息可划分为两类:直接从一个应用向分布的多个应用传递的信息和不直接在两个或多个应用之间传递的信息。

图3 与时间相关的逻辑靶场对象模型

对于直接在多个应用之间传递的信息,需进一步分析其存在时间特性。如果信息在逻辑靶场运行期间持续存在,则定义相应的分布对象类,并定义相应的状态属性封装信息;如果短暂存在,则定义相应的消息,并定义相应的状态属性封装信息。例如,假设在某个训练事件中,某部雷达要持续通过一个“雷达系统控制”应用直接向“飞行目标模拟”应用和“数据采集”应用传递雷达的类型、功能、工作状态、最大有效作用距离、目标航迹等信息,则需要定义一个分布对象类“RadarSystem”,并相应地定义5 个状态属性:type、function、status、maximumEffectiveTrackingDistanceMeters和Tracks,用来封装这5种信息。又例如,假设在某个训练事件中,一个“导弹模拟”应用模拟发射导弹,要在导弹发射瞬间向“飞行目标模拟”应用和“数据采集”应用传递导弹发射信息,包括信息序号、发射时刻、导弹类型、导弹的ID、发射平台的ID、发射平台的空间位置、攻击目标的ID等信息,则需要定义一个消息“MissileFire”,并相应地定义7个状态属性:messageID、timeStamp、missileType、missileID、shooter-PlatformID、targetPlatformID 和 positionAtFire,来封装这7种信息。

对于不直接在应用之间传递的信息,则定义相应的本地对象类,并定义相应的状态属性封装信息。例如:在上面的举例中,雷达天线相关的信息(包括孔径、工作模式、扫描方式、扫描速度等)不必通过“雷达系统控制”应用直接向其他应用传递,可直接定义一个本地对象类“Antenna”(包含 aperture、mode、scanType、slewRate 等状态属性),并在分布对象类“RadarSystem”中增加一个以“Antenna”为数据类型的状态属性(即“Antenna”被“RadarSystem”组合聚合),这样,天线状态信息可以作为雷达状态信息的组成部分间接传递给其他应用。

在分析逻辑靶场运行期间所交换信息内容和特征的基础上,逻辑靶场对象模型的开发还应遵循面向对象分析与设计的以下原则。

1)尽量少使用继承关系,以利于对象模型的演化,减少复杂性。

在逻辑靶场对象模型开发中,当希望创建某个对象类,这个对象类与另外的某个对象类包含完全相同的结构和行为特征,并在此基础上增加了某些新特征时,可以使用继承关系,但是,必须遵守继承关系中的可替换原则:子类对象应该能够在期待运用基类对象的所有场合替换基类对象的使用和运作。

继承关系会带来潜在的复杂性,在开发逻辑靶场对象模型时不宜过多使用。在继承关系中,基类元素的变化会引起所有从该基类元素派生出来的子类元素的变化,包含大量继承关系的模型的演化会存在许多麻烦。此外,大量的继承关系还会伤害模型的可读性:为了全面了解某个子类元素的结构和行为,需要了解该子类元素的所有基类元素的结构和行为。因此,不要仅仅因为两个模型元素具备某些公共特征就定义一个并不准备实现和应用的抽象基类,恰当的做法是只针对那些事实上作为重要通信元素的对象集合才定义基类对象类,这样可以避免把逻辑靶场对象模型定义为一个包含很深的继承关系的分类系统,但却不会对其中大量的对象定义进行实例化。

2)尽可能多地通过组合“积木”对象来创建新对象。

继承提供了强有力的类重用机制,但是代价是带来了使用和维护限制。聚合则能更好地实现对象建模中的类重用。

支持对象之间的聚合(即对象包含其它对象作为结构和行为组成部分)是逻辑靶场对象元模型的最重要特征。由于逻辑靶场对象元模型允许对象聚合,逻辑靶场对象模型开发人员可集中精力开发并标准化小的、可重用的“积木”对象(例如时间、位置、方向对象等),因为任何大规模的对象模型几乎总是以小规模的“积木”对象为基础。这些“积木”对象可被作为组成部分,构建其它更加复杂的对象,从而提高对象模型的开发效率。图4给出了一个简化的与雷达系统相关的逻辑靶场对象模型。其中,作为分布对象类Equipment的派生类,分布对象类RadarSystem聚合了可重用的本地对象类Receiver、Transmitter、Antenna、TargetData、UniqueID、Position 和枚举类型 RadarType、Function 和 Status。

对象聚合一般不会带来逻辑靶场对象模型使用和维护方面的困难。但是,为了保证高度的可用性,关于某个“积木”对象的元数据必须涵盖所有包含该“积木”对象的其它对象,从而可以在全局范围内确定并控制该“积木”对象的改变可能带来的影响。

3)使用类似C++指针的分布对象指针建立分布对象之间的松散连接关系。

在逻辑靶场对象元模型中,分布对象指针类似C++中的指针,可用来创建逻辑靶场分布对象之间的“共享聚合”或“关联”关系。这两个关系代表着分布对象之间的一种比较松散的连接:这些分布对象可能具有不同的生命期,甚至处于不同的服务器应用中。分布对象指针是一种分布式指针,允许客户应用引用不同计算机上的分布对象。需要注意的是,大量的分布对象引用会引发大量的远程操作调用,使得网络流量的激增,增加服务开销,占用大量的通信时间,一定程度上导致通信性能下降。

4)应用多态技术来实现对象行为。

图4 简化的与雷达系统相关的逻辑靶场对象模型

逻辑靶场对象模型中的对象定义通常不包括对象操作的实现。对象操作的实现由逻辑靶场应用开发人员完成。同一个对象操作在不同的逻辑靶场应用中可能有不同的实现。例如,某个逻辑靶场应用中的一个“radar”对象可能与另一个逻辑靶场应用中的另一个“radar”对象具有完全相同的接口定义,但因为它们控制两部类型完全不同的雷达,因此两个对象接口所定义的相同操作在两个逻辑靶场应用中的实现并不相同。针对类似的情况,可采用多态技术,以不同的方式实现相同的对象行为。

5)通过接口混合和匹配来定义复杂的对象行为。

接口对定义相关的操作集合很有用,可以通过对接口的混合和匹配来表达复杂的对象行为。

6)使用操作调用进行对象或应用间一对一通信。

针对对象之间的一对一通信,采用调用对象操作的方法。针对应用之间的一对一通信,使用应用管理对象上的适当的操作,而不要为此目的创建一条消息或一个分布对象。

4 结束语

开发逻辑靶场对象模型是实现逻辑靶场各种训练资源互操作的必要条件。本文定义的逻辑靶场对象元模型为逻辑靶场对象建模提供了语义和句法规范,提出的对象模型开发方法为开发适用于各种训练事件的逻辑靶场对象模型集合奠定了基础。

在当前研究的基础上,下一步将主要开展以下工作:一是应用本文的方法,结合应用需求开发通用类、平台类、管理类和装备类逻辑靶场对象模型,建立逻辑靶场对象模型集合;二是对已经实现的逻辑靶场中间件原型进行功能扩充和技术完善,提高其可应用性;三是研究逻辑靶场网关的设计与实现方法。

[1]王维,王振,雷国强,等.美军靶场发展模式及其启示[J].国防科技,2008,29(2):77-80.

[2]U.S.DoD.TENA—The Test and Training Enabling Architecture Reference Document.Version 2002 [R],2002.

[3]王国玉,冯润明,陈永光.无边界靶场——电子信息系统一体化联合试验评估体系与集成方法[M].北京:国防工业出版社,2007.

[4]Noseworthy,J.R.Developing Distributed Applications Rapidly and Reliably Using the TENA Middleware[C].MILCOM,2005.

[5]TENA Software Development Activity(SDA)[EB/OL].2007.[www.tena-sda.org].

[6]Rumbaugh J.面向对象建模与设计[M].北京:中国电力出版社,2004.

[7]钱能.C++程序设计教程[M].北京:清华大学出版社,2006.

猜你喜欢
靶场网关逻辑
刑事印证证明准确达成的逻辑反思
精细化理念推动靶场总装管理体系的构建与实施
基于FPGA的工业TSN融合网关设计
逻辑
创新的逻辑
2021年6月18日,一架F-16战隼在联合太平洋阿拉斯加靶场上空
一种主从冗余网关的故障模式分析与处理
贵阳建首个“大数据安全综合靶场”
基于6LoWPAN的嵌入式多网关系统设计与实现
天地一体化网络地面软网关技术及其应用