虚拟试验支撑平台的制作方法

文档序号:6380395阅读:256来源:国知局
专利名称:虚拟试验支撑平台的制作方法
技术领域
本发明涉及一种虚拟试验支撑平台,此平台实现跨地域的分布式试验资源的数据共享和模型集成管理,为虚拟试验提供支撑环境,在此基础上可以开展复杂航天产品系统级虚拟试验,属虚拟试验领域。
背景技术
复杂航天产品的复杂程度高、设计难度大、研发周期短、试验次数(尤其是飞行试验)少,试验验证技术作为其研制过程中的重要手段发挥着关键作用。传统的研制模式依赖大量地面试验的验证,使得研制周期和经费要求高,且经常存在设计反复,在当前研制周期和技术发展的迫切需求下,存在一定局限。现有试验验证手段的缺乏和试验验证水平的滞后,无法为复杂航天产品研制过程的顺利开展提供支持。近年来提出的虚拟试验验证技术可以弥补传统研制模式的不足,虚拟试验验证是一种基于数字样机模型的复杂产品关键·系统试验数据产生、获取和分析的系统工程过程,以建模仿真、虚拟现实和知识工程方法为基础,在一个由性能模型、耦合环境、流程引擎和可视化交互机制构成的数字化试验平台中模拟真实产品的物理试验过程。在虚拟试验支撑平台方面,美国国防部开发了试验与训练使能体系结构 TENA (Test and Training Enabling Architecture,简称TENA),以提高虚拟试验验证中的互操作、可重用性和组合性,它可以根据具体的任务将分布在各实验室和靶场设施中的试验、训练、仿真和高性能计算资源集成起来,构成多个联合试验验证的“逻辑靶场”,该体系结构应用侧重于军方需求。如何结合我国航天产品的研制过程对虚拟试验验证技术的需求,实现一套虚拟试验支撑平台,实现航天产品设计与虚拟试验验证同步开展,目前尚未形成完整的解决方案。

发明内容
本发明的技术解决问题是克服现有技术的不足,提供一种虚拟试验支撑平台,解决复杂航天产品研制试验过程中的异构性、实时性、可交互性等问题,对试验验证过程进行规范化,并具有灵活性、通用性、实时性及可扩展性的特点,能满足工程应用或跨行业应用中的扩展需求。本发明的技术解决方案是虚拟试验支撑平台,包括虚拟试验数据支撑子系统、虚拟试验中间件子系统、虚拟试验资源集成子系统和虚拟试验工具集子系统,其中虚拟试验数据支撑子系统,根据试验验证的需求,存储虚拟试验分布式对象模型、试验资源和试验数据,为试验验证活动提供数据管理支撑;虚拟试验中间件子系统,虚拟试验系统执行期间,为试验对象和试验资源间的实时通信和调度提供通信支撑平台;虚拟试验资源集成子系统,建立符合虚拟试验中间件子系统接口要求的虚拟试验分布式对象模型,将建立的对象模型储存在虚拟试验数据支撑子系统;虚拟试验工具集子系统,从虚拟试验数据支撑子系统中获取试验模型,根据具体的虚拟试验需求和试验目的,对试验规模、参与的试验设备进行规划形成试验方案,调用虚拟试验中间件子系统,对试验过程进行调度管理。还包括虚拟试验集成开发门户子系统,该系统实现各子系统软硬件资源的统一管理和展示。所述的虚拟试验分布式对象模型通过编译器编译框架代码和自定义代码得到,其中框架代码自动生成的步骤如下(I)定义一种虚拟试验分布式对象模型的描述语言;(2)对使用步骤(I)中所述语言描述的虚拟试验分布式对象模型而生成的文本文件进行词法分析;(3)根据所述描述语言的元模型,利用语法分析器生成工具生成语法分析器; (4)根据词法分析的结果,使用所述语法分析器对所述文本文件进行语法分析,并将得到的语法分析结果存放到中间表示数据结构中;(5)建立所述描述语言与IDL语言的映射关系,将步骤(4)中间表示数据结构中存放的语法分析结果中的数据类型转化为IDL语言中的数据类型,并调用IDL编译器生成数据类型所对应的虚拟试验分布式对象模型框架代码,所述IDL语言为CORBA接口定义语言;(6)构建分布式对象模型模板,之后利用所述文本文件中对虚拟试验分布式对象模型进行的描述替换所述分布式对象模型模板中相应的标签,从而直接转化为虚拟试验分布式对象模型框架代码。所述步骤(2)中所述进行词法分析具体为以字符为单位扫描所述文本文件,跳过空白符号,若扫描到的单词为所述描述语言的保留字,则返回该保留字所对应的属性编码,否则返回该单词的字符串,直到该文本文件扫描完毕,即完成了对该文本文件的词法分析。所述的虚拟试验中间件子系统包括时间推进模块、运行管理模块、交互管理模块、回调管理模块及应用程序接口 API ;时间推进模块、运行管理模块、交互管理模块、回调管理模块均通过事件通道传送数据,所述事件通道是指TAO的ORB中的事件通道对象;所述 TAO(The ACE ORB)是基于 ACE 按照实时 CORBA(Common Object RequestBrokerArchitecture)标准实现的 ORB (Ob ject Request Broker) ;ACE 指自适应通信环境,即 Adaptive Communication Environment ;时间推进模块,负责整个虚拟试验应用系统的时间推进,时间推进模块分为时间客户端和时间服务端两部分;时间客户端调用运行管理模块的命名服务获取事件通道,利用事件通道将虚拟试验应用程序需要发送的时间请求发送给时间服务端;时间客户端还利用事件通道从时间服务端接收推进时间,并通知虚拟试验应用系统中的应用程序;时间服务端提供逻辑时间推进和实时时间推进两种服务,逻辑时间推进为全数学模型搭建的虚拟试验应用系统接入提供推进服务,实时时间推进为有半实物或实物设备搭建的虚拟试验应用系统接入提供服务,时间服务端通过读取配置文件确定时间推进方式;逻辑时间推进时,时间服务端通过事件通道接收来自应用程序发送的时间推进请求,存储在以优先级队列实现的时间队列中,定时从队列中取最小的时间通过事件通道发送给应用程序;实时时间推进时,定时将从实时操作系统或实时设备包括实物设备或半实物设备获取的精确的真实时间通过事件通道发送给应用程序;运行管理模块,为时间推进模块、交互管理模块提供命名服务;创建与销毁事件通道;创建与销毁试验域,并对试验域内的应用程序的加入和退出进行管理;所述试验域为虚拟试验应用程序的集合;交互管理模块,调用运行管理模块的命名服务获取事件通道,维护虚拟试验应用系统中的对象交互和消息传递,保证对象和消息的正确交互,并提供远程方法调用功能;对象交互包括对象发布、对象订阅和对象更新,消息传递包括消息发布、消息订阅和消息发送;回调管理模块,接收事件通道推送的数据,根据数据类型构建不同的回调对象,在不同时刻唤醒回调对象,执行回调对象相应的方法触发回调,调用虚拟试验应用系统中的应用程序的应用逻辑代码;应用程序接口 API,对上述四个模块中时间推进模块的时间客户端功能,运行管理·模块中的试验域管理功能,交互管理模块的对象交互和消息传递功能,回调管理模块中的回调唤醒功能进行封装,为虚拟试验应用系统中的应用程序提供使用接口。所述运行管理模块包括命名服务模块、事件通道管理模块和试验域管理模块,分别提供命名服务、事件通道和试验域管理;命名服务模块通过TAO的命名服务实现,为时间推进模块、交互管理模块提供命名服务,提供名字到对象的查找和定位服务。事件通道管理模块,管理事件通道的创建与销毁,事件通道的创建流程为首先读取配置文件中连接命名服务的通信方式,初始化0RB,并获取命名服务;设置事件通道属性参数,调用构造函数创建事件通道对象;调用命名服务的绑定操作,将事件通道对象绑定到命名服务,供时间推进模块、交互管理模块、回调管理模块引用;事件通道的销毁通过调用析构函数实现;试验域管理模块包含试验域的创建、销毁,试验域内应用程序的加入和退出功能,通过命名服务创建不同的名字空间实现试验域的创建,当该试验域不再使用或要强制销毁该试验域时,通过调用试验域的析构函数来实现试验域的销毁;试验域管理模块为每个域维护一个应用程序集合,应用程序加入域时在对应域的应用程序集合中添加应用程序名称,应用程序退出域时,删除对应域的应用程序集合中的应用程序名称。所述交互管理模块包括关系表模块、对象交互模块、消息传递模块、远程方法调用模块关系表模块为对象交互模块和消息传递模块提供查询服务,存储了虚拟试验应用系统中的对象和消息的名称到对应ID的映射关系;对象交互管理模块通过应用程序接口API得到需发布或订阅的对象名称,查找关系表模块中对应的ID,通过运行管理模块中的命名服务找到事件通道,调用事件通道对象的接口设置过滤条件,并重新连接事件通道完成对象的发布或订阅;对象交互管理模块通过应用程序接口 API得到需更新的对象数据,并对数据的类型进行转换,调用事件通道的推送接口更新数据;消息传递管理模块通过应用程序接口 API得到需发布或订阅的消息名称,查找关系表模块中对应的ID,通过运行管理模块中的命名服务找到事件通道,调用事件通道对象的接口设置过滤条件,并重新连接事件通道完成消息的发布或订阅;消息传递模块通过应用程序接口 API得到需发送的消息数据,并对数据的类型进行转换,调用事件通道的推送接口发送消息;对象数据缓存一直到试验对象被销毁,消息为瞬间数据,发送完成后被销毁,不缓存;远程方法调用模块通过CORBA实现。所述回调管理模块中构建的回调对象分为四种类型发现回调、销毁回调、状态改变回调和消息回调;当虚拟试验应用系统中应用程序调用交互管理模块提供的发布对象应用程序接口 API时,立即触发发现回调;当虚拟试验应用系统应用程序调用交互管理模块提供的取消对象发布应用程序接口 API时,立即触发销毁回调;当虚拟试验应用程序调用交互管理模块提供的对象更新应用程序接口 API时,且应用程序调用唤醒回调应用程序接口 API时,触发状态改变回调;当事件通道接收到消息时,立即触发消息回调。本发明与现有技术相比有益效果为(I)在虚拟试验过程中,虚拟试验分布式对象模型、试验资源和试验数据等数据存储管理服务都从虚拟试验数据支撑子系统中获取,充分实现了试验资源的共享和可重用。 (2)本发明采用的虚拟试验中间件,利用安全可靠的应用程序接口构建虚拟试验应用的方式,提供分布式对象通信能力,实现虚拟试验应用逻辑和通信解耦,实现了互操作,提高虚拟试验的开发效率,缩短开发周期,降低试验系统开发成本。(3)本发明在建立虚拟试验对象模型的过程中,其框架代码采用自动生成的方式,完成对象模型从描述语言文本到标准C++语法格式的对象模型框架的转变,减少了应用开发人员的工作量,提高了应用开发效率。(4)本发明的虚拟试验工具集,提供了在现有模型资源和中间件基础上快速对虚拟试验进行方案设计和运行的工具,便于对试验过程进行管理,增强了本平台在使用过程中的友好性。(5)本发明采用层次化的平台结构,通过分层次设计的支撑平台,可以充分实现平台的灵活性、通用性,平台中目前已包含了开展虚拟试验所需的基本模块,接口开放,可从各个层次进行工具扩展。(6)在本发明所实现的支撑平台基础上可以进行航天复杂产品的单机虚拟试验和全系统集成虚拟试验,从产品整体性能的角度考核各系统协同工作的能力,为分系统及总体的设计方案验证提供了支撑。(7)本发明中间件子系统同时具备逻辑时间和实时时间推进的能力,既能满足全数学模型的虚拟试验应用推进需求,又能满足半实物、实物设备接入的虚拟试验应用推进需求。(8)本发明中间件子系统基于ACE/TA0实现,使虚拟试验应用具备跨平台、可移植、实时等特性,能满足复杂大规模虚拟试验的需求。(9)本发明中间件子系统利用安全可靠的应用程序接口构建虚拟试验应用的方式,提供分布式对象通信能力,实现虚拟试验应用逻辑和通信解耦,实现了互操作,提高虚拟试验的开发效率,缩短开发周期,降低试验系统开发成本。(10)本发明给出的虚拟试验分布式对象描述语言元模型,描述了虚拟试验分布式对象的类和数据结构,以及它们之间的关系,实现了虚拟试验分布式对象的标准化描述,有助于虚拟试验分布式对象的重用和组合,实现试验资源的充分利用。(11)本发明给出的虚拟试验分布式对象模型框架代码自动生成方法,支持对虚拟试验分布式对象描述语言语法进行正确性、一致性的检查,提高应用开发的可靠性。


图I为本发明的虚拟试验支撑平台组成结构图;图2为本发明中间件子系统组成结构框图;图3为本发明中间件子系统的时间推进服务模块实现图;图4为本发明中间件子系统的时间客户端和服务端的启动流程图;
图5为本发明中间件子系统的事件通道创建流程图;图6为本发明交互管理服务模块实现图;图7为本发明的对象发布更新流程图;图8为本发明回调服务相关类设计图;图9为本发明回调服务回调对象执行流程图;图10为本发明应用程序接口调用流程图;图11为本发明虚拟试验分布式对象模型的生成流程;图12为本发明框架代码自动生成流程图;图13为本发明虚拟试验分布式对象描述语言的元模型描述图。
具体实施例方式下面结合附图及实施例对本发明做详细的说明,具体如下如图I所示,本发明的虚拟试验支撑平台包括5个子系统,分别是虚拟试验数据支撑子系统、虚拟试验中间件子系统、虚拟试验资源集成子系统和虚拟试验工具集子系统。下面详细介绍每个子系统的具体实现方法。一、虚拟试验数据支撑子系统虚拟试验数据支撑子系统,存储虚拟试验分布式对象模型;以及动态存储虚拟试验执行期间产生的试验资源和试验数据,为试验验证活动提供数据管理支撑;具体可以采用中国专利ZL201010240156. 9发明名称“一种虚拟试验数据对象化管理系统”来实现。I)离线存储服务离线存储服务负责存储虚拟试验分布式对象模型,实现步骤如下将虚拟试验分布式对象模型所需存储的文件及文件类型信息进行整理后,使用上述专利中的试验数据类设计工具建立自定义数据类,通过上述专利中的数据库生成工具,建立离线储存数据库。2)在线存储服务在线存储服务负责动态存储虚拟试验执行期间使用的试验资源(如,转台等半实物试验设备)和产生的试验数据,实现步骤如下将虚拟试验执行期间产生的试验数据进行收集,并存储为标准格式,将存储后的数据给“ZL201010240156. 9 一种虚拟试验数据对象化管理系统”中的数据管理引擎,由数据访问接口模块或web访问模块进行数据的存储。将试验资源和试验数据所需存储的文件及文件类型信息进行整理后,按照使用上述专利中的试验数据类设计工具建立自定义数据类,通过上述专利中的数据库生成工具,建立在线储存数据库。二、虚拟试验中间件子系统虚拟试验中间件子系统,虚拟试验系统执行期间,为试验对象和试验资源间的实时通信和调度提供通信支撑平台;相关技术术语说明ACE(AdaptiveCommunication Environment,自适应通信环境)将操作系统的通信、调度、并发服务以优秀的设计模式进行封装,支持多种操作系统,包括Windows、UNIX、Linux、Vxfforks0 TAO是基于ACE遵循实时CORBA标准实现的0RB。TAO (The ACE ORB)是基于 ACE 按照实时 CORBA (Common Object RequestBrokerArchitecture)标准实现的 ORB(0bject Request Broker)。如图2所示,本发明所述的中间件子系统是基于开源项目AGE/TA0实现。本发明在ACE/TA0基础上构建四个模块,包括时间推进模块、运行管理模块、交互管理模块、回调管理模块,并将四个模块的功能封装成易用的应用程序接口 API供试验人员使用。 时间推进模块主要用于向虚拟试验应用提供同步推进策略,保证整个试验正确有序的进行。时间推进模块提供逻辑时间推进和实时时间推进两种服务。如图3所示,时间推进模块分为时间客户端和时间服务端两部分。时间客户端由初始化模块、发送端、接收端和时间服务接口四个模块组成。时间服务端由初始化模块、发送端、接收端、实时时钟获取、时间队列、和时间推进策略六个子模块。时间对象由IDL文件定义。其中,时间客户端和服务端的启动流程类似,在初始化模块中实现,读取配置文件中连接命名服务的通信方式完成ORB初始化,连接命名服务,连接事件通道并运行0RB。具体流程如图4所示。首先初始化ORB ;获得命名服务对象,并通过命名服务找到不同域对应的事件通道对象;发送端获取Consumer代理,接收端获取Supplier代理;设置Qos表达发布订阅信息,客户端和服务端设置的Qos信息必须一致;连接事件通道;接收端启动线程并运行0RB,等待接收数据。时间客户端的功能以DLL(动态链接库)的形式封装,供应用程序调用。发送端模块将应用程序需要发送的时间对象转换成CORBA Any类型,调用Consumer代理的push函数发送时间;当有时间对象到达时,事件通道调用接收端的push回调函数。push函数在接收端实现,主要完成从事件集中提取事件并将CORBA =Any类型数据转换成时间对象类型,并存储,同时通知应用程序可以读取时间。时间客户端主要提供三个时间服务接口 SendTime O ,向时间服务端发送请求时间;WaitTimeForwardO ,等待时间服务器允许推进;GetTime O,时间服务器允许推进后,调用此接口获取当前时间。时间服务端的发送端和接收端的实现方式与时间客户端一致。时间服务端提供逻辑时间推进和实时时间推进两种策略。初始化时,时间服务端读取配置文件,确定时间推进方式。逻辑时间推进时,时间服务端通过接收端接收来自应用程序发送的时间,并存储在时间队列中。时间队列采用优先级队列实现,时间服务器根据设置好的时间步长定时从队列中取最小的时间通过发送端发送给应用程序。实时时间推进时,维护一个精确定时器,定时通过实时时钟获取模块从操作系统或实时设备(半实物/实物设备)获得精确的真实时间,并将时间通过发送端发送给应用程序。运行管理模块为时间推进模块、交互管理模块中的分布式对象提供名字到对象引用的映射的命名服务;创建与销毁事件通道;创建与销毁试验域,并对虚拟试验应用系统中的试验域内应用的加入和退出进行管理;由命名服务和事件通道管理、试验域管理三个模块组成。
上述的命名服务由命名服务模块实现。在命名服务中,通过将对象赋予唯一标识来确定服务对象。通过指定对象的名字,解析命名服务,实现对服务对象的查找和定位。命名服务通过封装TAO的命名服务实现,提供初始化、运行、绑定、取消绑定,关闭等操作。上述的创建与销毁事件通道由实现事件通道管理模块实现。事件通道的创建流程如图5所示。首先读取配置文件中连接命名服务的通信方式初始化0RB,并获取命名服务;设置时间通道属性参数,将consumer_reconnect和supplier_reconnect置为I,支持事件通道重连,调用TAO_EC_Event_Channel构造函数创建事件通道对象;调用命名服务的绑定操作,将事件通道对象绑定到命名服务,供其它服务引用。事件通道的销毁通过调用ΤΑ0_EC_Event_ChanneI析构函数实现。试验域管理模块包含试验域的创建、销毁,试验域内应用的加入和退出等功能。试验域拥有不同的试验域名称,通过在命名服务下创建不同的名字空间实现。每个试验域调用事件通道管理创建本试验域的事件通道。当该试验域不再使用或要强制销毁该试验域时,通过调用试验域的析构函数来实现试验域的销毁,并调用事件通道的销毁操作。试验域管理模块为每个域维护一个应用程序集合。应用程序以试验域名称为参数调用加入试验域 函数,若该试验域已经存在,则返回试验域名称对应的试验域,并在对应域的应用程序集合中添加应用程序名称;若该试验域不存在,则创建新的试验域,同时并在对应域的应用程序集合中添加应用程序名称。试验域的加入主要通过查找试验域集合来完成,试验域集合是一个Map < string, Domain >,查找试验域时,匹配Map的第一个关键字,若匹配成功,贝Ij返回TRUE ;若匹配不成功,则仓Il建新的试验域,并将试验域名称与新的试验域的pair对加入到试验域集合中。应用程序退出域时,删除对应域的应用程序集合中的应用程序名称。交互管理模块主要负责维护整个分布式系统中的对象与消息传递,保证对象的正确交互和兴趣管理,并提供远程方法调用功能。如图6所示,交互管理服务分为关系表模块、对象交互模块、消息传递模块、远程方法调用四大子模块。关系表模块包括类型仓库、对象仓库;对象交互模块包括对象发布、状态更新、对象订阅;消息传递模块包括消息发布、消息发送、消息订阅。关系表模块维护发布者和订阅者之间的类层次关系,为试验系统中的订阅提供支持。为了实现发布者和订阅者类型和对象的一致性,通过维护类型仓库和对象仓库来实现发布者和订阅者的类型和对象的关联,保证类型和对象在试验域内的全局唯一性。在一个试验域内,类型仓库和对象仓库供试验域全局使用。类型仓库使用两张表分别记录对象类型和消息类型的名字到ID的映射,其中类型名字为字符串主要用于接口参数的传递,而类型ID则在设置Qos信息表达发布订阅关系时使用。为保证实现类型标识符到类型ID的一一映射,每一种类型分配一个库中唯一的ID。同时,类型仓库维护一个继承关系表表示类的层次结构,使用邻接链表实现存储。表中每个元素代表一种类型,元素的内容是一张记录该类型所有子类类型的表。对象仓库与类型仓库类似,使用两张表分别记录类型实例对象和消息对象的名字到ID的映射。对象交互模块负责对象的发布/订阅和更新如图7所示。对象更新首先需要发布对象。对象的发布是通过在连接事件通道前,修改事件通道Qos信息来实现。将对象的类型名和实例名通过类型仓库和对象仓库转化为ID,再将类型ID和实例ID传递给ORB中ACE_ConsumerQOS_Factory类的insert方法,修改Qos信息实现对象的发布。对象发布后,先将对象数据转化为CORBA :Any,调用Consumer代理的push函数完成对象更新。对象的订阅通过修改Qos信息向事件通道表达订阅兴趣实现,订阅完成后,等待时间通道回调PushConsumer接口的push回调函数。消息传递模块的实现方式与对象交互模块一致。对象和消息的区别在于对象数据会在系统中缓存一直到试验对象被销毁,消息为瞬间数据,发送完成后就被销毁,不会在系统中缓存。远程方法调用的实现通过CORBA的RMI实现,由Stub和Skeleton两部分完成的,在远程方法调用的过程中,订阅者端通过Stub与CORBA的ORB进行交互,发布者通过CORBA的Skeleton与ORB进行交互,这样订阅者就可以通过Stub和Skeleton实现对发布者的方法调用。回调管理模块接收事件通道推送的数据,根据数据类型构建不同的回调对象,在不同时刻执行回调对象相应的方法触发回调,调用应用程序的应用逻辑代码。回调模块 提供四种类型的回调发现回调、销毁回调、状态改变回调和消息回调。当第一次发布对象时,回调管理模块会立即触发发现回调;当取消发布对象时,回调管理模块会立即触发销毁回调;当更新对象时,且应用程序调用evokeCallback应用程序接口时,回调管理模块会触发状态改变回调;当接收到消息时,回调管理模块会立即触发消息回调。回调的相关类图设计如图8所示。Callback为回调对象的基类,其定义了抽象接口 execute。DiscoveryCallbacklmpK DestructionCallbacklmpK StateChangeCalIbacklmpl 和MessageCalIbacklmpl都继承接口 Callback,它们的execute方法由应用程序人员填写回调处理逻辑。Proxy为远程服务对象的代理,其维护一个Callback回调队列,并提供evokeCalIback函数唤醒回调并执行回调函数。如图9所示,当事件通道的Push回调函数接收到所订阅的数据后,将该数据类型与订阅的数据类型进行匹配,然后利用匹配成功的数据更新本地代理对象的值。同时判断收到数据的事件头标志位,如果对象第一次发布,则调用发现回调对象的回调函数execute,如果是取消发布,则调用销毁回调对象的回调函数execute,如果不是发现或销毁回调,则利用本地代理对象构建状态改变或消息回调对象,并存入回调队列。当应用程序调用evokeCallback服务时,回调管理模块判断回调队列是否为空,如果不为空则取出回调队列队头回调对象并调用其回调方法execute。为方便虚拟试验人员使用,将四个模块的功能封装成应用程序接口 API,主要分为四类I)运行管理(I) JoinDomain,加入试验域;(2) ExitDomain,退出试验域。2)交互管理(I)PublishVIO,发布对象;(2)UnPublishVI0,取消发布对象;(3) SubscribeToVIO,订阅对象;(4) UnSubscribeVIO,取消订阅对象;(5) UpdateVIO,更新对象
(6) PublishMessage,发布消息;(7)UnPublishMessage,取消发布消息;(8) SubscribeToMessage,订阅消息;(9)UnSubscribeMessage,取消订阅消息;(10) SendMessage,发送消息。3)时间模块(I) SendTime,向时间服务器发送请求推进时间;(2) WaitTimeForward,等待时间服务器允许推进; (3) GetTime,获得当前推进时间。4)回调管理模块(I) evokeCallback,唤醒状态改变或消息回调。应用程序调用API的流程如图10所示I)应用程序调用运行管理模块的接口加入试验域;2)应用程序调用交互管理模块接口发布对象或消息,订阅对象或消息;3)应用程序调用时间推进模块接口请求时间推进;4)应用程序调用时间推进模块接口等待时间推进,时间推进模块允许应用程序推进;5)应用程序调用时间管理模块接口得到当前系统时间;6)应用程序调用回调管理模块接口唤醒回调,回调管理模块触发回调,调用应用程序的应用逻辑代码;7)应用程序调用交互管理模块接口更新对象;8)应用程序调用交互管理模块接口发送消息;9)重复执行3 8;10)应用程序退出时,调用交互管理模块接口取消发布对象或消息,取消订阅对象或消息;11)应用程序调用运行管理模块接口退出域。三、虚拟试验资源集成子系统虚拟试验资源集成子系统,建立符合虚拟试验中间件子系统接口要求的虚拟试验分布式对象模型,将建立的对象模型储存在虚拟试验数据支撑子系统;虚拟试验分布式对象模型的生成流程如图11所示,其代码包括框架代码和用户自定义代码两部分。其中,框架代码通过代码生成工具自动生成如图12所示,具体生成步骤如下(I)定义一种虚拟试验分布式对象模型的描述语言(VDL);本发明采用如下定义方式如图13所示为虚拟试验分布式对象描述语言的元模型描述图,描述了虚拟试验分布式对象的状态分布对象(Class)、消息对象(Message)、本地对象(Local Class)、向量(Vector)、接口 (Interface)、枚举(Enumeration)、状态分布对象指针(Class Pointer)、基本类型(Fundamental Type),以及它们之间的继承、组合、聚合关系。状态分布对象是复杂数据类型,描述虚拟试验的对象模型,具有状态发布和远程方法调用功能。状态分布对象包含成员及方法。其中,状态分布对象的成员具有状态发布的功能,可以是其他状态分布对象、基本类型、指向自身或者指向其他状态分布对象的指针、向量、枚举、本地对象;状态分布对象的方法是远程方法,可被虚拟试验中的其他分布式对象远程调用。状态分布对象可以实现接口。状态分布对象可以继承状态分布对象,支持多重继承,不支持多继承。消息对象是复杂数据类型,描述虚拟试验的突发事件,具有消息发布的功能。消息对象包含成员及方法。其中,消息对象的成员具有状态发布的功能,可以是其他消息对象、基本类型、状态分布对象指针、向量、枚举、本地对象;消息对象的方法是本地方法,只能在本地调用。消息对象可以继承消息对象,支持多重继承,不支持多继承。本地对象是复杂数据类型,描述虚拟试验对象模型中的结构体。本地对象包含成员及方法。其中,本地对象的成员不具有状态发布的功能,可以是其他本地对象、基本类型、状态分布对象指针、向量、枚举;本地对象的方法是本地方法。本地对象可以继承本地对象,支持多重继承,不支持多继承。本地对象可以作为方法的参数和/或返回值的类型。·向量是一个可以在运行时动态调整大小的线性表,其所有成员是同一种类型。向量只包含成员,成员可以是基本类型、状态分布对象指针、枚举、本地对象。向量可以作为方法的参数和/或返回值的类型。接口主要作用是封装方法,并可以由状态分布对象实现。接口只包含方法,且至少包含一个方法。接口可以继承接口,支持多继承和多重继承。枚举类型用于定义有名符号的集合,提高模型的可读性,本质上是一种取值范围受限的整数类型。枚举可以作为方法的参数和/或返回值的类型。状态分布对象指针指向状态分布对象,便于描述状态分布对象的聚合关系。状态分布对象指针可以作为方法的参数和/或返回值的类型。基础类型用于定义虚拟试验分布式对象的基本属性。基础类型包含short、unsignedshort、long、unsigned long、long long、unsigned long long、float、double、char、boolean、octet、string、void,其含义等同于C语言中的数据基础类型。基础类型可以作为方法的参数和/或返回值的类型。本发明中的保留字包括PACKAGE、ENUM、identifier、EXCEPTION、LOCAL、CLASS、EXTENDS、IMPLEMENTS, PRIVATE、READONLY、ONEWAY、VECTOR、VOID、RAISES、IN、OUT、INOUT,MESSAGE、INTERFACE、SHORT、UNSIGNED、LONG、FLOAT、DOUBLE、CHAR、BOOLEAN、OCTET、STRING、NAME_DEUMITER。(2)对使用步骤(I)中所述语言描述的虚拟试验分布式对象模型而生成的文本文件进行词法分析,即以字符为单位扫描所述文本文件,跳过空白符号,若扫描到的单词为所述描述语言的保留字,则返回该保留字所对应的属性编码,否则返回该单词的字符串,直到该文本文件扫描完毕,即完成了对该文本文件的词法分析。(3)根据所述描述语言的元模型,利用语法分析器生成工具生成语法分析器;本发明中语法分析器生成工具采用YACC(Yet Another Compiler Compiler)。(4)根据词法分析的结果,使用所述语法分析器对所述文本文件进行语法分析,并将得到的语法分析结果存放到中间表示数据结构中。本发明采用的中间表示数据结构与所述元模型相对应。中间表示数据结构有一个主表(顶层列表),它记录了所述元模型中的状态分布对象、消息对象、本地对象。主表的每一项所要表示的数据结构是不同的,它们的共性部分有名字和类型。而相异部分用一个联合数据结构来表示。该联合数据结构可以表示的是记录状态分布对象的数据结构、记录消息对象的数据结构、记录本地对象定义的结构。以记录状态分布对象的数据结构为例,它包含4个方面的主要信息该状态分布对象所实现的接口、该状态分布对象所继承的VIO (可以是O个或I个)、该状态分布对象所包含的所有方法成员的结构、该状态分布对象所包含的所有数据成员的结构。(5)建立所述描述语言与IDL语言(接口定义语言,Interface DescriptionLanguage)的映射关系,所述IDL语言为CORBA (公共对象请求代理体系结构,CommonObjectRequest Broker Architecture)接口定义语言,提供了一套通用的数据类型,用来描述产生对象调用请求的客户对象和服务对象之间的接口的语言。将步骤(4)中间表示数据结构中存放的语法分析结果中的数据类型转化为IDL语言的数据类型,如本地方法的映射规则为规则I :虚拟试验分布式对象描述语言中localclass数据类型映射为IDL的 valuetype 类型。规则2 :localclass类型的属性成员映射到valuetype的属性成员。规则3 :localclass 类型中的保留字 private、readonly,映射为 valuetype 中的public保留字。规则4 docalclass类型中定义的方法不进行映射,在步骤6中通过模板生成。将所述描述语言数据类型转化为IDL语言的数据类型后,利用已有的成熟技术CORBA实现虚拟试验分布式对象模型间的底层数据通讯,即调用IDL编译器生成数据类型所对应的虚拟试验分布式对象模型框架代码。(6)构建虚拟试验分布式对象模型的分布式架构功能模板,所述模板描述了虚拟试验分布式对象模型之间的交互功能,为应用层提供发布/订阅、远程方法调用等基础服务,是一系列C++头文件及源文件的集合。本发明中,设计了如状态更新回调功能、对象销毁回调功能、远程方法调用功能等模板。之后利用所述文本文件中对虚拟试验分布式对象模型进行的描述替换所述分布式对象模型模板中相应的标签,从而直接转化为虚拟试验分布式对象模型框架代码。应用开发人员在开发虚拟试验分布式对象模型时,不需要关心虚拟试验分布式对象模型之间交互功能的具体实现机制,只需要在相关功能模板中填写虚拟试验分布式对象模型的逻辑代码即可。用户自定义代码,应用开发人员根据试验对象的功能,在生成好的虚拟试验分布式对象模型框架代码中找到所需实现的方法(属于状态分布对象、消息对象成员或本地对象),添加试验对象具体功能的实现函数,对成员进行状态更新,并发送相应的消息对象。框架代码和用户自定义代码,可通过VC编译器生成可重用、可组合的虚拟试验分布式对象模型。举例,如坦克的虚拟试验分布式对象模型,包含自身位置属性、模型初始化方法和坦克位置移动的具体计算方法,模型初始化时设定初始位置、开始运动时间、运动速度,坦克位置按照匀速直线方式移动。坦克在其位置变化时发出运动消息,与其他模型之间进行信息交互,发送其自身位置及与目标的距离。按VDL对其进行定义如下,在TANK_V0M包中包括一个状态分布对象TANK和一个消息对象TankMove,文件名为TANK-vl. vdl。
package TANK—VOM {
class TANK//坦克对象模型
{
SP_V0M:Position ps; //自身位置属性
void init(in string initName);//模型初始化方法 boolean tankMove(); //坦克位置移动的具体计算方法
};
message TankMove//坦克运动消息
{
double t;Il消息发出时间
SP_VOM::Position ps; //坦克自身位置double dis;//与目标的距离
}; };编译生成框架代码后,试验对象开发人员在init (in string initName)函数中填写设定初始位置、开始运动时间、运动速度的代码;在tankMoveO函数中实现匀速直线运动方程,按初始化设定发出坦克运动消息、更新对象成员状态。对框架代码和用户自定义代码进行编译,形成坦克的虚拟试验分布式对象模型。四、虚拟试验工具集子系统虚拟试验工具集子系统,从虚拟试验数据支撑子系统中获取对象模型,根据具体的虚拟试验需求和试验目的,对试验规模、参与的试验设备进行规划形成试验方案,调用虚拟试验中间件子系统,对试验过程进行调度管理;I)试验规划从虚拟试验数据支撑子系统中获取试验模型,根据具体的虚拟试验需求和目的,形成试验方案;试验方案是虚拟试验的静态描述文件,记录参与试验的模型、设备和环境边界条件,并负责对试验模型进行初始配置。具体步骤如下I. I)试验规模规划,设定试验方案名称,参与试验的试验对象模型类型及数目、试验设备类型及名称;I. 2)试验信息流,确定所有试验对象模型或设备之间的接口关系,包括对象模型的成员变量状态更新和消息交互,形成对象模型类、实例之间的发布订购关系;I. 3)试验参数设置,包括对象模型初始参数配置、对象模型与应用程序之间的关联、时间控制方式等内容。2)试验调度根据试验方案,调用虚拟试验中间件子系统,对试验过程进行管理。具体实现如下
2. I)试验方案解析。导入试验方案,将参加试验的对象模型初始化为多个对象实例,并将初始参数配置给相应的对象实例。2. 2)对象实例管理。试验运行过程中,一个对象模型可同时存在多个实例,建立试验对象实例列表对实例进行管理。试验对象实例列表负责在内存中存储试验对象实例信息,根据试验时间的推进更新实例数目、所在机器等信息,支持实例的遍历和查询等管理功倉泛。2. 3)运行状态和事件管理。对象实例会根据对象模型的用户自定义代码中实现的方法进行状态更新,并发送相应的消息对象,建立试验对象实例状态列表对实例状态进行管理,建立事件缓冲池对消息进行管理。试验对象实例状态列表,建立在共享内存或者本地内存中,提高状态更新的效率。事件缓冲池中根据时间推进信息将对象实例产生的消息按FIFO、FILO和优先级的方法排序,根据需要调用相应对象模型的远程方法或者激活状态更新。以一个简单的虚拟试验应用为例,试验中包含两个试验对象,坦克和导弹。坦克对象的定义如前所述,导弹对象与其类似,当两者距离进入一定范围时对坦克进行拦截,击中 后发出导弹击中坦克(MissileHitTank)消息。导弹需订购坦克的状态更新及TankMove消息。分别在TANK-vl. vdl中定义了 TANK对象和TankMove消息,MISSILE-vl. vdl中定义了MISSILE对象和MissileHitTank消息。首先从虚拟试验数据支撑子系统中获取对象模型定
义及其实现,进行试验规划后所生成的试验方案如下<Scenario name="land">
//参与试验的试验对象模型及信息流 <VOMs vom_number = "2">
<VOM vom_name="VOM 1" instance_name="tank1 ">
<VIOIns vio_number = "0">
</VIOIns>
<VI00uts vio_number = "1">
<VIO name="VITA::TANK_VOM::TANK" instance_name="tank"vdl_name="TANK-v1"/>·
</VIOOuts>
<Messagelns Inmess一number = "1">
〈Messagemessage_name="VITA::MISSILE_VOM::MissileHitTank"
vdl_name="MISSILE-v1"/>
</Messagelns>
<MessageOuts Outmess—number = "1">
<Messagemessage_name="VITA::TANK_VOM::TankMove"
instance_name = "tankMove" vdl_name="TANK-v1 "/>
</MessageOuts>
</VOM>
<V〇M vom_name="VOM2" >
<VIOIns vio_number = "1">
<VIO name="VITA::TANK_VOM::TANK" instance_name="tank"vdl_name="TANK-v1"/>
</VIOIns>
<VIOOuts vio_number = "1">
<VIO name="VITA::MISSILE_VOM::MISSILE" instance_name="missile"vdl_name="MISSILE-v1'7>
</VI00uts>
<Messagelns Inmess—number = "1">
<Messagemessage_name="VITA::TANK_VOM::TankMove"
instance_name = "tankMove" vdl_name="TANK-v1 "/>
</Messagelns>
<MessageOuts Outmess一number = "1">

<Message message_name="VITA::MISSILE_VOM::MissileHitTank"vdl_name="MISSILE-v1 "/>
</MessageOuts>
</VOM>
</VOMs>
//试验参数设置 <APPs app_number="2">
<App name="tank" vom_number = "1">
<VOM vom_name="VOM17> <Monitor isopened="TRUE" />
<TimeRegulation flag = "3"/>
</App>
<App name="missile" vom一number = "1">
<VOM vom_name="VOM27>
<Monitor isopened-'TRUE" />
<TimeRegulation flag = "3"/>
</App>
</APPs>
</Scenario>试验运行时,根据试验方案实例化坦克对象实例tank和导弹对象实例missile,调用试验对象方法对tank、missile进行状态更新,missile在接收到TankMove消息后,对接收到的tank状态进行拦截判断,在满足拦截条件时发送MissileHitTank消息。五、虚拟试验集成开发门户子系统虚拟试验集成开发门户子系统,实现各子系统软硬件资源的统一管理和展示。 虚拟试验集成开发门户子系统包括访问环境、开发环境、编译环境、测试环境和部署环境。其中,访问环境通过与虚拟试验数据支撑子系统的集成实现对象模型、中间件、资源集成及工具集等资源的访问、下载和发布;开发环境基于Eclipse实现代码编辑工具、C++语法规范和可重用资源库;编译环境将调用资源集成系统及编译器生成试验系统的执行程序;测试环境将编译好的虚拟试验系统在虚拟试验中间件中运行,实现试验系统的在线调试,提示执行过程中的异常和错误;部署环境是将经测试的虚拟试验系统发布到虚拟试验数据支撑子系统中,实现应用共享,并通过在试验机器上启动虚拟试验中间件服务,实现虚拟试验系统的自动部署。本系统的使用用户可分为对象模型开发者和应用开发者两类。其中,对象模型开发者,主要实现对象模型的下载、开发过程的记录和对象模型的发布。试验应用开发者,主要实现对象模型的下载、运行中间件的安装、应用基础开发环境的搭建和虚拟试验应用系统开发。虚拟试验支撑平台可以为复杂航天产品研制过程中的虚拟试验应用提供从试验设计阶段到试验运行阶段再到试验分析阶段的全生命周期的支持,具体使用流程如下(I)在试验方案制定阶段通过虚拟试验集成开发门户子系统访问已有各类资源,使用虚拟试验资源集成子系统完成对象模型的定义与开发,并将开发过程中的各类数据保存到虚拟试验数据支撑子系统,使用虚拟试验工具集进行试验规划,形成试验方案。(2)在试验运行阶段根据试验方案,使用虚拟试验工具集在虚拟试验中间件上进行试验调度,由虚拟试验数据支撑子系统提供动态的试验数据收集和存储功能,在试验结束后提交到虚拟试验数据支撑子系统。(3)在试验分析阶段 由虚拟试验数据支撑子系统提供试验结果的查询、下载,供试验数据分析。本发明未详细说明部分属于本领域技术人员公知常识。
权利要求
1.虚拟试验支撑平台,其特征在于包括虚拟试验数据支撑子系统、虚拟试验中间件子系统、虚拟试验资源集成子系统和虚拟试验工具集子系统,其中 虚拟试验数据支撑子系统,根据试验验证的需求,存储虚拟试验分布式对象模型、试验资源和试验数据,为试验验证活动提供数据管理支撑; 虚拟试验中间件子系统,虚拟试验系统执行期间,为试验对象和试验资源间的实时通信和调度提供通信支撑平台; 虚拟试验资源集成子系统,建立符合虚拟试验中间件子系统接口要求的虚拟试验分布式对象模型,将建立的对象模型储存在虚拟试验数据支撑子系统; 虚拟试验工具集子系统,从虚拟试验数据支撑子系统中获取试验模型,根据具体的虚拟试验需求和试验目的,对试验规模、参与的试验设备进行规划形成试验方案,调用虚拟试验中间件子系统,对试验过程进行调度管理。
2.根据权利要求I所述的虚拟试验支撑平台,其特征在于还包括虚拟试验集成开发门户子系统,该系统实现各子系统软硬件资源的统一管理和展示。
3.根据权利要求I或2所述的虚拟试验支撑平台,其特征在于所述的虚拟试验分布式对象模型通过编译器编译框架代码和自定义代码得到,其中框架代码自动生成的步骤如下 (1)定义一种虚拟试验分布式对象模型的描述语言; (2)对使用步骤(I)中所述语言描述的虚拟试验分布式对象模型而生成的文本文件进行词法分析; (3)根据所述描述语言的元模型,利用语法分析器生成工具生成语法分析器; (4)根据词法分析的结果,使用所述语法分析器对所述文本文件进行语法分析,并将得到的语法分析结果存放到中间表示数据结构中; (5)建立所述描述语言与IDL语言的映射关系,将步骤(4)中间表示数据结构中存放的语法分析结果中的数据类型转化为IDL语言中的数据类型,并调用IDL编译器生成数据类型所对应的虚拟试验分布式对象模型框架代码,所述IDL语言为CORBA接口定义语言; (6)构建分布式对象模型模板,之后利用所述文本文件中对虚拟试验分布式对象模型进行的描述替换所述分布式对象模型模板中相应的标签,从而直接转化为虚拟试验分布式对象模型框架代码。
4.根据权利要求3所述的虚拟试验支撑平台,其特征在于所述步骤(2)中所述进行词法分析具体为 以字符为单位扫描所述文本文件,跳过空白符号,若扫描到的单词为所述描述语言的保留字,则返回该保留字所对应的属性编码,否则返回该单词的字符串,直到该文本文件扫描完毕,即完成了对该文本文件的词法分析。
5.根据权利要求I或2所述的虚拟试验支撑平台,其特征在于所述的虚拟试验中间件子系统包括时间推进模块、运行管理模块、交互管理模块、回调管理模块及应用程序接口API ;时间推进模块、运行管理模块、交互管理模块、回调管理模块均通过事件通道传送数据,所述事件通道是指TAO的ORB中的事件通道对象;所述TAO (The ACE ORB)是基于ACE按照实时 CORBA (Common Object Request Broker Architecture)标准实现的 ORB (0bjectRequest Broker) ;ACE 指自适应通信环境,即 Adaptive CommunicationEnvironment ;时间推进模块,负责整个虚拟试验应用系统的时间推进,时间推进模块分为时间客户端和时间服务端两部分;时间客户端调用运行管理模块的命名服务获取事件通道,利用事件通道将虚拟试验应用程序需要发送的时间请求发送给时间服务端;时间容户端还利用事件通道从时间服务端接收推进时间,并通知虚拟试验应用系统中的应用程序;时间服务端提供逻辑时间推进和实时时间推进两种服务,逻辑时间推进为全数学模型搭建的虚拟试验应用系统接入提供推进服务,实时时间推进为有半实物或实物设备搭建的虚拟试验应用系统接入提供服务,时间服务端通过读取配置文件确定时间推进方式;逻辑时间推进时,时间服务端通过事件通道接收来自应用程序发送的时间推进请求,存储在以优先级队列实现的时间队列中,定时从队列中取最小的时间通过事件通道发送给应用程序;实时时间推进时,定时将从实时操作系统或实时设备包括实物设备或半实物设备获取的精确的真实时间通过事件通道发送给应用程序; 运行管理模块,为时间推进模块、交互管理模块提供命名服务;创建与销毁事件通道;创建与销毁试验域,并对试验域内的应用程序的加入和退出进行管理;所述试验域为虚拟试验应用程序的集合; 交互管理模块,调用运行管理模块的命名服务获取事件通道,维护虚拟试验应用系统中的对象交互和消息传递,保证对象和消息的正确交互,并提供远程方法调用功能;对象交互包括对象发布、对象订阅和对象更新,消息传递包括消息发布、消息订阅和消息发送; 回调管理模块,接收事件通道推送的数据,根据数据类型构建不同的回调对象,在不同时刻唤醒回调对象,执行回调对象相应的方法触发回调,调用虚拟试验应用系统中的应用程序的应用逻辑代码; 应用程序接口 API,对上述四个模块中时间推进模块的时间客户端功能,运行管理模块中的试验域管理功能,交互管理模块的对象交互和消息传递功能,回调管理模块中的回调唤醒功能进行封装,为虚拟试验应用系统中的应用程序提供使用接口。
6.根据权利要求5所述的虚拟试验支撑平台,其特征在于所述运行管理模块包括命名服务模块、事件通道管理模块和试验域管理模块,分别提供命名服务、事件通道和试验域管理; 命名服务模块通过TAO的命名服务实现,为时间推进模块、交互管理模块提供命名服务,提供名字到对象的查找和定位服务。
事件通道管理模块,管理事件通道的创建与销毁,事件通道的创建流程为首先读取配置文件中连接命名服务的通信方式,初始化0RB,并获取命名服务;设置事件通道属性参数,调用构造函数创建事件通道对象;调用命名服务的绑定操作,将事件通道对象绑定到命名服务,供时间推进模块、交互管理模块、回调管理模块引用;事件通道的销毁通过调用析构函数实现; 试验域管理模块包含试验域的创建、销毁,试验域内应用程序的加入和退出功能,通过命名服务创建不同的名字空间实现试验域的创建,当该试验域不再使用或要强制销毁该试验域时,通过调用试验域的析构函数来实现试验域的销毁;试验域管理模块为每个域维护一个应用程序集合,应用程序加入域时在对应域的应用程序集合中添加应用程序名称,应用程序退出域时,删除对应域的应用程序集合中的应用程序名称。
7.根据权利要求5所述的虚拟试验支撑平台,其特征在于所述交互管理模块包括关系表模块、对象交互模块、消息传递模块、远程方法调用模块关系表模块为对象交互模块和消息传递模块提供查询服务,存储了虚拟试验应用系统中的对象和消息的名称到对应ID的映射关系;对象交互管理模块通过应用程序接口 API得到需发布或订阅的对象名称,查找关系表模块中对应的ID,通过运行管理模块中的命名服务找到事件通道,调用事件通道对象的接口设置过滤条件,并重新连接事件通道完成对象的发布或订阅;对象交互管理模块通过应用程序接口 API得到需更新的对象数据,并对数据的类型进行转换,调用事件通道的推送接口更新数据;消息传递管理模块通过应用程序接口 API得到需发布或订阅的消息名称,查找关系表模块中对应的ID,通过运行管理模块中的命名服务找到事件通道,调用事件通道对象的接口设置过滤条件,并重新连接事件通道完成消息的发布或订阅;消息传递模块通过应用程序接口 API得到需发送的消息数据,并对数据的类型进行转换,调用事件通道的推送接口发送消息;对象数据缓存一直到试验对象被销毁,消息为瞬间数据,发送完成后被销毁,不缓存;远程方法调用模块通过CORBA实现。
8.根据权利要求5所述的虚拟试验支撑平台,其特征在于所述回调管理模块中构建的回调对象分为四种类型发现回调、销毁回调、状态改变回调和消息回调;当虚拟试验应用系统中应用程序调用交互管理模块提供的发布对象应用程序接口 API时,立即触发发现回调;当虚拟试验应用系统应用程序调用交互管理模块提供的取消对象发布应用程序接口API时,立即触发销毁回调;当虚拟试验应用程序调用交互管理模块提供的对象更新应用程序接口 API时,且应用程序调用唤醒回调应用程序接口 API时,触发状态改变回调;当事件通道接收到消息时,立即触发消息回调。
全文摘要
虚拟试验支撑平台,包括虚拟试验数据支撑子系统、虚拟试验中间件子系统、虚拟试验资源集成子系统和虚拟试验工具集子系统,其中虚拟试验数据支撑子系统,根据试验验证的需求,存储虚拟试验分布式对象模型、试验资源和试验数据,为试验验证活动提供数据管理支撑;虚拟试验中间件子系统,虚拟试验系统执行期间,为试验对象和试验资源间的实时通信和调度提供通信支撑平台;虚拟试验资源集成子系统,建立符合虚拟试验中间件子系统接口要求的虚拟试验分布式对象模型,将建立的对象模型储存在虚拟试验数据支撑子系统;虚拟试验工具集子系统,从虚拟试验数据支撑子系统中获取试验模型,根据具体的虚拟试验需求和试验目的,对试验规模、参与的试验设备进行规划形成试验方案,调用虚拟试验中间件子系统,对试验过程进行调度管理。
文档编号G06F9/44GK102945165SQ20121043384
公开日2013年2月27日 申请日期2012年10月31日 优先权日2012年10月31日
发明者赵雯, 彭健, 廖建, 郭爱民, 蔡斐华, 李鑫, 王晓路, 侯雄 申请人:中国运载火箭技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1