技術(shù)頻道

      軟件可靠性仿真測試平臺(tái)實(shí)時(shí)技術(shù)研究

        摘 要:介紹了軟件可靠性仿真測試平臺(tái)的功能及組成框架,并以通用性和可擴(kuò)展性為前提,著重對(duì)測試平臺(tái)中仿真器分系統(tǒng)實(shí)時(shí)性實(shí)現(xiàn)的調(diào)度策略和關(guān)鍵技術(shù)進(jìn)行了研究。實(shí)驗(yàn)結(jié)果表明,這些實(shí)現(xiàn)方法具有較高的可靠性、易擴(kuò)展性和實(shí)用性。
        關(guān)鍵詞:實(shí)時(shí)技術(shù),軟件可靠性,調(diào)度策略,實(shí)時(shí)通信

        軟件可靠性測試是當(dāng)前軟件技術(shù)領(lǐng)域中一個(gè)比較熱門的話題,軟件可靠性對(duì)整個(gè)系統(tǒng)可靠性的影響越來越大,尤其對(duì)于航空類系統(tǒng)軟件來說,軟件故障往往是導(dǎo)致系統(tǒng)失敗的主要原因之一。采用模擬被測目標(biāo)軟件實(shí)際運(yùn)行環(huán)境對(duì)軟件進(jìn)行測試是目前國內(nèi)外一致認(rèn)為比較理想的軟件測試方法之一。合理設(shè)計(jì)目標(biāo)軟件可靠性的運(yùn)行環(huán)境,較為真實(shí)地模擬出被測軟件的真實(shí)運(yùn)行環(huán)境,不但可以檢測到目標(biāo)軟件運(yùn)行過程中存在的故障,而且也可以保證測試結(jié)果的真實(shí)性和置信度。
        本文在介紹軟件可靠性仿真測試平臺(tái)的組成及功能的基礎(chǔ)上,以仿真器分系統(tǒng)為例,對(duì)平臺(tái)在實(shí)時(shí)測試過程中的一些實(shí)現(xiàn)技術(shù)進(jìn)行了研究。

      1 仿真測試平臺(tái)系統(tǒng)功能及組成框架
        整個(gè)仿真測試平臺(tái)采用分布式結(jié)構(gòu),由主控機(jī)分系統(tǒng)(以下簡稱為主控機(jī))、仿真器分系統(tǒng)(以下簡稱為仿真器)和激勵(lì)器分系統(tǒng)(以下簡稱為激勵(lì)器)三個(gè)分系統(tǒng)組成,各分系統(tǒng)與被測目標(biāo)軟件的交聯(lián)關(guān)系如圖1所示。其中,主控機(jī)是測試平臺(tái)的控制中心,它負(fù)責(zé)生成原始測試數(shù)據(jù),向仿真器、激勵(lì)器分發(fā)測試用例,協(xié)調(diào)兩個(gè)分系統(tǒng)的工作,并根據(jù)測試狀況控制仿真器和激勵(lì)器的工作模式。仿真器和激勵(lì)器將主控機(jī)傳送過來的測試用例數(shù)據(jù),生成真正的目標(biāo)軟件可以接收的測試用例數(shù)據(jù)傳送給目標(biāo)系統(tǒng),同時(shí),仿真器和激勵(lì)器負(fù)責(zé)將自身工作狀態(tài)信息和從目標(biāo)系統(tǒng)得到的測試結(jié)果數(shù)據(jù)通過底層網(wǎng)絡(luò)實(shí)時(shí)或非實(shí)時(shí)地傳送回主控機(jī)。

      27a.gif (3557 bytes)

      圖1 仿真測試平臺(tái)的交聯(lián)關(guān)系圖

        由于目標(biāo)軟件由匯編語言寫成,內(nèi)部處理過程較為復(fù)雜,所以采用黑盒測試方法。目標(biāo)軟件的處理周期為25 ms,因此在實(shí)時(shí)測試過程中,需要每25 ms有一組測試用例數(shù)據(jù)由仿真器通過1553B總線,激勵(lì)器通過并口同時(shí)輸入給目標(biāo)軟件。仿真器和激勵(lì)器不僅需要每25 ms產(chǎn)生目標(biāo)軟件的輸入數(shù)據(jù),同步向目標(biāo)軟件發(fā)送數(shù)據(jù),而且仿真器還能接收目標(biāo)軟件的輸出,并且對(duì)輸出數(shù)據(jù)進(jìn)行相應(yīng)的實(shí)時(shí)處理,如結(jié)果數(shù)據(jù)的收集、保存及數(shù)據(jù)的顯示等等。由于整個(gè)測試平臺(tái)是在非實(shí)時(shí)、多任務(wù)的Win98操作系統(tǒng)上實(shí)現(xiàn)的,因此,如何利用Win98的多任務(wù)并發(fā)的特性,采用合理的任務(wù)調(diào)度策略,在任務(wù)處理周期內(nèi),按時(shí)完成各種任務(wù),并將多個(gè)任務(wù)協(xié)調(diào)一致,是整個(gè)設(shè)計(jì)過程中主要應(yīng)該解決的問題。
        在圖1所示的平臺(tái)各分系統(tǒng)中,主控機(jī)與目標(biāo)軟件是通過仿真器形成實(shí)時(shí)閉環(huán)的。仿真器通過測試用例,實(shí)時(shí)給出目標(biāo)軟件閉環(huán)運(yùn)行所需要的交聯(lián)子系統(tǒng)發(fā)出的命令和數(shù)據(jù),使得目標(biāo)軟件能夠在較為真實(shí)的仿真任務(wù)剖面和交聯(lián)環(huán)境中運(yùn)行。因此,仿真器是仿真測試平臺(tái)中的一個(gè)重要組成部分,仿真器的實(shí)時(shí)實(shí)現(xiàn)方法是整個(gè)平臺(tái)系統(tǒng)設(shè)計(jì)的重點(diǎn)。

      2 仿真器分系統(tǒng)的功能設(shè)計(jì)及實(shí)時(shí)實(shí)現(xiàn)技術(shù)
      2.1 仿真器分系統(tǒng)功能結(jié)構(gòu)
        仿真器分系統(tǒng)是個(gè)實(shí)時(shí)任務(wù)系統(tǒng),在整個(gè)測試過程的運(yùn)行模式下,需要并發(fā)處理不同的任務(wù),如數(shù)據(jù)實(shí)時(shí)存盤、提取、交互式顯示、每25 ms驅(qū)動(dòng)1553B總線等任務(wù),任務(wù)調(diào)度涉及到CPU、內(nèi)存、網(wǎng)絡(luò)、硬盤、數(shù)據(jù)結(jié)構(gòu)、I/O接口等資源,因而合理調(diào)度各個(gè)任務(wù),正確分配其所占用的系統(tǒng)資源,是仿真器測試平臺(tái)設(shè)計(jì)的關(guān)鍵之一。
        為了提高平臺(tái)系統(tǒng)的可靠性和故障快速恢復(fù)能力,仿真器采用功能模塊化設(shè)計(jì)方法。不同任務(wù)對(duì)應(yīng)的工作模塊工作相對(duì)獨(dú)立,可以隨時(shí)依據(jù)新技術(shù)對(duì)相應(yīng)模塊的軟件算法進(jìn)行更新和擴(kuò)充,這種設(shè)計(jì)易于發(fā)揮Win98的多任務(wù)的特性,提高平臺(tái)系統(tǒng)實(shí)時(shí)工作的能力。其中,任務(wù)調(diào)度管理模塊是仿真器平臺(tái)系統(tǒng)的核心,其他各功能模塊的運(yùn)行都是在管理調(diào)度模塊的統(tǒng)一管理控制下完成的。它與其他任務(wù)的功能模塊之間的邏輯調(diào)用關(guān)系如圖2所示。

      28a.gif (6751 bytes)

      圖2 任務(wù)調(diào)度管理模塊調(diào)用關(guān)系

        在仿真器設(shè)計(jì)中,除了必要的網(wǎng)卡(和主控機(jī)連接)和MBI卡(和目標(biāo)系統(tǒng)連接)等硬件設(shè)備以外,仿真器的各項(xiàng)功能均是通過軟件來完成的,因而系統(tǒng)軟件設(shè)計(jì)中采用合理的調(diào)度策略,避免操作系統(tǒng)的缺陷,以實(shí)現(xiàn)仿真器的功能。
      2.2 仿真器分系統(tǒng)實(shí)時(shí)實(shí)現(xiàn)技術(shù)
      2.2.1 任務(wù)調(diào)度管理模塊
        從上面的討論知道,仿真器的實(shí)時(shí)性是通過仿真器的任務(wù)調(diào)度管理模塊實(shí)現(xiàn)的。任務(wù)調(diào)度管理模塊為仿真器分系統(tǒng)的主控模塊,是分系統(tǒng)的全面管理者。該模塊根據(jù)用戶通過仿真器分系統(tǒng)人機(jī)接口界面輸入的參數(shù)、顯示過程的控制命令和主控機(jī)通過網(wǎng)絡(luò)傳送來的控制命令及參數(shù),對(duì)并發(fā)執(zhí)行的實(shí)時(shí)自檢/維護(hù)、網(wǎng)絡(luò)通信、交聯(lián)仿真數(shù)據(jù)生成、數(shù)據(jù)/狀態(tài)顯示、數(shù)據(jù)記錄、交聯(lián)數(shù)據(jù)驅(qū)動(dòng)、測試過程分析以及仿真器不同功能模式對(duì)應(yīng)的任務(wù)隊(duì)列進(jìn)行管理和調(diào)度,協(xié)調(diào)各模塊的工作,進(jìn)行各模塊的銜接,實(shí)現(xiàn)各線程的管理,完成與目標(biāo)系統(tǒng)實(shí)時(shí)交聯(lián)仿真任務(wù)。
      2.2.2 仿真器分系統(tǒng)任務(wù)劃分
        由于仿真器分系統(tǒng)是用于目標(biāo)軟件的實(shí)時(shí)仿真測試,每個(gè)任務(wù)都必須根據(jù)目標(biāo)軟件運(yùn)行的需要,滿足實(shí)時(shí)交聯(lián)仿真的定時(shí)限制,所以,為保證仿真器的實(shí)時(shí)性能,根據(jù)任務(wù)和平臺(tái)系統(tǒng)工作模式的不同,在調(diào)度框架中集中不同的調(diào)度策略,任務(wù)調(diào)度涉及到實(shí)時(shí)任務(wù)和普通分時(shí)任務(wù)的調(diào)度。
        按照仿真器所處的運(yùn)行模式,將其任務(wù)劃分為實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù)。
        實(shí)時(shí)任務(wù)指在仿真測試過程中,仿真器需要在確定時(shí)間內(nèi)完成的任務(wù),包括:
        
      命令控制(包括測試開始、工作模式切換、驅(qū)動(dòng)通信接口、測試結(jié)束等);
        與被測目標(biāo)軟件之間的實(shí)時(shí)交聯(lián)數(shù)據(jù)驅(qū)動(dòng)任務(wù);
        與主控機(jī)分系統(tǒng)之間的實(shí)時(shí)網(wǎng)絡(luò)通信任務(wù);
        交聯(lián)數(shù)據(jù)實(shí)時(shí)生成;
        測試數(shù)據(jù)和測試結(jié)果數(shù)據(jù)的記錄和顯示;
        測試結(jié)果數(shù)據(jù)的初步精度分析和狀態(tài)邏輯驗(yàn)證。
        非實(shí)時(shí)任務(wù)指對(duì)于任務(wù)完成的時(shí)間沒有嚴(yán)格約束的任務(wù),包括:
        用戶通過界面進(jìn)行的分系統(tǒng)參數(shù)和有關(guān)配置描述;
        分系統(tǒng)初始化及用戶指定分系統(tǒng)自檢和維護(hù);
        測試數(shù)據(jù)的事后回放;
        
      數(shù)據(jù)庫操作。
        為系統(tǒng)任務(wù)調(diào)度管理的方便,根據(jù)任務(wù)的屬性、等級(jí)和處理周期的不同,將實(shí)時(shí)任務(wù)劃分為動(dòng)態(tài)任務(wù)和靜態(tài)任務(wù),靜態(tài)任務(wù)又包括長周期任務(wù)和短周期任務(wù)。
        動(dòng)態(tài)任務(wù)指動(dòng)態(tài)跟蹤系統(tǒng)狀態(tài),根據(jù)實(shí)際運(yùn)行狀況,臨時(shí)加入的任務(wù),如實(shí)時(shí)自檢任務(wù)、系統(tǒng)發(fā)生故障時(shí)動(dòng)態(tài)加入的異常處理任務(wù)等。
        長周期任務(wù)指可以在多個(gè)時(shí)間標(biāo)簽內(nèi)完成的任務(wù),如有必要,這類任務(wù)可在時(shí)限還沒有完成就終止。包括顯示任務(wù)、記錄任務(wù)、從數(shù)據(jù)庫或數(shù)據(jù)文件中讀取數(shù)據(jù)到內(nèi)存的任務(wù)。
        短周期任務(wù)指對(duì)任務(wù)完成的時(shí)間有嚴(yán)格的限定,必須在一個(gè)時(shí)間標(biāo)簽內(nèi)完成的任務(wù),即在25 ms周期內(nèi),完成對(duì)目標(biāo)軟件的一次驅(qū)動(dòng),同時(shí)接收目標(biāo)軟件的對(duì)外輸出。包括交聯(lián)數(shù)據(jù)的生成、交聯(lián)數(shù)據(jù)的1553B驅(qū)動(dòng)、從主控機(jī)接收和向主控機(jī)發(fā)送測試數(shù)據(jù)信息包、仿真器應(yīng)答信息包的網(wǎng)絡(luò)通信任務(wù)等周期性的任務(wù)。
        上述各類任務(wù)在其生命周期內(nèi)一般都包括創(chuàng)建、就緒、掛起、運(yùn)行、取消和結(jié)束六種狀態(tài),其狀態(tài)轉(zhuǎn)換關(guān)系如圖3所示,由總的任務(wù)調(diào)度控制器將各任務(wù)帶入不同的狀態(tài)。

      29a.gif (3064 bytes)

      圖3 任務(wù)狀態(tài)轉(zhuǎn)換關(guān)系示意圖

      2.2.3 仿真器調(diào)度模塊的設(shè)計(jì)
        仿真器對(duì)于各類任務(wù)采用時(shí)間、事件以及數(shù)據(jù)驅(qū)動(dòng)相結(jié)合的調(diào)度原則進(jìn)行控制管理。為了提高系統(tǒng)的實(shí)時(shí)性和適應(yīng)性,采用了動(dòng)態(tài)和靜態(tài)調(diào)度策略相結(jié)合、任務(wù)發(fā)生的周期和優(yōu)先級(jí)相結(jié)合的調(diào)度方式。
        在調(diào)度框架中集中不同的調(diào)度策略。在運(yùn)行模式下:系統(tǒng)測<

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 日韩高清一区二区| 一区在线免费观看| 美女视频免费看一区二区| 亚洲AV无码一区二区三区性色| 日韩一区在线视频| 无码人妻精品一区二区三区66| 亚洲一区二区三区免费| 久久无码人妻一区二区三区午夜| 精品一区二区三区水蜜桃| 欧美日韩一区二区成人午夜电影| 免费一区二区三区| 视频一区视频二区在线观看| 日本精品3d动漫一区二区| 国产福利一区二区三区| 精品人妻系列无码一区二区三区| 本免费AV无码专区一区| 免费无码一区二区三区蜜桃| 国产一区二区三区不卡在线看 | 精品人妻AV一区二区三区| 国产另类TS人妖一区二区| 一区二区三区免费高清视频| 麻豆精品一区二区综合av| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 免费看一区二区三区四区| 精品日本一区二区三区在线观看 | 亚洲欧美国产国产一区二区三区 | 日本道免费精品一区二区| 香蕉视频一区二区三区| 中文字幕VA一区二区三区| 久久中文字幕一区二区| 一区二区中文字幕| 在线播放偷拍一区精品| 成人区人妻精品一区二区不卡| 国产精品一区二区久久乐下载| 免费无码一区二区| 免费观看一区二区三区| 国产韩国精品一区二区三区久久| 中文字幕一区在线观看视频| 欧洲精品一区二区三区在线观看| 亚洲AV无码一区二区三区在线观看 | 久久精品无码一区二区WWW|
        • <dl id="4a8ao"><acronym id="4a8ao"></acronym></dl>
          <tfoot id="4a8ao"></tfoot>
          <rt id="4a8ao"></rt>
            <bdo id="4a8ao"><source id="4a8ao"></source></bdo>
            <button id="4a8ao"><tbody id="4a8ao"></tbody></button>
              <rt id="4a8ao"><acronym id="4a8ao"></acronym></rt>