微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于HLA的分布式网络仿真组件的研究实现

基于HLA的分布式网络仿真组件的研究实现

时间:12-06 来源:互联网 点击:
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所示:



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所示。



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top