仿真工程管理系统研究
2016-10-28郑宏涛吴俊辉
郑宏涛,朱 红,吴俊辉
(中国运载火箭技术研究院 研究发展中心,北京 100076)
仿真工程管理系统研究
郑宏涛,朱 红,吴俊辉
(中国运载火箭技术研究院 研究发展中心,北京 100076)
仿真系统中存在不同的应用目的,涉及多种仿真想定、模型、数据、评估等内容,在多用户情况下仿真资源缺乏统一的管理,会严重影响了仿真系统的使用效率;为了提升仿真系统的使用效率,文章提出一种仿真工程管理的方法,利用共享内存实时采集MOM数据实现对邦员负载信息的有效监控;通过服务器统一收集XML格式仿真联邦运行数据和监控日志实现仿真运行回放;通过构建通用模型接口和评价体系实现了基于Web的仿真评估;基于B/S架构构建了仿真工程管理系统,可将模型和数据以仿真工程为单位进行统一管理,实现了对仿真运行的统一监控、数据的统一的收集与管理、评估模型管理和基于仿真试验数据的仿真评估,从而提高仿真系统的使用效率,减少仿真应用系统的集成工作量。
仿真监控;仿真数据管理;仿真评估;仿真工程管理
0 引言
仿真应用系统涉及到运行前的模型、数据管理,运行过程中的数据监控和记录,以及运行后的数据回放、评估等内容。数据记录和评估会产生新的数据。不同用户的数据往往分散和混乱,影响了仿真系统的使用效率。传统仿真监控、数据记录及评估一般采用本地方式实现,不能提供多用户支持,也不利于对仿真系统的统一管理。
本文采用B/S(Browser/Server)架构构建仿真工程管理系统,实现仿真运行监控、仿真试验数据收集和回放、仿真评估管理以及以仿真工程为单位的仿真模型和数据管理[1]。B/S架构的应用系统通过浏览器方式进行访问,提供多用户支持,不同用户的数据通过数据库进行统一管理,应用系统的数据库和服务器端具有易部署、易配置和易维护等特点。系统的实现结构以及涉及的关键技术进行了详细说明,包括仿真运行监控技术、仿真数据管理技术以及仿真评估管理技术。最后提出了仿真工程管理的设计和实现方法。
1 系统结构及原理
系统采用B/S架构,用户通过客户端浏览器访问Web服务器,服务器端通过数据库提供数据存储和查询支持。Web服务器一方面用来部署Web应用程序,另一方面它作为仿真联邦中的一个节点,运行数据收集程序,完成基于RTI的仿真运行数据收集。同时接收各仿真节点发送的节点负载监控开关数据(包括CPU、内存和网络负载)。系统部署如图1所示。
图1 系统部署图
采用典型的B/S三层体系结构[2],整个系统从下至上分为:数据访问层、业务逻辑层和用户表示层,如图2所示。
图2 系统体系结构
其中表现层负责与用户交互。业务逻辑层是整个系统的核心逻辑,处理各种用户请求。数据访问层提供对数据库访问的支持。这种结构方式能够最大程度的降低每层间的耦合关系,表现层不直接通过数据访问层对数据进行操作,数据访问层也不直接与用户交互。当表现层扩展用户功能时,只需在业务逻辑中添加相应接口即可,而无需改变数据库操作部分。
2 关键技术及实现
2.1 仿真运行监控技术
基于RTI标准接口实现对仿真联邦运行情况的监控,并在Web浏览器中对监控数据进行显示。Web服务器作为网络服务器提供Web服务,同时也作为节点加入联邦实现对仿真数据的监控,监控系统运行机制如入3所示。
图3 监控系统运行机制
1)基于MOM的仿真数据收集:
基于MOM(Management Object Model)提供的基础对象类和交互类,获取仿真联邦运行数据[3]。监控的数据包括联邦和联邦成员信息、RTI配置参数信息、各本地RTI组件的FOM发布订购情况、各联邦成员注册和发现的对象类、各联邦成员发送和接收的交互类、各联邦成员的联邦成员大使和联邦大使被调用时方法调用的日志。统计每个联邦成员发送和接收的对象类和交互类、统计各类RTI消息类型的发送和接收频率和消息内容大小、统计所有对RTI大使的调用和联邦成员对联邦大使的调用,包括调用次数和时间统计。
MOM监控程序部署在服务器,作为联邦成员加入联邦从而获取RTI上的各种数据。基于MOM定义的2个对象类:Manager.Federation和Manager.Federate,以及4个交互类:Manager.Federate.Adjust,Manager.Federate.Request,Manager.Federate.Report和Manager.Federate.Service,获取所需的各类信息。其中2个对象类分别包含了描述联邦和联邦成员状态的属性集。RTI公布该对象类,并为联邦中每个成员注册一个对象实例,对象实例的属性包括联邦成员的标识信息、成员的时间状态信息和RTI为联邦成员维护的事件队列的状态信息等。在联邦执行生命周期内,RTI所发送和接收的管理对象模型的交互类均为这4个交互类的子类。通过对象类和交互类的各种属性,可以查询联邦和联邦成员的信息。
2)基于Socket的邦员负载信息监控:
在每个联邦成员节点上部署一个代理程序,通过操作系统提供的接口函数获取节点主机的主机名,IP地址,CPU、内存以及网络通讯状态。代理程序用C++编写,基于Socket与应用服务器端的C#程序进行通讯[4],实现仿真联邦成员负载信息的收集,应用服务器通过监听Socket网络端口,获取各联邦成员负载信息,如图4所示。
3)共享内存技术:
基于MOM的数据收集模块用C++编写,而Web应用程序用C#编写,通过共享内存的方式实现它们之间的数据交互,从而完成系统的各项功能。C++程序把收集到的数据映射到指定的内存空间中,在C#监控端读取相应内存空间中的内容,实现共享内存间的数据交换,如图5所示。
4)监控数据的显示:
监控数据在Web浏览器中以文字、表格和图形等方式进行显示。为联邦和联邦成员提供一个组件图以显示它们的组织结构关系,对仿真节点负载(内存、CPU和网络负载等)采用类似任务管理器的图形方式进行显示。通过AJAX技术[5]实现对动态数据的异步传输和无刷新显示,以减少网络传输量,同时避免了Web页面的频繁闪烁。
2.2 仿真试验数据记录和回放技术
服务器实现对各仿真联邦运行数据的统一收集,并生成试验数据文件和监控日志文件。通过对试验数据的回放实现仿真联邦运行过程的再现。
1)仿真试验数据记录:
试验数据采用XML文档格式记录,在定时器的控制下记录RTI上的联邦信息、联邦成员信息、对象类实例以及交互类数据。试验数据文档格式综合考虑数据的简洁性以及完备性,文档元素从顶层往下依次包括:仿真数据,单步数据,联邦数据,联邦成员以及对象类/交互类数据。其中仿真数据节点为试验数据文档的根节点,其属性描述了仿真数据的基本信息,如仿真工程名称、记录日期、作者等;单步数据记录某一时刻RTI上的数据,仿真数据可包含任意多个单步数据子元素;联邦数据包含单个联邦的试验数据;联邦成员包含单个联邦成员的试验数据;对象类包含单个联邦成员的对象类数据;交互类包含单个联邦成员的交互类数据。
图4 负载监控实现机制
图5 共享内存数据交换
2)仿真试验数据回放:
采用XMLReader读取试验数据文件获取试验数据,通过AJAX实现各类数据的无刷新动态呈现。数据回放的内容包括联邦信息、联邦成员信息、对象类实例信息以及交互类信息。采用一个全局时钟控制数据回放的推进以及各页面的数据同步。回放过程中可以采取开始、暂停以及停止等控制措施。
2.3 仿真评估管理技术
通过Web浏览器管理评估模型和相关数据,实现基于仿真试验数据的仿真评估。
1)评估模型管理和指标体系构建:
为提供通用的仿真评估平台[6],定义了评估模型的通用接口,方便用户开发和管理符合模型规范的评估模型。包括初始化接口、评估接口、输入参数查询接口和评估结果查询接口。评估模型采用动态链接库的方式存储,通过数据库进行统一管理。系统对上传的评估模型进行自动解析,实现对评估模型信息的显示和管理指标体系构建评估的评价体系,是综合各个方面的因素抽象出来的用以评价方案相关特性的一个多层次的体系结构。指标体系通过树形列表的方式进行构建,指标体系中的指标和评估模型相对应,通过调用评估模型实现对指标的解算。
2)仿真评估的实现:
仿真评估基于试验数据进行,首先指定指标体系中各个指标和试验数据的映射关系,即提供将指标和试验数据文件中各个参数对应起来的机制,然后为指标指定评估模型,并为评估模型提供输入数据从而实现评估计算[7]。指定指标和试验数据映射关系后,抽取试验数据文件中的对应数据内容生成参数文本文件,该文本作为评估模型的输入进而实现评估计算。
评估完成后生成Word格式的评估结果报告,报告格式和指标体系相对应,显示所评估指标的结果。Word文档的生成基于.NET框架中word组件调用技术,引用office Word的核心COM组件Microsoft Word 11.0 Object Library,实现了通过模板的形式定制特定格式的评价结果报告Word文件的功能。基于word COM组件的API的二次开发和封装生成WordEdit类,提供对Word文件的生成、命名、保存、样式设置、文本添加、表格和图形插入等常用操作函数接口。
用户可以保存评估配置,从而实现对评估过程的重现,或者在已有配置的基础上上进行修改重新进行评估。整个仿真评估的流程如图6所示。
图6 仿真评估流程
3 仿真工程管理应用
在仿真工程管理应用过程中,通过建立仿真工程的组织结构(如图7所示),以仿真工程为单位对仿真运行全过程中的各类资源进行有效的管理,实现了对仿真模型与想定资源、仿真运行过程监控日志、仿真试验运行输入和结果数据、评估模型和评估数据的综合管理,实现系统各部分功能的综合集成[8]。
图7 仿真工程组织结构
仿真工程管理应用的步骤如下。
仿真运行前:对仿真工程文件进行管理,包括仿真模型文件、初始化文件、想定文件、FED文件、评估模型文件以及运行配置文件等;
仿真运行时:对仿真过程进行监控,以及仿真数据的记录等;
仿真运行后:基于试验数据对仿真进行评估,以及对评估结果文件和配置文件的管理,对仿真试验数据文件和日志文件的管理,基于试验数据文件的仿真回放等。
4 结论
本文基于B/S架构,构建了一个基于Web的仿真工程管理系统,实现了以仿真工程为单位的仿真运行监控、数据管理以及评估管理。基于Web的实现方式提供对多用户的支持,适应分布式仿真的要求,提高了仿真系统的使用效率。系统的分层结构设计使得后续的功能改进能够更加灵活方便地开展。仿真工程管理系统还需要根据应用的需求进一步完善和提高实用性,以实现和具体仿真系统的结合。
[1] Haubrock, SN, Theisselmann, etc. Web-Based management of simulation models-concepts, technologies and users’ needs[C]. Helmholtz Ctr Potsdam: Univ Westren Australia,2009,880-886.
[2] 李 妮,唐力勇,雷正东,邢必达.基于Web的仿真想定管理系统开发[J].中国体视学与图像分析,2010,15(3):335-338.
[3] 周 彦,戴剑伟,蒋晓原等.HLA仿真程序设计[M].北京:电子工业出版社,2002.
[4] 刘 丹.Socket网络编程及其实现[J].计算机与网络,2010,12:214-215.
[5] Lin Z J, Wu J Y, Zhang Q F, et al. Research on Web applications using Ajax new technologies [C]. Zhejiang Univ Sci & Technol, Sch Informat & Elect Engn, Hangzhou, Zhejiang, Peoples R China, Los, USA: IEEE Computer Society:2008.139-142.
[6] Hlupic, V. Evaluation framework for simulation software [J]. International journal of Advanced Manufacturing Technology, 1999,15:366-382.
[7] 陈辉强,聂成龙,魏 鑫,等.基于作战单元的装备综合保障仿真评估研究[J].系统仿真学报,2010,22(11):2604-2607.
[8] 宋莉莉,张 灿,李 群,等.基于面向服务架构的组合仿真方法研究[J].系统仿真学报,2009,21(12):3626-3630.
Research of Simulation Project Management System
Zheng Hongtao,Zhu Hong,Wu Junhui
(R&D Center, China Academy of Launch Vehicle Technology, Beijing 100076,China)
Simulation system in different application purposes, involving a variety of simulation scenarios, models, data, evaluation, in the case of multi-user simulation resources lack of unified management, the efficiency of simulation system will be seriously affected. In order to improve the efficiency of the simulation system, this paper presents a method of simulation project management, using the Shared memory real-time acquired MOM data can realize effective monitoring of federate load information; Through the server the federal unified collect XML format simulation operation data and monitor logs to realize the simulation playback. By building a general model Interface and evaluation system, Simulation Project Management System has realized the simulation assessment based on the Web. Based on B/S architecture to build a simulation project management system, models and data of the simulation project can be unified management, to achieve the simulation run unified monitoring and control, unified collection and management of data, evaluation management model and simulation evaluation based on simulation test data, so as to improve the efficiency in the use of simulation system, reduce integration effort of simulation application system.
simulation monitor; simulation evaluation; simulation project management
2015-10-28;
2016-03-07。
郑宏涛(1978-),男,安徽合肥人,博士,高级工程师,主要从事为飞行器总体设计、飞行控制与系统仿真方向的研究。
1671-4598(2016)07-0174-04
10.16526/j.cnki.11-4762/tp.2016.07.047
TP391 文献标识码:A