0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于HLA技术的新型底层通信组件的设计与实现

电子设计 来源:现代电子技术 作者:朱永文,朱永军 2021-02-01 09:59 次阅读

1 引 言

仿真技术作为人类第三种认识、改造客观世界的重要手段已经深入应用到各个领域并取得了很多成果,如军事、电力、以及能源等。在各类应用需求的作用下仿真技术已经发展形成综合性的专业技术体系,特别是DIS,HLA等技术的发展给仿真的应用带来了新的机遇。

分布式协同工作网络系统(Distributed CollaborativeWorking Network System)是指分布在不同平台上的多个处理系统,通过TCP/IP网络进行数据交互,完成同一个任务,达到快速解决问题及实现协同工作。作为DIS和HLA仿真系统中底层必备的网络通信模块,在实际开发中各Agent封装自己底层通信模块,分布式各节点只暴露他对外通信接口,因此使各个节点的通信细节不明确、耦合度很差;造成开发资源的极大浪费,以及开发成本的增加。同时也让仿真系统开发人员需要花大部分精力对底层通信进行调试,这种工作非常繁琐,同时也不易进行。本文将重点介绍应用在HLA仿真系统中新型底层通信组件设计方案及实现方法。

2 HLA简介及组件开发模型

2.1 HLA高层体系结构

分布交互仿真(DIS)技术从产生(SIMENT计划)到DIS2.X,IEEE1278.X系列协议和ALSP协议制定,进而发展到今天的HLA,都是力图解决系统建模与系统仿真(Modeling and Simulation,M&S)领域存在的问题:绝大多数仿真器的应用实现较为独立,仿真器之间的互操作性和重用性差;开发、维护和使用费时且成本高;可验证性、有效性和置信度较差。HLA就是从体系结构上建立这样的一个框架,他能尽量涵盖M&S领域中所涉及的各种不同类型仿真系统,并利于他们之间的互操作性和重用性。同时能利用不断发展的新技术,来满足复杂大系统的仿真要求。HLA按照面向对象的思想和方法来构建仿真系统,他的基本思想是不考虑如果有对象构造成员,而是在假设已有成员的情况下考虑如何构建联邦。采用面向对象的方法来设计、开发和实现方针系统的对象模型(OM)以获取联邦的高层次的互操作和重用。虽然HLA本身不能完全实现互操作,但他定义了实现联邦成员互操作的体系结构和集中,提供灵活的仿真框架。由各联邦成员和运行支持环境RTI(Run-Time Infrastrueture,运行时间基础结构或运行支撑环境)一起构成一个分布式仿真系统,用于集成分布的各种联邦成员,在联邦运行时提供各种标准的服务,并具有良好的可扩充性。主要包含联邦管理、声明管理、对象管理、所有权管理、时间管理和数据分发管理。一个典型的机遇HLA的仿真逻辑结构图如图1所示:

基于HLA技术的新型底层通信组件的设计与实现

2.2 底层网络通信组件模型

基于组件开发(Component-Based Development,CBD)是当前的最新发展阶段,是解决软件复用和重用的突破点,能更好地满足目前软件开发的需求。他是经过封装的、定义完备接口可发布的软件包,提供特定的服务,并期望得到外部特定的接口输入。从某种程度上说他也是一种程序接口,实现系统模块之问的互操作和重用。每个组件包含一组属性、事件和方法,组合若干组件就可以生成设计者所需要的特定程序,并能集成到其他软件产品中。应用程序开发者可以购买现成的组件,他们只要利用现有的组件,再加上自己的业务规则,就可以开发一个应用软件。总之,组件开发技术使软件设计变得更加简单和快捷,并极大地增强软件的重用能力。他相对系统软件体系独立的不关心软件系统业务实现,因此可以独立于系统软件的开发,从而降低软件调试困难。

本网络底层通信组件主要为解决基于HLA分布式仿真应用系统中底层网络通信接口通信,分布各仿真模拟器节点的网络数据交换,以及网络通信服务质量(QOS)的保证。提高系统运行的时效、完整的数据报文交换、及数据报文的丢失解决、冗余数据检测等。下面是为HLA分布式仿真系统设计的网络通信组件的设计的模型结构图,各仿真模拟器节点通过他实现对整个模拟交换和互操作,实现协同完成系统模拟仿真工作。仿真模型结构如图2所示。

3 仿真网络组件设计与实现

3.1 仿真网络通信组件的设计

本网络通信组件采用CORBA设计思想对网络底层通信协议异步套接字(Socket)进行的封装,统一实现对整个系统的通信的支持。CORBA(公共对象请求代理架构) 由OMT提出,用于在不同进程(程序)之间,甚至是不同物理机器上的进程(程序)之间通讯。底层技术依靠RPC(远程过程调用)实现。面向对象的软件,以数据为中心设计,对象类既具有模块的封装性和类属等特性,还具有继承特性,极大地提高了类的可扩充性和可再用能力。对象类较之于传统软件的功能模块而另具有的优点是:易于理解,具有完整的语义特征;易于扩充和修改,具有较高的通用性和适应性;易于构造组装,具有规范的外部接口。

基于CORBA的对象请求代理ORB为客户机/服务器开发提供了中间件的新格式。把IDL说明编译为面向对象程序设计语言的实代码后,客户可以调用已知对象的操作。在某些应用中,用户并不了解应用接口编译信息,但也要求调用对象的操作,这时就要动态调用接口来调用用户的操作。具体的对象操作的调用实际上是用动态调用接口来完成的。在基于HLA仿真应用系统的各个仿真节点实现互操作,及协同工作完成整个仿真任务都是通过网络数据进行数据交换,及对数据报文进行解析、分发、操作实现的任务协同,因此对于HLA仿真应用对整个TCP报文或者UDP报文采用统一的格式,例如:对整个系统环境网、系统模拟仿真网络中传输的TCP,UDP报文采用统一的报文标识,如系统仿真时统UDP报文标示为0x1,那么在仿真系统中收到标识为0x1的UDP报文。各个分布式仿真节点将对该报文进行时统系统对时,实现整个仿真系统的时间一致行,保证对整个仿真过程中时间与现实的同步,选择异步Socket进行自我封装成能够符合HLA仿真系统的报文传输要求。同时组件的设计安装面向对象设计的一般过程、软件工程的要求。

设计如下的组件的结构如图3所示。

3.2 通讯组件的实现

作为一种通信组件,他不仅需要完成上层HLA仿真主程序给他的发送报文的分发及从其他仿真节点收到的仿真数据报文的解析,还提供对外清晰的交互接口。同时作为仿真工作的一个部件,他需要工作在一个复杂的网络环境中,在不能很多程度上与占有宝贵的分布式处理机的处理时问,作为网络组件经常会在某些时间,等待连接、或者等待数据报文而发生严重的阻塞,以及需要不断的监听端口,从而耗费处理机时间,信号Windows提供了异步SOCKET的API接口使得组件设计能够一直以异步方式工作的应用层,不断向网络层接收和发送数据报文。但是单纯实用原始异步SOCKET的API接口仍然不能满足某些特定的要求,不能很好地融入HLA仿真应用系统中去。因此首先对Windows提供的异步SOCKET套接字CAsyncSocket进行特定封装。

下面给出部分封装代码:

在应用中申请一个组件的主构造类,在该类中去实例化经过封装的异步套接字来进行底层网络数据的收发,组件实例可以接收到初始化该组件的操作句柄,完成配合仿真节点完成仿真主题工作,数据的交互,数据的处理等。

下面是主题组件的实体类。

仿真节点只要向组件发送一启动命令(IniComponent(HWND m_hWnd))组件就将启动并完成组件的初始化,如组件全局SOCKET的版本请求、版本协商、经过封装后的异步套接字实例化、SOCKET通信API的实例初始化等。同时组件完成初始化以后,组件将一直开始监听本机指定端口、并等待接收本仿真节点的消息发送命令等。仿真节点在按照HLA仿真体系中规定的报文协议填写完成数据报文以后,只需要调用组件对外的接口函数:Send-Data(char *bur,char*pDataCode,char*pIDNode)即能完成把报文发送到指定目的仿真接点,协同完成仿真模拟任务。组件在接收到网络消息的时候调用OnReceive(intnErrorCode)进行报文的预处理,确定是否需要仿真节点处理该报文。如首先对接收到的报文进行长度分析如果长度很小为系统发送确认报文,就不需要仿真主程序进行处理,为仿真节点主处理器节省处理时间。如果长度超过一定长度,是仿真节点中协同报文的话,组件将首先对报文得到报文标识头(GetNodeByName(char*IdNode,CString strPeerAddress))然后进行报文解析,并向仿真主程序发送消息函数::PostMessage(…)到主程序中,进行最终的报文处理工作;如界面更新、数据交互处理等,同时组件线程在完成了对解析以后需要对发送方发送解析和成功解析报文,以确认发送方的发送报文别目的节点成功接受并成功解析。

4 结 语

基于HLA高层体系结构的分布式仿真系统中通过分布在不同物理点的分布式仿真节点,借助网络进行数据报文交互、仿真同步、仿真协同完成对真实世界的模拟。作为仿真系统在必备的通信模块,在频繁地设计和不断地重写,在一个特定的仿真领域中需不同的仿真网络通信模块,重复的开发和设计使得各个仿真节点之间的交互需要不断地协调协议接口;不统一的设计方案也同样让仿真开发人员陷入重复工作的泥潭中。本文针对以上的开发弊端,采用现代软件设计思想,组件的开发设计模式,使得代码得以最大程度上的共享,并易于调试。他使得仿真开发人员能够花最小的时间和代价协调网络通信模块,从而集中精力在仿真主题功能的设计和实现上。在实际应用中本仿真组件清晰、而又简单的对外接口,对基于HLA分布式仿真应用系统功能开发者基本上不需要了解他的设计和实现,就能很好地使用本组件完成通信要求,从而将最大程度上为开发者节省项目时间、项目花费。

组件采用异步SOCKET套接字进行自封装,隐藏了组件通信如何进行的过程,从而不必要求对HLA传真系统功能开发者关心底层网络通信是如何进行的。同时组件工作的异步模式下,对系统不会产生过大的资源浪费,同时也能很好地满足HLA分布式仿真节点的实时性要求。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    7637

    浏览量

    148462
  • 通信
    +关注

    关注

    18

    文章

    5706

    浏览量

    134379
  • 仿真系统
    +关注

    关注

    1

    文章

    94

    浏览量

    20516
收藏 人收藏

    评论

    相关推荐

    面向多媒体数据通信的分级缓冲机制的研究与实现

    【作者】:张鹏飞;【来源】:《测控技术》2010年03期【摘要】:在包含多媒体通信需求的高层体系结构(HLA,high level architecture)系统中,一项关键性需求就是在HLA
    发表于 04-22 11:53

    MEMS技术实现新型显示应用

    更新等信息的近眼显示双目镜就在你的眼前显示信息。这只是有可能用基于微机电系统 (MEMS) 的投影显示技术实现技术进步的几个创新型应用示例。基于MEMS的TI TI DLP® Pic
    发表于 09-06 14:58

    ARM嵌入式板卡能否实现DDS或HLA

    现有现成的板卡,采用ARM作为主芯片,但是需求需要板卡能接收仿真DDS/HLA的协议报文,并处理,这种方案能实现吗?
    发表于 08-06 15:27

    娱乐版HLA分型网页升级了 精选资料分享

    之前做了一个简单的网页,使用23andme格式+snp2hla软件获得hla分型数据,当然准确性不咋的,也就玩玩,上线后为大约100+人提供了服务,这是伯值得骄傲的事,因为第一次能为大家提供服务
    发表于 07-26 06:33

    HarmonyOS任意组件实现通信的方式

      HarmonyOS任意组件实现通信的方式  组件间的通信主要作用是能在组件间传递数据或者执行
    发表于 03-25 15:55

    基于HLA和Agent的电子对抗仿真系统构建

    综合运用基于HLA和Agent的建模仿真技术,设计开发分布式的仿真联邦,研究基于HLA的Ageng通信控制、本体模型在Agent知识水平通信
    发表于 04-11 09:50 27次下载

    基于HLA的指挥自动化训练仿真系统

    在分析某军事指挥自动化系统需求的基础上,设计基于HLA的总体方案,采用软硬件相结合的思想实现通信联邦成员。介绍联邦对象模型模板(OMT)的设计与实现方法,给出所有联邦成员
    发表于 04-16 10:55 24次下载

    基于COM技术的串口通信组件的设计

    分析了目前对串口编程存在的问题,介绍了COM技术及其在RS232串口通信的应用,指出使用组件相对于ActiveX控件及Windows API编程的优点。基于COM技术设计的串口
    发表于 09-02 09:06 17次下载

    基于HLA的导弹攻防仿真系统的设计与实现

    基于HLA 建立仿真应用系统是提高作战仿真活动效率的有效途径。分析了导弹攻防仿真系统的功能,并依据HLA的基本概念、方法和原理对分布式导弹攻防仿真系统进行系统设计,建
    发表于 09-03 09:53 26次下载

    基于HLA的导弹攻防仿真系统的设计与实现

    基于HLA 建立仿真应用系统是提高作战仿真活动效率的有效途径。分析了导弹攻防仿真系统的功能,并依据HLA的基本概念、方法和原理对分布式导弹攻防仿真系统进行系统设计,建
    发表于 12-12 13:59 17次下载

    基于HLA的雷达探测能力仿真系统设计

    以对空情报雷达探测系统为研究对象,提出了基于HLA的对空情报雷达探测能力仿真结构。以高层体系结构作为技术框架,分析了仿真系统的特点和实现功能,设计了联邦对象并实现了联
    发表于 02-21 11:29 40次下载

    基于HLA和网络服务的协同仿真环境

    详细介绍了HLA和web SERVICE的综合方法。为了把这种构架扩展为一个以专业技术为基础的复杂的产品设计系统,提出了基于HLA和网络服务的协同仿真环境
    发表于 05-26 16:03 19次下载
    基于<b class='flag-5'>HLA</b>和网络服务的协同仿真环境

    HLA系列模拟输出型激光传感器技术规格

    HLA系列模拟输出型激光传感器通过直接反射实现高精度距离测量。 1、 长距离微小光点检测。测定范围内1~2mm。(HLA-D130A) 2、 高精度距离测量 HLA-D130A的测定范
    发表于 10-25 14:26 2次下载
    <b class='flag-5'>HLA</b>系列模拟输出型激光传感器<b class='flag-5'>技术</b>规格

    基于DDS和HLA联合仿真系统

    应用层和数据通信层的分离,仿真联邦节点通过RTI通信HLA的优势在于解决了分布式仿真系统的互操作性和仿真组件的可重用性。然而,HLA的C
    发表于 11-01 16:18 10次下载
    基于DDS和<b class='flag-5'>HLA</b>联合仿真系统

    基于HLA高层体系结构的新型底层通信组件实现与设计方案

    仿真技术作为人类第三种认识、改造客观世界的重要手段已经深入应用到各个领域并取得了很多成果,如军事、电力、以及能源等。在各类应用需求的作用下仿真技术已经发展形成综合性的专业技术体系,特别是DIS,
    的头像 发表于 10-18 07:58 2129次阅读
    基于<b class='flag-5'>HLA</b>高层体系结构的<b class='flag-5'>新型</b><b class='flag-5'>底层</b><b class='flag-5'>通信</b><b class='flag-5'>组件</b>的<b class='flag-5'>实现</b>与设计方案