• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種滿足實時性需求的測發(fā)控軟件改進技術(shù)

    2016-07-20 10:21:36安占新
    航天控制 2016年6期
    關(guān)鍵詞:實時性內(nèi)核線程

    張 舒 安占新 趙 芊

    北京航天自動控制研究所,北京100854

    ?

    一種滿足實時性需求的測發(fā)控軟件改進技術(shù)

    張 舒 安占新 趙 芊

    北京航天自動控制研究所,北京100854

    針對基于Windows操作系統(tǒng)框架的測發(fā)控軟件無法滿足大多數(shù)型號實時性需求的情況,分析了現(xiàn)有框架不滿足實時性需求而導(dǎo)致任務(wù)失效的具體機理。提出了基于異步協(xié)作機制簡化和并行實時性任務(wù)串行化的框架改進方法,并對改進前后框架的性能進行了仿真分析。試驗結(jié)果表明,基于改進框架的測發(fā)控軟件處理實時性線程的周期循環(huán)間隔時間穩(wěn)定性由247ms改進至20ms,平均超時失效概率由0.6改進至無失效。

    w框架;實時性;異步協(xié)作機制簡化;并行實時性任務(wù)串行化

    測試發(fā)射控制軟件和硬件設(shè)備一起組成測發(fā)控系統(tǒng),向彈、箭發(fā)送控制和測試指令;并接收、判別、存儲及顯示彈、箭回送的測試結(jié)果,從而完成等效器檢查、彈箭系統(tǒng)綜合測試及發(fā)射控制[1]。

    由于多類型彈、箭的測發(fā)控系統(tǒng)有一定通用性,為提高軟件開發(fā)效率,測發(fā)控軟件開發(fā)方常常采用建立通用軟件框架的方法,按照功能特性將軟件模塊分類整合,降低模塊耦合程度,使軟件結(jié)構(gòu)精簡、易開發(fā)和維護。目前唯一成熟的通用框架是基于Windows MFC實現(xiàn)的(以下簡稱w框架),可用于實現(xiàn)較為復(fù)雜的測試控制功能和交互界面。鑒于Windows為非實時性操作系統(tǒng),且其任務(wù)調(diào)度和管理對程序設(shè)計人員透明,不能滿足測發(fā)控系統(tǒng)一項重要性能,即實時性需求[2],本文通過系統(tǒng)地分析現(xiàn)有w框架不滿足實時性需求的任務(wù)特征和機理,提出一種基于異步協(xié)作機制化簡和并行實時性任務(wù)串行化的改進框架,并仿真對比分析了基于改進前后框架的測發(fā)控軟件實時性線程的周期循環(huán)間隔時間和超時失效概率。

    1 實時性需求與w框架分析

    1.1 測發(fā)控系統(tǒng)實時性需求與滿足情況分析

    在某些型號軟件研制和系統(tǒng)試驗過程中發(fā)現(xiàn),某些測發(fā)控任務(wù)具有強實時性,特征如下:

    1)與彈、箭的高頻率周期性交互,要求周期穩(wěn)定無波動;

    2)向彈、箭發(fā)送數(shù)據(jù)或命令后,要求及時回復(fù),等待周期短;

    3)多個具有以上2條特征的測發(fā)控任務(wù)并行進行;

    4)為避免由于人工操作不及時導(dǎo)致故障處理不及時,在某些功能中可由軟件直接根據(jù)自身狀態(tài)和接收到的反饋信息決策下一步需要進行的動作或流程[3-4]。

    基于上述實時性測發(fā)控任務(wù),采用現(xiàn)有非實時性的w框架進行測發(fā)控軟件開發(fā)時,會產(chǎn)生以下現(xiàn)象:

    1)對于頻率較高的周期性任務(wù),檢查任務(wù)開始執(zhí)行的間隔時間,發(fā)現(xiàn)間隔無規(guī)律變化,個別間隔時間倍數(shù)超出任務(wù)要求;

    2)收到反饋數(shù)據(jù)后,測發(fā)控軟件延遲進行處理和判別,導(dǎo)致自身邏輯認(rèn)定反饋數(shù)據(jù)接收超時;

    3)多個周期性任務(wù)同時進行時,測發(fā)控任務(wù)超時失效的概率明顯增加;

    4)基于現(xiàn)有的w框架開發(fā)的測發(fā)控軟件運行時較多依賴人工參與,導(dǎo)致故障處理不及時。

    1.2 現(xiàn)有w框架機理分析

    當(dāng)前w框架的功能模塊包括: UI界面模塊;負(fù)責(zé)流程控制和功能調(diào)用的MainTask模塊;負(fù)責(zé)描述測發(fā)控邏輯的StepWidgt模塊;負(fù)責(zé)與外部設(shè)備進行指令和數(shù)據(jù)交互的InterfaceWidget模塊,各模塊之間的聯(lián)系如圖1所示。

    圖1 w框架架構(gòu)

    由于Windows為非實時性操作系統(tǒng),若沒有特殊的設(shè)定,其線程調(diào)度對程序設(shè)計者是透明的;且Windows操作系統(tǒng)本身具備的UI(如鼠標(biāo)、鍵盤操作及屏幕刷新)等非實時性系統(tǒng)功能也隨時可能搶占內(nèi)核資源。因此,w框架架構(gòu)特征導(dǎo)致1.1節(jié)中不滿足實時性現(xiàn)象的主要原因如下:

    1)程序中存在多個并行任務(wù),多個任務(wù)線程會同時搶占同一計算機資源,造成阻塞,導(dǎo)致實時性任務(wù)執(zhí)行間隔出現(xiàn)較大波動(多個實時性測發(fā)控任務(wù)同時并行存在時,這種情況更明顯);

    2)軟件接口的數(shù)據(jù)接收InterfaceWidget 模塊和測發(fā)控系統(tǒng)的數(shù)據(jù)處理模塊間交互方式為異步協(xié)作模式,存在一定的依賴關(guān)系,如圖2(a)所示。當(dāng)收到外系統(tǒng)的數(shù)據(jù)后,通過消息傳遞進行回調(diào),接收到的數(shù)據(jù)先傳給MainTask,再由MainTask調(diào)用相應(yīng)的數(shù)據(jù)處理模塊。該工作方式時間開銷較大,導(dǎo)致實時性任務(wù)自身定時器判定數(shù)據(jù)接收超時;

    3)w框架中具有的大量測試流程選擇和異常處理分支,需要呈現(xiàn)在界面上等待人工決策。

    2 w框架改進技術(shù)

    2.1 異步協(xié)作機制簡化

    針對第1節(jié)所述,InterfaceWidget模塊和StepWidgt模塊進行異步通信帶來額外時間開銷,造成因?qū)崟r性任務(wù)實際完成時間長于預(yù)期而不滿足實時性要求的問題,可通過精簡數(shù)據(jù)傳遞的參與者來避免消息傳遞和異步通信,簡化前后軟件框架如圖 2所示。簡化后的框架要求StepWidgt模塊在需要處理測試數(shù)據(jù)時知曉與它協(xié)作的特定的InterfaceWidget模塊,并設(shè)計專用內(nèi)部接口協(xié)議,可將該軟件內(nèi)部接口定義為一片公共內(nèi)存區(qū)域,使數(shù)據(jù)處理功能與數(shù)據(jù)接收功能緊耦合。

    由圖2可知,簡化后的w框架中,MainTask不再參與消息傳遞,而是直接通過數(shù)據(jù)處理線程和接口線程協(xié)作實現(xiàn)數(shù)據(jù)交互。同時,數(shù)據(jù)處理線程在等待測試數(shù)據(jù)時,無需再創(chuàng)建一個由信號量終止的超時計時器,而是在每次嘗試讀取測試數(shù)據(jù)失敗后由自身的時標(biāo)判斷是否超時,未超時則再次嘗試讀取數(shù)據(jù),循環(huán)往復(fù)直至讀取數(shù)據(jù)成功或判斷已超時。

    圖2 基于簡化異步協(xié)作和通信機制的w框架

    2.2 并行實時性任務(wù)串行化

    第1節(jié)中并行任務(wù)搶占資源會導(dǎo)致實時性任務(wù)的執(zhí)行間隔時間波動,造成超時失效的問題,如圖3并行化部分所示。目前的w框架中添加新任務(wù)線程時,直接調(diào)用AfxBeginThread系統(tǒng)函數(shù)創(chuàng)建線程,僅對多個并行線程訪問的公共數(shù)據(jù)區(qū)進行保護,而不同線程間的調(diào)度工作則交付Windows系統(tǒng)自行處理。

    針對該問題,首先可在程序初始化時,調(diào)用AfxBeginThread創(chuàng)建一個用于處理實時性測試任務(wù)的專用線程。該線程將所有并行且相互獨立的實時性任務(wù)串行排列,在測發(fā)控程序生命周期中無限循環(huán),循環(huán)周期為所有實時性任務(wù)理論周期的最小公約數(shù)。同時在各實時性任務(wù)前加入適當(dāng)?shù)募s束條件,使各項實時性任務(wù)在合適的時機按照自身的周期運行。并行實時性任務(wù)串行化如圖 3中串行化部分所示。

    其次,為減少或消除第1節(jié)中實時性任務(wù)資源被UI等非實時性任務(wù)搶占的情況,可為實時性線程指定單獨的內(nèi)核資源(目前運行測發(fā)控軟件的計算機至少具備2個內(nèi)核,故內(nèi)核資源較為充足),且在每個周期的空閑時間內(nèi),通過不斷計算當(dāng)前周期經(jīng)過的時間來避免實時性線程主動放棄內(nèi)核資源,從而保證下一次循環(huán)周期可按時開始。若實時性線程單獨占領(lǐng)1個內(nèi)核資源時,則還需滿足下述條件:

    其中,ti為單個實時性任務(wù)花費的時間,Ti為單個實時性任務(wù)的周期,T0為所有實時性任務(wù)周期的最小公約數(shù)。

    再次,設(shè)置實時性線程相對優(yōu)先級和優(yōu)先級微調(diào)等級為最高,即REALTIME_PRIORITY_CLASS和THREAD_PRIORITY_TIME_CRITICAL,從而實現(xiàn)其他非實時性任務(wù)線程與實時性任務(wù)線程的內(nèi)核資源合理分配。

    圖3 多測試任務(wù)串行化規(guī)劃原理釋義

    最后,在StepWidgt模塊中加入超時容錯機制以防止任務(wù)超時失效。即當(dāng)軟件測試流程的某一步異常終止時,軟件可根據(jù)自身錯誤狀態(tài)來判斷,若當(dāng)前的異常是由超時導(dǎo)致,則自動退回至該測試步驟的開始階段重新執(zhí)行。同時為避免由于系統(tǒng)故障而造成死循環(huán)的情況,當(dāng)連續(xù)出現(xiàn)3次超時導(dǎo)致的異常后,軟件報錯,轉(zhuǎn)由人工進行錯誤處理。該措施能夠減少人工參與程度,增強軟件的應(yīng)激反應(yīng)能力。

    3 仿真驗證

    首先驗證改進后w框架中實時性任務(wù)間隔時間是否滿足要求。仿真環(huán)境為:測發(fā)控軟件同時產(chǎn)生2個實時性任務(wù)線程Task_A和Task_B,周期分別為50ms和100ms,2個實時性線程各自并行運行1000和500個周期(理論用時50s)。此外,程序整個生命周期中伴隨UI任務(wù)等非實時性線程。在程序50ms周期的實時性任務(wù)TaskA進入處獲得系統(tǒng)時間,并打印2次循環(huán)的實際間隔時間?;谠瓀框架和改進后的w框架的測發(fā)控軟件的實際周期循環(huán)間隔時間的仿真結(jié)果分別如圖4(a)和4(b)所示。

    圖4 設(shè)置線程優(yōu)先級前后效果對比圖

    由圖4可知,基于原w框架的測發(fā)控軟件運行過程中,實時性線程實際的循環(huán)間隔時間經(jīng)常出現(xiàn)較大的時間波動,最大可至287ms;而基于改進后w框架的測發(fā)控軟件的實時性線程周期循環(huán)的間隔時間穩(wěn)定在50ms±10ms,該結(jié)果表明:

    1)w框架的改進方法解決了多個任務(wù)并行搶占公共資源的問題;

    2)改進后的w框架實時性任務(wù)資源不再被其它非實時性任務(wù)搶占;

    3)化簡后的數(shù)據(jù)處理功能耗費的時間滿足實時性要求。

    統(tǒng)計基于改進前后w框架的測發(fā)控軟件對傳遞對準(zhǔn)、上傳文件等實時性任務(wù)的失效概率,以每10次為單位,共5遍,統(tǒng)計結(jié)果見表 1。在試驗中,基于原w框架的測發(fā)控軟件出現(xiàn)超時失效較頻繁且無規(guī)律,由于超時失效而報錯的情況隨機出現(xiàn)2~8次。而基于改進后w框架的測發(fā)控軟件在試驗中不再出現(xiàn)因超時失效而報錯的情況。

    表1 測發(fā)控軟件超時報錯次數(shù)統(tǒng)計

    4 結(jié)論

    系統(tǒng)地分析了現(xiàn)w框架不滿足實時性需求導(dǎo)致任務(wù)失效的特征和機理,針對數(shù)據(jù)處理響應(yīng)時間較長的問題提出異步協(xié)作機制簡化方法。針對并行任務(wù)搶占內(nèi)核資源的問題提出并行實時性任務(wù)串行化方案。最后仿真對比分析了基于改進前后框架的測發(fā)控軟件實時性線程的周期循環(huán)間隔時間和超時失效概率。結(jié)果表明,改進后的w框架實時性線程周期循環(huán)間隔時間穩(wěn)定性由247ms改進至20ms,平均超時失效概率由0.6改進至無失效。

    [1] 張學(xué)英,易航,汪洋,韓亮.運載火箭測發(fā)控系統(tǒng)通用化設(shè)計[J].導(dǎo)彈與航天運載技術(shù),2012, (4): 15-19.(Zhang Xueying, Yi Hang, Wang Yang, Han Liang.General Design of Control System for Launch Vehicle[J].Missiles and Space Vehicles, 2012, (4): 15-19.)

    [2] 侯俊杰.深入淺出MFC(第二版)[M].武漢:華中科技大學(xué)出版社,2001.

    [3] 李必信.面向?qū)ο筌浖詈系亩攘亢万炞C[J].東南大學(xué)學(xué)報,2006, 36(3): 446-451.(Li Bixin, Measurement and Verification of Object Oriented Software Coupling[J]. Journal of Southeast University, 2006, 36(3):446-451.)

    [4] 徐峰.抽象工廠設(shè)計模式在數(shù)據(jù)訪問中的應(yīng)用[J].電腦知識與技術(shù),2009, 5(18):4669-4670.(Xu Feng. Application of Abstract Factory Design Pattern in Data Access[J].Computer Knowledge and Technology, 2009, 5(18):4669-4670.)

    [5] 劉振吉,底健.基于Windows平臺的測控系統(tǒng)的實時性優(yōu)化方法[J].信息與電子工程,2008, 6(5):383-386.(Li Zhenji, Di Jian.Real Time Optimization Method of Measurement and Control System Based on Windows Platform[J].Information and Electronic Engineering, 2008, 6(5):383-386.)

    [6] 鐘洋.基于Windows NT的弱實時多任務(wù)的實現(xiàn)[D].武漢:武漢科技大學(xué),2002.(Zhong Yang. Implementation of a Weak Real Time Multi-Task Based on NT Windows[D]. Wuhan:Journal of Wuhan University of Science and Technology, 2002.)

    An Improved Method of TLC System Software for the Real-Time Requirement

    Zhang Shu,An Zhanxin,Zhao Qian

    Beijing Aerospace Automatic Control Institute, Beijing 100854, China

    Duetothetestlaunchandcontrolsystem(TLCsystem)softwarebasedonWindowsoperatingsystemframework,whichcannotfulfilltherealtimerequirementofmostoflaunchmission,thespecificmechanismofmissionsfailureisanalyzedasthepresentframeworkishardlytofulfillrealtimedemands.Amethodforrefiningtheframeworkisproposed,whichisbasedontheimprovedmethodwithasynchronouscooperativesimplificationandparalleltasksserializationinrealtime,andthesimulationisimplementedfortheperformanceanalysisofbothproposedframeworkimprovedandoriginalframework.TheresultsshowthatthestabilityofcycleintervaltimeofrealtimethreadsprocessedbyTLCsystemsoftwarebasedontheimprovedframeworkispromotedby20msachievedfrom247msandtheaveragefailureprobabilityisimprovedfrom0.6tonull.

    wframework;Realtime;Asynchronouscooperativesimplification;Paralleltasksserializationinrealtime

    2016-05-17

    張 舒(1989-),男,北京人,碩士,助理工程師,主要研究方向為軟件工程;安占新(1978-),男,河北衡水人,碩士,高級工程師,主要研究方向為軟件工程;趙 芊(1991-),男,北京人,碩士研究生,主要研究方向為軟件工程。

    TP319

    A

    1006-3242(2016)06-0068-04

    猜你喜歡
    實時性內(nèi)核線程
    萬物皆可IP的時代,我們當(dāng)夯實的IP內(nèi)核是什么?
    強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
    基于規(guī)則實時性的端云動態(tài)分配方法研究
    基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
    Linux內(nèi)核mmap保護機制研究
    基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實時性仿真
    航空電子AFDX與AVB傳輸實時性抗干擾對比
    淺談linux多線程協(xié)作
    一種車載Profibus總線系統(tǒng)的實時性分析
    Linux線程實現(xiàn)技術(shù)研究
    阿拉尔市| 屯门区| 晋州市| 霸州市| 梨树县| 壶关县| 镇雄县| 安义县| 合川市| 河津市| 建阳市| 灌阳县| 会宁县| 石楼县| 绥中县| 金山区| 建德市| 莆田市| 武宁县| 九江县| 临清市| 南江县| 余庆县| 清丰县| 彭泽县| 临颍县| 淮北市| 张家界市| 许昌县| 靖宇县| 鄂尔多斯市| 白水县| 枣强县| 调兵山市| 金乡县| 合山市| 平湖市| 宁晋县| 察雅县| 府谷县| 水富县|