亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種高速系統(tǒng)級虛擬測試環(huán)境實現(xiàn)技術(shù)

        2019-06-13 06:01:28劉春龍武詠晗
        航天控制 2019年2期
        關(guān)鍵詞:測試環(huán)境虛擬環(huán)境進(jìn)程

        王 洋 薛 靜 劉春龍 武詠晗

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

        隨著航天產(chǎn)品在信息化、體系化、自主化和智能化等方面的飛速發(fā)展,軟件在整個系統(tǒng)中的重要性日益提高,軟件的規(guī)模越來越大、關(guān)鍵程度越來越高,軟件的質(zhì)量與可靠性已經(jīng)成為影響航天產(chǎn)品質(zhì)量與可靠性的重要因素。軟件測試是目前普遍采用的提高軟件質(zhì)量的重要手段,是軟件質(zhì)量保證工作中的重要環(huán)節(jié)之一[1]。

        根據(jù)QJA30A的要求,需要針對航天型號軟件進(jìn)行軟件配置項測試和系統(tǒng)測試[2]。在配置項測試時通常采用全數(shù)字仿真測試平臺作為測試工具,該工具的優(yōu)點是透明性好,可控性強(qiáng),易于注入測試數(shù)據(jù),對小概率、安全關(guān)鍵功能的測試可以提供有效的手段支持。另外,被測軟件代碼不需要插樁,在不做任何改動的情況下,就可以完成對被測軟件的非侵入式測試[3]。這種方法能夠較好地驗證被測軟件內(nèi)部的功能和性能特性,在軟件系統(tǒng)復(fù)雜度較低的前提下,通過配置項測試可以得到較好的驗證效果,但是配置項測試是一種較為孤立的測試,難以發(fā)現(xiàn)軟件系統(tǒng)中配置項之間的接口和時序匹配方面可能存在的缺陷。

        隨著航天系統(tǒng)復(fù)雜度提高,系統(tǒng)狀態(tài)空間與軟件運行剖面的數(shù)量膨脹,由于很多問題都是各子系統(tǒng)之間時序與運行狀態(tài)不匹配造成,因此系統(tǒng)級軟件測試越來越重要。而現(xiàn)階段的系統(tǒng)級軟件測試仍然擺脫不了對硬件設(shè)備的依賴,故障仿真的難度大,很多情況下由于受限于安全性和成本,系統(tǒng)測試的覆蓋性難以達(dá)到預(yù)期。因此急需開展系統(tǒng)級虛擬測試環(huán)境的研究工作。

        本文研究了系統(tǒng)級測試環(huán)境構(gòu)建方法,基于操作系統(tǒng)提供的進(jìn)程間通訊技術(shù),突破了多虛擬測試環(huán)境數(shù)據(jù)交換與時間同步的技術(shù)難點,為系統(tǒng)級測試環(huán)境構(gòu)建提供了一個高效、可行的解決方案。

        1 系統(tǒng)級虛擬測試環(huán)境

        虛擬測試環(huán)境以真實箭載目標(biāo)代碼為對象,利用軟件仿真技術(shù)逼真地模擬物理硬件目標(biāo)系統(tǒng),使運行于真實目標(biāo)系統(tǒng)上的嵌入式軟件,可以不加修改直接在全數(shù)字仿真測試平臺上運行,并且其運行的動態(tài)特性與在真實目標(biāo)機(jī)上一致,能夠讓硬件和軟件開發(fā)人員同時進(jìn)行系統(tǒng)定義、軟件開發(fā)、集成和部署。單處理器的虛擬測試環(huán)境分層結(jié)構(gòu)如圖1所示。

        圖1 虛擬測試環(huán)境分層結(jié)構(gòu)圖

        由圖1可知虛擬測試環(huán)境是基于虛擬內(nèi)核的分層結(jié)構(gòu),而系統(tǒng)級測試環(huán)境需要使多個虛擬測試環(huán)境形成一個閉環(huán)互聯(lián)的有機(jī)整體,在構(gòu)建過程中需要解決2個關(guān)鍵問題:

        1)數(shù)據(jù)交換:在運行過程中,一個虛擬環(huán)境通過接口的輸出將作為另一個虛擬環(huán)境的接口輸入,為了保證系統(tǒng)級虛擬環(huán)境運行的正確性,必須實現(xiàn)嵌入式系統(tǒng)之間的數(shù)據(jù)流仿真;

        2)同步運行:在Windows操作系統(tǒng)中,每個虛擬測試環(huán)境作為一個單獨的進(jìn)程運行。由于Windows不是實時操作系統(tǒng),因此每個進(jìn)程獲得的運行時間片并不相同,導(dǎo)致每個虛擬環(huán)境中運行的嵌入式軟件的虛擬時間有偏差。為了保證系統(tǒng)時序的一致性,必須實現(xiàn)多個虛擬測試環(huán)境的同步機(jī)制。

        2 技術(shù)方案選型

        虛擬測試環(huán)境是操作系統(tǒng)中的一個進(jìn)程,為了實現(xiàn)多個虛擬測試環(huán)境協(xié)同運行,考慮采用操作系統(tǒng)提供的進(jìn)程間通訊機(jī)制,設(shè)計相應(yīng)的數(shù)據(jù)傳輸與同步運行流程。在選擇進(jìn)程間通訊機(jī)制時,需要從運行效率、可靠性2方面進(jìn)行考察,既要保證虛擬環(huán)境之間的同步協(xié)作不會對運行時間造成過多負(fù)載,也要確保虛擬環(huán)境彼此發(fā)送的數(shù)據(jù)能夠完整可靠地發(fā)送到目的地址。

        2.1 進(jìn)程間通訊

        IPC是進(jìn)程間通訊(interprocess communication)的簡稱。傳統(tǒng)上該術(shù)語描述的是運行在某個操作系統(tǒng)之上不同進(jìn)程間消息傳遞的不同方式。最早的IPC機(jī)制由UNIX提出,主要有以下幾種方式[4]:

        1)進(jìn)程共享留存于文件系統(tǒng)中某個文件上的某些信息。為訪問這些信息,每個進(jìn)程都需要通過系統(tǒng)調(diào)用穿越內(nèi)核。當(dāng)一個文件有待更新,某種形式的同步是必要的,這樣既可以保護(hù)多個寫入者,防止彼此相互串?dāng)_,也可以保護(hù)一個或多個讀出者,防止寫入者的干擾。

        2)進(jìn)程有一個雙方都能訪問的共享內(nèi)存區(qū)。每個進(jìn)程一旦設(shè)置好該共享內(nèi)存區(qū),可以根本不涉及內(nèi)核就訪問其中的數(shù)據(jù)。Windows中的管道就是這種方式。

        3)進(jìn)程之間的數(shù)據(jù)傳輸通過網(wǎng)絡(luò)接口,進(jìn)程可以在同一臺主機(jī)也可以在網(wǎng)絡(luò)互連的不同主機(jī)。進(jìn)程的交互可以是基于流模式(TCP)——流模式中的數(shù)據(jù)需要確定的格式,以保證區(qū)分不同消息的邊界;也可以是消息模式(UDP、SCTP)[5]。

        通過本地文件系統(tǒng)進(jìn)行IPC的方式在每次進(jìn)程同步過程中都要訪問磁盤,對運行效率有很大影響,因此本文在基于網(wǎng)絡(luò)和基于共享內(nèi)存2種IPC方式之間進(jìn)行選擇。

        2.2 基于網(wǎng)絡(luò)的數(shù)據(jù)分發(fā)協(xié)議(DDS)

        DDS是對象管理組織(OMG)制定的實現(xiàn)訂閱/發(fā)布通訊模式、滿足實時性要求的軟件設(shè)計標(biāo)準(zhǔn)和規(guī)范,該規(guī)范對分布式實時系統(tǒng)中的數(shù)據(jù)發(fā)布、傳遞和接收的接口和行為進(jìn)行了標(biāo)準(zhǔn)化。DDS純粹以數(shù)據(jù)為中心分發(fā)數(shù)據(jù),用QoS參數(shù)描述資源狀況、對資源的期待程度及網(wǎng)絡(luò)狀況等,大大增強(qiáng)了通訊的實時性和靈活性,簡化了分布式系統(tǒng)中數(shù)據(jù)的有效發(fā)布,為實時環(huán)境下以數(shù)據(jù)為中心的分布式應(yīng)用提供高效、有用的通訊服務(wù),其特點如下[6]:

        1)具有開放式體系結(jié)構(gòu),提供規(guī)范的接口、服務(wù)和數(shù)據(jù)格式,使業(yè)務(wù)應(yīng)用系統(tǒng)軟件可以輕松正確地實現(xiàn)移植、互操作和交互的功能;

        2)具備共享數(shù)據(jù)能力,無需考慮數(shù)據(jù)生產(chǎn)者和使用者實際的物理地址和在組織架構(gòu)中的位置;

        3)支持以數(shù)據(jù)為中心的、高效的訂閱/發(fā)布模式。

        DDS規(guī)范描述了2個層次的接口:以數(shù)據(jù)為中心的發(fā)布/訂閱層(DCPS)和數(shù)據(jù)本地重構(gòu)層(DL-RL),其結(jié)構(gòu)如圖2所示。

        圖2 DDS結(jié)構(gòu)圖

        DCPS層是DDS的基礎(chǔ)層,為應(yīng)用軟件提供了數(shù)據(jù)發(fā)布和訂閱的功能,使發(fā)布者能夠識別數(shù)據(jù)對象并發(fā)布數(shù)據(jù);DLRL層是建立在DCPS層之上的一個可選層,能夠?qū)⒎?wù)簡單地集成到應(yīng)用層,在數(shù)據(jù)更新后自動重組數(shù)據(jù),并通知訂閱者及時更新。該模型中數(shù)據(jù)收發(fā)雙方均無需了解對方物理駐留位置、駐留形式,實現(xiàn)了通信雙方時間、空間和數(shù)據(jù)通信的多維松散耦合[7]。

        2.3 管道

        管道(PIPE)是一個以共享內(nèi)存為基礎(chǔ)的進(jìn)程間通訊技術(shù)。創(chuàng)建管道的進(jìn)程作為管道服務(wù)器(pipe server),連接該管道的進(jìn)程作為管道客戶端(pipe client)。管道一端的進(jìn)程向該管道中寫入數(shù)據(jù),管道另一端的進(jìn)程就能夠讀取到該數(shù)據(jù)。

        Windows系統(tǒng)中的管道分為匿名管道與命名管道:

        1)匿名管道:創(chuàng)建匿名管道不需要名稱作為參數(shù),匿名管道是半雙工管道,管道服務(wù)器和管道客戶端各操作2個句柄,原理如圖3,進(jìn)程1和進(jìn)程2使用各自的2個句柄HD[0]和HD[1]操作管道。

        圖3 匿名管道

        2)命名管道:命名管道是一個全雙工管道,管道雙方可通過一個句柄完成數(shù)據(jù)收發(fā)操作,由操作系統(tǒng)維護(hù)獨立的接收緩沖與發(fā)送緩沖,Windows中的命名管道客戶程序本質(zhì)上通過文件接口使用命名管道[8]。同時,命名管道提供了一對多的功能,可以使管道服務(wù)器并行地與多個管道客戶端交互,原理如圖4。

        圖4 命名管道

        2.4 效率及可靠性比對

        為了盡量提高虛擬測試環(huán)境的運行效率,要保證多個測試環(huán)境之間數(shù)據(jù)傳輸?shù)母咝?,因此需要?種常用的進(jìn)程間通訊技術(shù)的數(shù)據(jù)傳輸吞吐量與代碼執(zhí)行效率進(jìn)行對比。本文通過實現(xiàn)2個示例進(jìn)程,進(jìn)程間傳遞的數(shù)據(jù)選取2種數(shù)據(jù)塊粒度,分別為1K字節(jié)和4K字節(jié);傳輸次數(shù)為10000、50000、100000次;分為持久化和非持久化2個執(zhí)行場景,編寫用例進(jìn)行考核。具體比對條件及硬件平臺規(guī)格見表1:

        表1 傳輸速率及執(zhí)行效率比對條件

        通過在相同執(zhí)行平臺執(zhí)行上述比對條件,得到的DDS與PIPE執(zhí)行時間(單位:s),具體結(jié)果見表2和3。

        表2 數(shù)據(jù)非持久化場景下傳輸速度與執(zhí)行時間

        表3 數(shù)據(jù)持久化場景下傳輸速度與執(zhí)行時間

        由表2和3的結(jié)果可知,PIPE在非持久化場景下的傳輸速率遠(yuǎn)高于DDS,說明共享內(nèi)存方式與基于套接字的網(wǎng)絡(luò)傳輸在執(zhí)行效率上有很大差別。在持久化場景下,2種方式的運行時間差別不明顯,說明硬盤的讀寫速度是代碼執(zhí)行效率的瓶頸,弱化了2種進(jìn)程間通訊機(jī)制的效率差別,目前系統(tǒng)級虛擬環(huán)境對于持久化的需求并不大。從可靠性角度觀察,2種方式在數(shù)據(jù)可靠性方面均可以保證不丟數(shù)。

        綜合數(shù)據(jù)傳輸效率和可靠性2方面的數(shù)據(jù)結(jié)果,本文選擇采用PIPE作為構(gòu)建系統(tǒng)級測試環(huán)境的基礎(chǔ)。

        3 實現(xiàn)

        3.1 多處理器軟件測試平臺間的數(shù)據(jù)交換技術(shù)

        虛擬環(huán)境之間的數(shù)據(jù)發(fā)送與接收是異步操作,彼此沒有約束條件。為了正確模擬該行為,需要采用多個線程實現(xiàn),其中虛擬環(huán)境1作為管道服務(wù)器(PIPE Server)完成管道建立和外設(shè)仿真,管道服務(wù)器的主線程創(chuàng)建管道,并等待管道客戶端連接。虛擬環(huán)境2作為管道客戶端(PIPE Client)阻塞接收數(shù)據(jù)。每個虛擬環(huán)境根據(jù)自身對外的硬件接口數(shù)量,建立對應(yīng)的管道數(shù)目,并維護(hù)管道的數(shù)據(jù)收發(fā)邏輯(圖5)。

        圖5 數(shù)據(jù)交換順序圖

        3.2 多處理器間時間同步技術(shù)

        嵌入式系統(tǒng)需要按照設(shè)計的時序運行,為了保證系統(tǒng)中每個節(jié)點的狀態(tài)轉(zhuǎn)換操作一致,系統(tǒng)測試環(huán)境中的每一個節(jié)點也需要統(tǒng)一節(jié)拍進(jìn)行計時。通過引入一個同步管理主節(jié)點(Syn master),專門去同步不同節(jié)點(Syn slave)的運行周期。具體實現(xiàn)方法如圖6。

        1)當(dāng)所有子節(jié)點已經(jīng)處于就緒狀態(tài)后,同步管理主節(jié)點發(fā)送同步信號,所有子節(jié)點均反饋同步好信號后,平臺初始化工作結(jié)束;

        2)平臺中任意一個節(jié)點先啟動運行,運行1ms后,把自己的輸出心跳輸出給同步節(jié)點,然后該節(jié)點停止運行,等待同步節(jié)點下一次心跳數(shù)據(jù)。其他節(jié)點類似,當(dāng)同步節(jié)點收到通道中所有節(jié)點的心跳數(shù)據(jù)后,平臺該周期運行完成;

        3)平臺中所有節(jié)點運行完一個周期(1ms)后,同步管理主節(jié)點輸出心跳數(shù)據(jù),通知平臺中所有節(jié)點繼續(xù)下一周期的運行。如此循環(huán)直至整個嵌入式軟件運行結(jié)束。

        圖6 時間同步順序圖

        4 結(jié)論

        在某型號飛行控制軟件的測試過程中利用了本文所實現(xiàn)的高速系統(tǒng)級虛擬測試環(huán)境。該型號的飛行控制軟件采用多核處理器,不同于以往單核處理器架構(gòu),運行在多個處理器核心的飛行軟件構(gòu)成一個嵌入式系統(tǒng),該系統(tǒng)中多處理器核隨著軟件運行,彼此間存在數(shù)據(jù)交互和同步。圖7為該型號在平臺上運行與理論仿真導(dǎo)航速度的相對誤差和絕對誤差曲線,圖8為導(dǎo)航位置的相對誤差和絕對誤差曲線。由曲線可知,平臺計算結(jié)果與理論仿真數(shù)據(jù)誤差在允許范圍之內(nèi)。

        圖7(a) 三方向?qū)Ш剿俣认鄬φ`差曲線

        圖7(b) 三方向?qū)Ш剿俣冉^對誤差曲線

        圖8(a) 三方向?qū)Ш轿恢孟鄬φ`差曲線

        圖8(b) 三方向?qū)Ш轿恢媒^對誤差曲線

        表4為該型號在平臺上運行時2個節(jié)點時間同步情況表。表中虛擬仿真時間始終保持在0.1ms內(nèi),能夠保證在同步周期內(nèi)運行。而真實運行時間由于各節(jié)點的機(jī)器性能有較大差距。

        表4 時間同步結(jié)果

        該高速系統(tǒng)級虛擬環(huán)境實現(xiàn)技術(shù)已在型號中得到驗證。隨著系統(tǒng)級測試方法論的發(fā)展,該技術(shù)將逐步應(yīng)用到其它型號軟件的系統(tǒng)級測試中。

        猜你喜歡
        測試環(huán)境虛擬環(huán)境進(jìn)程
        虛擬環(huán)境中空間壓縮問題的影響與改善
        包裝工程(2023年16期)2023-08-25 11:32:42
        前庭刺激對虛擬環(huán)境三維空間定向的影響及與空間能力的相關(guān)關(guān)系
        載人航天(2021年5期)2021-11-20 06:04:34
        如何通過虛擬環(huán)境有效管理Python第三方庫
        全數(shù)字仿真測試環(huán)境在航天軟件測試中的應(yīng)用研究
        債券市場對外開放的進(jìn)程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        雷達(dá)航跡處理測試環(huán)境構(gòu)建方法研究
        科技視界(2019年10期)2019-09-02 03:22:27
        網(wǎng)絡(luò)設(shè)備自動化測試設(shè)計與實現(xiàn)
        虛擬環(huán)境下大數(shù)據(jù)智能并行聚類方法研究
        負(fù)離子紡織品檢測方法分析
        中國纖檢(2015年4期)2015-03-13 18:25:35
        社會進(jìn)程中的新聞學(xué)探尋
        天堂av在线播放观看| 三级日本理论在线观看| 淫片一区二区三区av| 欧美牲交a欧美牲交aⅴ免费真| 久久国产36精品色熟妇| 免费无码黄网站在线观看| 久久久熟女一区二区三区| 国产精品无码一区二区三区电影 | 一本一道久久综合久久| 亚洲国产成人片在线观看| 亚洲国产AV无码男人的天堂| 中日韩字幕中文字幕一区| 日本一区二区免费在线看| 妇女bbbb插插插视频| 爱a久久片| 日本无吗一区二区视频| 99人中文字幕亚洲区三| 国产办公室沙发系列高清| 国产精品毛片无码久久| 亚洲av第二区国产精品| 久青草影院在线观看国产| 99久久精品费精品国产一区二区| 日韩欧美在线观看成人| 国产一区二区三区尤物| 久久久国产乱子伦精品| 欧美日韩久久久精品a片| 无码天堂在线视频| 亚洲乱码中文字幕综合久久| 亚洲国产精品无码专区影院| 亚洲片一区二区三区| 91亚洲夫妻视频网站| 99久久无色码中文字幕人妻蜜柚| 欧美激情内射喷水高潮| 久久久精品中文无码字幕| 国产一区二区三区色哟哟| 亚洲国产精品无码专区影院| 国产精品自产拍在线18禁| 中日韩字幕中文字幕一区| 亚洲天堂av在线网站| 欧美天天综合色影久久精品| 亚洲av无码一区二区乱子仑|