鄭宏濤,朱 紅,吳俊輝
(中國運(yùn)載火箭技術(shù)研究院 研究發(fā)展中心,北京 100076)
仿真工程管理系統(tǒng)研究
鄭宏濤,朱 紅,吳俊輝
(中國運(yùn)載火箭技術(shù)研究院 研究發(fā)展中心,北京 100076)
仿真系統(tǒng)中存在不同的應(yīng)用目的,涉及多種仿真想定、模型、數(shù)據(jù)、評估等內(nèi)容,在多用戶情況下仿真資源缺乏統(tǒng)一的管理,會嚴(yán)重影響了仿真系統(tǒng)的使用效率;為了提升仿真系統(tǒng)的使用效率,文章提出一種仿真工程管理的方法,利用共享內(nèi)存實(shí)時采集MOM數(shù)據(jù)實(shí)現(xiàn)對邦員負(fù)載信息的有效監(jiān)控;通過服務(wù)器統(tǒng)一收集XML格式仿真聯(lián)邦運(yùn)行數(shù)據(jù)和監(jiān)控日志實(shí)現(xiàn)仿真運(yùn)行回放;通過構(gòu)建通用模型接口和評價體系實(shí)現(xiàn)了基于Web的仿真評估;基于B/S架構(gòu)構(gòu)建了仿真工程管理系統(tǒng),可將模型和數(shù)據(jù)以仿真工程為單位進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)了對仿真運(yùn)行的統(tǒng)一監(jiān)控、數(shù)據(jù)的統(tǒng)一的收集與管理、評估模型管理和基于仿真試驗(yàn)數(shù)據(jù)的仿真評估,從而提高仿真系統(tǒng)的使用效率,減少仿真應(yīng)用系統(tǒng)的集成工作量。
仿真監(jiān)控;仿真數(shù)據(jù)管理;仿真評估;仿真工程管理
仿真應(yīng)用系統(tǒng)涉及到運(yùn)行前的模型、數(shù)據(jù)管理,運(yùn)行過程中的數(shù)據(jù)監(jiān)控和記錄,以及運(yùn)行后的數(shù)據(jù)回放、評估等內(nèi)容。數(shù)據(jù)記錄和評估會產(chǎn)生新的數(shù)據(jù)。不同用戶的數(shù)據(jù)往往分散和混亂,影響了仿真系統(tǒng)的使用效率。傳統(tǒng)仿真監(jiān)控、數(shù)據(jù)記錄及評估一般采用本地方式實(shí)現(xiàn),不能提供多用戶支持,也不利于對仿真系統(tǒng)的統(tǒng)一管理。
本文采用B/S(Browser/Server)架構(gòu)構(gòu)建仿真工程管理系統(tǒng),實(shí)現(xiàn)仿真運(yùn)行監(jiān)控、仿真試驗(yàn)數(shù)據(jù)收集和回放、仿真評估管理以及以仿真工程為單位的仿真模型和數(shù)據(jù)管理[1]。B/S架構(gòu)的應(yīng)用系統(tǒng)通過瀏覽器方式進(jìn)行訪問,提供多用戶支持,不同用戶的數(shù)據(jù)通過數(shù)據(jù)庫進(jìn)行統(tǒng)一管理,應(yīng)用系統(tǒng)的數(shù)據(jù)庫和服務(wù)器端具有易部署、易配置和易維護(hù)等特點(diǎn)。系統(tǒng)的實(shí)現(xiàn)結(jié)構(gòu)以及涉及的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)說明,包括仿真運(yùn)行監(jiān)控技術(shù)、仿真數(shù)據(jù)管理技術(shù)以及仿真評估管理技術(shù)。最后提出了仿真工程管理的設(shè)計(jì)和實(shí)現(xiàn)方法。
系統(tǒng)采用B/S架構(gòu),用戶通過客戶端瀏覽器訪問Web服務(wù)器,服務(wù)器端通過數(shù)據(jù)庫提供數(shù)據(jù)存儲和查詢支持。Web服務(wù)器一方面用來部署Web應(yīng)用程序,另一方面它作為仿真聯(lián)邦中的一個節(jié)點(diǎn),運(yùn)行數(shù)據(jù)收集程序,完成基于RTI的仿真運(yùn)行數(shù)據(jù)收集。同時接收各仿真節(jié)點(diǎn)發(fā)送的節(jié)點(diǎn)負(fù)載監(jiān)控開關(guān)數(shù)據(jù)(包括CPU、內(nèi)存和網(wǎng)絡(luò)負(fù)載)。系統(tǒng)部署如圖1所示。
圖1 系統(tǒng)部署圖
采用典型的B/S三層體系結(jié)構(gòu)[2],整個系統(tǒng)從下至上分為:數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和用戶表示層,如圖2所示。
圖2 系統(tǒng)體系結(jié)構(gòu)
其中表現(xiàn)層負(fù)責(zé)與用戶交互。業(yè)務(wù)邏輯層是整個系統(tǒng)的核心邏輯,處理各種用戶請求。數(shù)據(jù)訪問層提供對數(shù)據(jù)庫訪問的支持。這種結(jié)構(gòu)方式能夠最大程度的降低每層間的耦合關(guān)系,表現(xiàn)層不直接通過數(shù)據(jù)訪問層對數(shù)據(jù)進(jìn)行操作,數(shù)據(jù)訪問層也不直接與用戶交互。當(dāng)表現(xiàn)層擴(kuò)展用戶功能時,只需在業(yè)務(wù)邏輯中添加相應(yīng)接口即可,而無需改變數(shù)據(jù)庫操作部分。
2.1 仿真運(yùn)行監(jiān)控技術(shù)
基于RTI標(biāo)準(zhǔn)接口實(shí)現(xiàn)對仿真聯(lián)邦運(yùn)行情況的監(jiān)控,并在Web瀏覽器中對監(jiān)控?cái)?shù)據(jù)進(jìn)行顯示。Web服務(wù)器作為網(wǎng)絡(luò)服務(wù)器提供Web服務(wù),同時也作為節(jié)點(diǎn)加入聯(lián)邦實(shí)現(xiàn)對仿真數(shù)據(jù)的監(jiān)控,監(jiān)控系統(tǒng)運(yùn)行機(jī)制如入3所示。
圖3 監(jiān)控系統(tǒng)運(yùn)行機(jī)制
1)基于MOM的仿真數(shù)據(jù)收集:
基于MOM(Management Object Model)提供的基礎(chǔ)對象類和交互類,獲取仿真聯(lián)邦運(yùn)行數(shù)據(jù)[3]。監(jiān)控的數(shù)據(jù)包括聯(lián)邦和聯(lián)邦成員信息、RTI配置參數(shù)信息、各本地RTI組件的FOM發(fā)布訂購情況、各聯(lián)邦成員注冊和發(fā)現(xiàn)的對象類、各聯(lián)邦成員發(fā)送和接收的交互類、各聯(lián)邦成員的聯(lián)邦成員大使和聯(lián)邦大使被調(diào)用時方法調(diào)用的日志。統(tǒng)計(jì)每個聯(lián)邦成員發(fā)送和接收的對象類和交互類、統(tǒng)計(jì)各類RTI消息類型的發(fā)送和接收頻率和消息內(nèi)容大小、統(tǒng)計(jì)所有對RTI大使的調(diào)用和聯(lián)邦成員對聯(lián)邦大使的調(diào)用,包括調(diào)用次數(shù)和時間統(tǒng)計(jì)。
MOM監(jiān)控程序部署在服務(wù)器,作為聯(lián)邦成員加入聯(lián)邦從而獲取RTI上的各種數(shù)據(jù)?;贛OM定義的2個對象類:Manager.Federation和Manager.Federate,以及4個交互類:Manager.Federate.Adjust,Manager.Federate.Request,Manager.Federate.Report和Manager.Federate.Service,獲取所需的各類信息。其中2個對象類分別包含了描述聯(lián)邦和聯(lián)邦成員狀態(tài)的屬性集。RTI公布該對象類,并為聯(lián)邦中每個成員注冊一個對象實(shí)例,對象實(shí)例的屬性包括聯(lián)邦成員的標(biāo)識信息、成員的時間狀態(tài)信息和RTI為聯(lián)邦成員維護(hù)的事件隊(duì)列的狀態(tài)信息等。在聯(lián)邦執(zhí)行生命周期內(nèi),RTI所發(fā)送和接收的管理對象模型的交互類均為這4個交互類的子類。通過對象類和交互類的各種屬性,可以查詢聯(lián)邦和聯(lián)邦成員的信息。
2)基于Socket的邦員負(fù)載信息監(jiān)控:
在每個聯(lián)邦成員節(jié)點(diǎn)上部署一個代理程序,通過操作系統(tǒng)提供的接口函數(shù)獲取節(jié)點(diǎn)主機(jī)的主機(jī)名,IP地址,CPU、內(nèi)存以及網(wǎng)絡(luò)通訊狀態(tài)。代理程序用C++編寫,基于Socket與應(yīng)用服務(wù)器端的C#程序進(jìn)行通訊[4],實(shí)現(xiàn)仿真聯(lián)邦成員負(fù)載信息的收集,應(yīng)用服務(wù)器通過監(jiān)聽Socket網(wǎng)絡(luò)端口,獲取各聯(lián)邦成員負(fù)載信息,如圖4所示。
3)共享內(nèi)存技術(shù):
基于MOM的數(shù)據(jù)收集模塊用C++編寫,而Web應(yīng)用程序用C#編寫,通過共享內(nèi)存的方式實(shí)現(xiàn)它們之間的數(shù)據(jù)交互,從而完成系統(tǒng)的各項(xiàng)功能。C++程序把收集到的數(shù)據(jù)映射到指定的內(nèi)存空間中,在C#監(jiān)控端讀取相應(yīng)內(nèi)存空間中的內(nèi)容,實(shí)現(xiàn)共享內(nèi)存間的數(shù)據(jù)交換,如圖5所示。
4)監(jiān)控?cái)?shù)據(jù)的顯示:
監(jiān)控?cái)?shù)據(jù)在Web瀏覽器中以文字、表格和圖形等方式進(jìn)行顯示。為聯(lián)邦和聯(lián)邦成員提供一個組件圖以顯示它們的組織結(jié)構(gòu)關(guān)系,對仿真節(jié)點(diǎn)負(fù)載(內(nèi)存、CPU和網(wǎng)絡(luò)負(fù)載等)采用類似任務(wù)管理器的圖形方式進(jìn)行顯示。通過AJAX技術(shù)[5]實(shí)現(xiàn)對動態(tài)數(shù)據(jù)的異步傳輸和無刷新顯示,以減少網(wǎng)絡(luò)傳輸量,同時避免了Web頁面的頻繁閃爍。
2.2 仿真試驗(yàn)數(shù)據(jù)記錄和回放技術(shù)
服務(wù)器實(shí)現(xiàn)對各仿真聯(lián)邦運(yùn)行數(shù)據(jù)的統(tǒng)一收集,并生成試驗(yàn)數(shù)據(jù)文件和監(jiān)控日志文件。通過對試驗(yàn)數(shù)據(jù)的回放實(shí)現(xiàn)仿真聯(lián)邦運(yùn)行過程的再現(xiàn)。
1)仿真試驗(yàn)數(shù)據(jù)記錄:
試驗(yàn)數(shù)據(jù)采用XML文檔格式記錄,在定時器的控制下記錄RTI上的聯(lián)邦信息、聯(lián)邦成員信息、對象類實(shí)例以及交互類數(shù)據(jù)。試驗(yàn)數(shù)據(jù)文檔格式綜合考慮數(shù)據(jù)的簡潔性以及完備性,文檔元素從頂層往下依次包括:仿真數(shù)據(jù),單步數(shù)據(jù),聯(lián)邦數(shù)據(jù),聯(lián)邦成員以及對象類/交互類數(shù)據(jù)。其中仿真數(shù)據(jù)節(jié)點(diǎn)為試驗(yàn)數(shù)據(jù)文檔的根節(jié)點(diǎn),其屬性描述了仿真數(shù)據(jù)的基本信息,如仿真工程名稱、記錄日期、作者等;單步數(shù)據(jù)記錄某一時刻RTI上的數(shù)據(jù),仿真數(shù)據(jù)可包含任意多個單步數(shù)據(jù)子元素;聯(lián)邦數(shù)據(jù)包含單個聯(lián)邦的試驗(yàn)數(shù)據(jù);聯(lián)邦成員包含單個聯(lián)邦成員的試驗(yàn)數(shù)據(jù);對象類包含單個聯(lián)邦成員的對象類數(shù)據(jù);交互類包含單個聯(lián)邦成員的交互類數(shù)據(jù)。
圖4 負(fù)載監(jiān)控實(shí)現(xiàn)機(jī)制
圖5 共享內(nèi)存數(shù)據(jù)交換
2)仿真試驗(yàn)數(shù)據(jù)回放:
采用XMLReader讀取試驗(yàn)數(shù)據(jù)文件獲取試驗(yàn)數(shù)據(jù),通過AJAX實(shí)現(xiàn)各類數(shù)據(jù)的無刷新動態(tài)呈現(xiàn)。數(shù)據(jù)回放的內(nèi)容包括聯(lián)邦信息、聯(lián)邦成員信息、對象類實(shí)例信息以及交互類信息。采用一個全局時鐘控制數(shù)據(jù)回放的推進(jìn)以及各頁面的數(shù)據(jù)同步。回放過程中可以采取開始、暫停以及停止等控制措施。
2.3 仿真評估管理技術(shù)
通過Web瀏覽器管理評估模型和相關(guān)數(shù)據(jù),實(shí)現(xiàn)基于仿真試驗(yàn)數(shù)據(jù)的仿真評估。
1)評估模型管理和指標(biāo)體系構(gòu)建:
為提供通用的仿真評估平臺[6],定義了評估模型的通用接口,方便用戶開發(fā)和管理符合模型規(guī)范的評估模型。包括初始化接口、評估接口、輸入?yún)?shù)查詢接口和評估結(jié)果查詢接口。評估模型采用動態(tài)鏈接庫的方式存儲,通過數(shù)據(jù)庫進(jìn)行統(tǒng)一管理。系統(tǒng)對上傳的評估模型進(jìn)行自動解析,實(shí)現(xiàn)對評估模型信息的顯示和管理指標(biāo)體系構(gòu)建評估的評價體系,是綜合各個方面的因素抽象出來的用以評價方案相關(guān)特性的一個多層次的體系結(jié)構(gòu)。指標(biāo)體系通過樹形列表的方式進(jìn)行構(gòu)建,指標(biāo)體系中的指標(biāo)和評估模型相對應(yīng),通過調(diào)用評估模型實(shí)現(xiàn)對指標(biāo)的解算。
2)仿真評估的實(shí)現(xiàn):
仿真評估基于試驗(yàn)數(shù)據(jù)進(jìn)行,首先指定指標(biāo)體系中各個指標(biāo)和試驗(yàn)數(shù)據(jù)的映射關(guān)系,即提供將指標(biāo)和試驗(yàn)數(shù)據(jù)文件中各個參數(shù)對應(yīng)起來的機(jī)制,然后為指標(biāo)指定評估模型,并為評估模型提供輸入數(shù)據(jù)從而實(shí)現(xiàn)評估計(jì)算[7]。指定指標(biāo)和試驗(yàn)數(shù)據(jù)映射關(guān)系后,抽取試驗(yàn)數(shù)據(jù)文件中的對應(yīng)數(shù)據(jù)內(nèi)容生成參數(shù)文本文件,該文本作為評估模型的輸入進(jìn)而實(shí)現(xiàn)評估計(jì)算。
評估完成后生成Word格式的評估結(jié)果報(bào)告,報(bào)告格式和指標(biāo)體系相對應(yīng),顯示所評估指標(biāo)的結(jié)果。Word文檔的生成基于.NET框架中word組件調(diào)用技術(shù),引用office Word的核心COM組件Microsoft Word 11.0 Object Library,實(shí)現(xiàn)了通過模板的形式定制特定格式的評價結(jié)果報(bào)告Word文件的功能?;趙ord COM組件的API的二次開發(fā)和封裝生成WordEdit類,提供對Word文件的生成、命名、保存、樣式設(shè)置、文本添加、表格和圖形插入等常用操作函數(shù)接口。
用戶可以保存評估配置,從而實(shí)現(xiàn)對評估過程的重現(xiàn),或者在已有配置的基礎(chǔ)上上進(jìn)行修改重新進(jìn)行評估。整個仿真評估的流程如圖6所示。
圖6 仿真評估流程
在仿真工程管理應(yīng)用過程中,通過建立仿真工程的組織結(jié)構(gòu)(如圖7所示),以仿真工程為單位對仿真運(yùn)行全過程中的各類資源進(jìn)行有效的管理,實(shí)現(xiàn)了對仿真模型與想定資源、仿真運(yùn)行過程監(jiān)控日志、仿真試驗(yàn)運(yùn)行輸入和結(jié)果數(shù)據(jù)、評估模型和評估數(shù)據(jù)的綜合管理,實(shí)現(xiàn)系統(tǒng)各部分功能的綜合集成[8]。
圖7 仿真工程組織結(jié)構(gòu)
仿真工程管理應(yīng)用的步驟如下。
仿真運(yùn)行前:對仿真工程文件進(jìn)行管理,包括仿真模型文件、初始化文件、想定文件、FED文件、評估模型文件以及運(yùn)行配置文件等;
仿真運(yùn)行時:對仿真過程進(jìn)行監(jiān)控,以及仿真數(shù)據(jù)的記錄等;
仿真運(yùn)行后:基于試驗(yàn)數(shù)據(jù)對仿真進(jìn)行評估,以及對評估結(jié)果文件和配置文件的管理,對仿真試驗(yàn)數(shù)據(jù)文件和日志文件的管理,基于試驗(yàn)數(shù)據(jù)文件的仿真回放等。
本文基于B/S架構(gòu),構(gòu)建了一個基于Web的仿真工程管理系統(tǒng),實(shí)現(xiàn)了以仿真工程為單位的仿真運(yùn)行監(jiān)控、數(shù)據(jù)管理以及評估管理?;赪eb的實(shí)現(xiàn)方式提供對多用戶的支持,適應(yīng)分布式仿真的要求,提高了仿真系統(tǒng)的使用效率。系統(tǒng)的分層結(jié)構(gòu)設(shè)計(jì)使得后續(xù)的功能改進(jìn)能夠更加靈活方便地開展。仿真工程管理系統(tǒng)還需要根據(jù)應(yīng)用的需求進(jìn)一步完善和提高實(shí)用性,以實(shí)現(xiàn)和具體仿真系統(tǒng)的結(jié)合。
[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] 李 妮,唐力勇,雷正東,邢必達(dá).基于Web的仿真想定管理系統(tǒng)開發(fā)[J].中國體視學(xué)與圖像分析,2010,15(3):335-338.
[3] 周 彥,戴劍偉,蔣曉原等.HLA仿真程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2002.
[4] 劉 丹.Socket網(wǎng)絡(luò)編程及其實(shí)現(xiàn)[J].計(jì)算機(jī)與網(wǎng)絡(luò),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] 陳輝強(qiáng),聶成龍,魏 鑫,等.基于作戰(zhàn)單元的裝備綜合保障仿真評估研究[J].系統(tǒng)仿真學(xué)報(bào),2010,22(11):2604-2607.
[8] 宋莉莉,張 燦,李 群,等.基于面向服務(wù)架構(gòu)的組合仿真方法研究[J].系統(tǒng)仿真學(xué)報(bào),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-),男,安徽合肥人,博士,高級工程師,主要從事為飛行器總體設(shè)計(jì)、飛行控制與系統(tǒng)仿真方向的研究。
1671-4598(2016)07-0174-04
10.16526/j.cnki.11-4762/tp.2016.07.047
TP391 文獻(xiàn)標(biāo)識碼:A