《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ADS2的嵌入式軟件測試仿真建模方法研究
基于ADS2的嵌入式軟件測試仿真建模方法研究
2014年電子技術應用第6期
張海軍1,王艷軍1,劉海見2,張凱翊3
1.91413部隊,河北 秦皇島066001; 2.海軍大連艦艇學院 基礎部,遼寧 大連116018
摘要: 嵌入式軟件通常運行于特定的物理環境中,外部設備接口種類多,功能差異大,實時性強,在進行測試時需要花費大量人力、物力來構建測試環境。針對這一問題,采用半實物仿真技術,利用ADS2測試工具對外部設備進行仿真建模,構建一個逼真的模擬環境來進行嵌入式軟件測試。ADS2能夠滿足嵌入式軟件仿真測試的通用化和實時性要求,可以有效支持數據源、交聯設備等多種仿真模型的設計開發。測試實例表明,利用ADS2進行嵌入式軟件半實物仿真測試,能夠加快測試環境構建過程,降低測試成本,拓寬測試范圍,提高嵌入式軟件測試的質量和效率。
中圖分類號: TP391.9
文獻標識碼: A
文章編號: 0258-7998(2014)06-0017-03
Research on the embedded software testing simulation modeling based on ADS2
Zhang Haijun1,Wang Yanjun1,Liu Haijian2,Zhang Kaiyi3
1.91413 Units, Qinhuangdao 066001,China;2.Department of Basic Science, Dalian Naval Academy, Dalian 116018,China;3.91635 Units, Beijing 102249,China
Abstract: Embedded software usually runs on a specific physical environment, which has external devices of many kinds of interfaces and big function difference and demands strong real-time, so the testing needs to spend a lot of manpowered and material resources for building test environment. Aiming at this problem, with the semi physical simulation technology, simulation modeling of external equipments was established by using ADS2 test tools, and a realistic simulation environment for embedded software testing was build. ADS2 can meet the requirements of embedded software simulation testing′s generalization and real-time, and can effectively support the design and development of the simulation model of data source and crosslinking equipment. Test examples show that, by using the ADS2 embedded software simulation testing, it can speed up the construction process of testing environment, reduce the cost of testing, broaden the testing scope, and improve the quality and efficiency of embedded software testing.
Key words : ADS2;embedded software testing;simulation modeling

      軟件測試是保證軟件質量和可靠性的重要手段。但由于嵌入式軟件的嵌入性、實時性、反應性等特點[1],使其測試變得非常困難。實踐證明,仿真測試是發現嵌入式軟件缺陷、提高其可靠性的一種非常有效的方法。

        嵌入式軟件仿真測試先后發展起來三種主要方案:全實物仿真測試環境、全數字仿真測試環境、半實物仿真測試環境[2-3]。半實物仿真測試能夠逼真地模擬、組織被測軟件運行所需的真實物理環境輸入信號,驅動被測軟件運行,同時接收被測軟件的輸出結果,對被測軟件進行自動、實時、非侵入性的閉環測試。由于半實物仿真解決方案能夠較好地兼顧真實性和可操作性,從而得到國內外的重視,具有良好的發展前景。典型的半實物仿真測試工具有:德國TechSAT公司的ADS2,美國Opal-RT公司的RT-LAB,德國dSPACE公司的dSPACE等。

1 ADS2測試環境體系結構

1.1 硬件體系結構

        ADS2(Avionics Development System/2nd Generation)硬件包括實時主機、工作站、接線矩陣、故障注入單元FIBO(Fault Insertion & Break-Out Unit)、外部設備和被測件等,如圖1所示[4]

        ADS2實時主機為VxWorks實時系統,底層采用VME總線,通過不同的VME接口轉換板實現CPU板與不同接口之間的連接。接線矩陣用來實現對系統I/O信號的連接和切換;故障注入單元用來模擬實際系統中信號可能產生的故障現象;外部設備是與被測件交互的真實設備,可連接多個;工作站是用戶進行測試管理、配置、執行的終端,可以有多個工作站分別執行不同的任務。

1.2 軟件體系結構

        ADS2軟件包括用戶工具套件devSMART bench、實時內核VxWorks、仿真模型、接口驅動程序等[5],如圖2所示。

        用戶工具套件用來實現測試場景管理、系統配置、變量觀察和數據記錄、腳本編輯、仿真建模等。

        用戶開發接口devExchange提供了一種運行仿真模型的機制,能夠使其運行于非實時的工作站或實時主機上。

2 仿真建模實現原理

        仿真建模必須滿足通用化、實時性的基本要求[6],才能快速構建測試環境,有效進行嵌入式軟件測試

2.1 仿真建模的通用化

        嵌入式軟件外部設備的I/O接口類型和實現功能差異很大,這就要求在仿真建模時要有很大的靈活性,能夠支持不同I/O接口類型,快速實現各種功能算法。

        基于CVT(Current Value Table)數據庫進行內部數據交換是ADS2仿真建模通用化的核心技術。CVT是一個分布式的實時數據庫,存儲著ADS2內部的各種I/O數據及其相關的變量名、缺省值、最大/最小值等數據描述。實時內核提供訪問CVT變量的方法,ADS2內部所有被測件、真實交聯設備、仿真模型、信號仿真工具、數據顯示記錄工具等之間沒有直接的接口,均以CVT為核心進行數據交換,如圖3所示。其中,仿真模型、信號仿真工具中的輸入輸出數據與CVT變量之間的對應關系在仿真接口文檔中進行配置;被測件、真實交聯設備的I/O接口數據與CVT變量之間的對應關系在硬件接口映像文件中進行設置;數據顯示記錄工具直接訪問CVT變量。

        ADS2仿真建模的通用性主要體現在以下幾方面:

        (1)支持多種I/O接口類型。ADS2支持接口控制文檔ICD(Interface Control Document)數據庫,可根據每個交聯設備的ICD配置相應的IOM文件,支持多種I/O接口類型,如數字I/O、模擬I/O、RS-232、RS-422、ARINC429、MIL-STD-1553、CAN以及非標信號等。

        (2)以CVT數據庫為核心進行數據交換,使硬件I/O接口與仿真模型算法有效隔離,這樣在仿真建模時不需要關心硬件接口類型,而專注于軟件功能算法的實現。

        (3)利用MATRIX、Matlab/Simulink等第三方工具,能夠實現復雜算法的仿真模型。

        (4)在測試中,只需修改配置文件,就可實現真實交聯設備與仿真模型之間的切換,快速構建各種測試場景。

        ADS2在仿真建模通用化方面存在不足之處:仿真模型一旦開發、編譯完成之后,仿真參數值不能修改,而在實際測試中,經常需要輸入不同參數值的多個用例進行測試,頻繁地編譯仿真模型很不方便。

2.2 仿真建模的實時性

        對于嵌入式軟件測試,仿真模型的實時性是最關鍵的問題之一。影響仿真模型實時性的主要因素有以下幾點:

        (1)操作系統

        ADS2實時主機采用VxWorks嵌入式操作系統。VxWorks具有良好的可靠性和卓越的實時性,保證了能在限定的時間內執行完仿真計算,并能及時對任務進行調度和響應外部事件。

        (2)調度策略

        ADS2調度策略采用時間驅動模型,VxWorks實時內核以幀為基本時間單位,對各任務進行統一調度。在一個幀周期內:I/O設備可以進行一次完整的數據輸入或輸出;仿真模型可以進行一次輸入變量讀取、計算和結果輸出;可視化工具可以進行一次CVT變量值讀取等。

        (3)仿真周期

        ADS2每一個仿真幀中包含許多基本幀,基本幀的幀速度、幀數等可由用戶設定。仿真程序既可在實時內核上運行也可在工作站上運行,運行于工作站的非實時仿真程序采用環路連接(TCP/IP),運行于實時主機的實時仿真程序采用直接連接(VME、共享內存、反射內存)。直接連接方式下,可以支持很短的幀間隔,典型間隔時間為5 ms,最小可為1 ms。

3 仿真建模方法研究

        對嵌入式軟件進行仿真測試時,通常需要兩種類型的仿真模型:數據源模型和交聯設備模型[7]。數據源模型為被測軟件的正常運行提供所需的激勵信號數據,建模時要重點考慮激勵信號的數據類型、時序控制等;而交聯設備模型是對與被測件有數據交互關系的外部設備進行建模,建模時要重點考慮交聯設備功能的內部算法實現。

3.1 數據源模型建模方法

        ADS2提供的信號仿真工具SST(Signal Simulation Tool)擁有良好的圖形化編輯界面,可以圖形定義測試時序,使用方便、直觀,能夠用來快速編輯、產生多種類型的信號源數據,如正余弦、斜坡、脈沖信號和用戶自定義波形等,并可檢查預期行為。

3.2 交聯設備模型建模方法

        交聯設備模型重點在于功能算法的實現,ADS2提供了2種方法。

3.2.1 手工編寫仿真模型

        針對不同功能的交聯設備仿真測試,ADS2提供了用戶開發接口devExchange用來連接外部仿真模型。devExchange提供了一種運行仿真程序的機制,用戶可以采用C、Fortran、Ada等編程語言進行仿真模型的編寫。

        手工編寫仿真模型的過程如下:

        (1)創建測試場景工程文件;

        (2)配置基本幀數、幀速度等系統參數;

        (3)利用配置管理工具創建CVT文件,添加需要的CVT變量;

        (4)硬件接口連接,在I/O映射文檔中,將接口數據映射到輸入和輸出CVT變量;

        (5)利用配置管理工具創建仿真接口定義SID文件,建立CVT變量與仿真模型中輸入或輸出變量的對應關系;

        (6)按照ADS2格式編寫仿真模型源代碼,模型中使用的仿真輸入或輸出變量要與SID文件中定義的一致;

        (7)編輯malefile文件,指明編譯目標文件的格式,如:ARCH=PPC表示在VxWorks 55系統上執行,ARCH=win32表示在Windows XP/2000系統上執行等;

        (8)利用make命令編譯仿真模型源代碼,生成目標程序;

        (9)添加SID文件和目標程序文件;

        (10)設計并添加數據顯示記錄組件,如數據觀察面板、數據記錄器等;

        (11)執行測試場景。

3.2.2 第三方仿真建模工具實現

        ADS2提供的用戶開發接口devExchange也支持MATRIX、Matlab/Simulink等第三方建模工具,實現復雜算法仿真模型的快速開發。

        利用Matlab進行ADS2實時仿真模型開發的基本方法為:利用Simulink以及控制、通信、魯棒等工具箱進行仿真模型開發[8];設置RTW(Real-Time Workshop)編譯參數,系統目標文件選擇為“Generic Real-Time Target”,“template makefile”為ADS2專用的grt_ads2_vxworks.tmf;編譯生成目標程序。

4 ADS2仿真測試實例

        利用ADS2構建半實物仿真測試環境,對某型DSP處理板進行了測試,測試環境如圖4所示。DSP程序從ADC接口讀取輸入波形數據,經過處理后將結果數據從DAC接口輸出;DSP程序通過RS232接口從控制臺仿真器接收工作模式等控制命令。

        測試時,在工作站上設計數據面板和數據記錄器查看、記錄輸入數據和輸出數據,判斷程序功能實現是否正確;利用c語言編寫仿真模型產生輸入波形數據,仿真模型編譯生成目標程序后載入ADS2主機實時運行,它能夠根據測試數據面板中手工輸入的波形時間間隔參數產生不同的輸入波形;編寫能夠產生大數據量的仿真模型,對程序處理速度性能指標進行測試;利用仿真模型產生各種異常輸入數據,對程序接口的冗錯能力進行測試。

        測試中發現,被測軟件存在功能實現與設計需求不一致、對一些異常輸入未進行冗錯處理而導致程序崩潰等問題,經回歸測試所有發現問題均關閉,有效提高了軟件的質量和可靠性。

        本文采用半實物仿真技術,將被測軟件的外部設備數字化來進行嵌入式軟件測試,不需要消耗時間和精力去連接、調試真實設備,避免了設備在測試使用中的損耗和意外損壞,降低了測試成本,加快了測試環境構建過程。另外,采用仿真模型不但可以進行長時間連續測試,而且可以仿真某些特殊的故障現象、危險條件、超負荷狀態等,有效拓寬了軟件測試范圍。ADS2能夠滿足嵌入式軟件仿真測試的通用化、實時性要求,有效支持數據源、交聯設備等多種仿真模型的設計開發,為嵌入式軟件測試提供了一種方便、有效的手段。

參考文獻 

[1] 孫昌愛,靳若明,劉超,等.實時嵌入式軟件的測試技術[J].小型微型計算機系統,2000,21(9):920-940.

[2] 康一梅,張永革.嵌入式軟件測試[M].北京:機械工業出版社,2008.

[3] 蔡建平.嵌入式軟件測試實用技術[M].北京:清華大學出版社,2010.

[4] TechSAT GmbH.ADS2模塊目錄(B3版)[Z].2002.

[5] TechSAT GmbH.ADS2用戶參考手冊(C1版)[Z].2003.

[6] 張虹,阮鐮,劉斌.嵌入式軟件測試中的仿真建模方法研究[J].測控技術,2002,21(3):37-38,42.

[7] 蔣崇武,楊順昆,劉斌.面向嵌入式軟件測試的仿真建模[J].計算機工程,2008,34(4):87-89.

[8] 卓金武.MATLAB在數學建模中的應用[M].北京:北京航空航天大學出版社,2011.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品国产综合精品| 一区二区免费在线观看| 亚洲区国产区| 国内精品久久久久影院色| 国产精品亚洲美女av网站| 欧美日韩在线视频首页| 欧美肥婆bbw| 欧美mv日韩mv亚洲| 免费不卡亚洲欧美| 另类天堂av| 麻豆精品网站| 嫩草成人www欧美| 美女露胸一区二区三区| 久久免费视频网站| 久久躁日日躁aaaaxxxx| 久久视频一区二区| 裸体女人亚洲精品一区| 美女视频一区免费观看| 蜜桃久久av| 欧美国产1区2区| 欧美精品激情在线观看| 欧美精品在线观看播放| 欧美日韩一二三四五区| 欧美特黄a级高清免费大片a级| 欧美日韩国产色站一区二区三区| 欧美深夜影院| 国产精品人人爽人人做我的可爱 | 亚洲天堂av综合网| 亚洲曰本av电影| 午夜在线一区| 久久精品国产一区二区三| 久久综合中文字幕| 欧美大片第1页| 欧美日韩在线另类| 国产农村妇女精品| 一区在线观看视频| 亚洲区欧美区| 亚洲一区二区网站| 欧美在线视频在线播放完整版免费观看 | 午夜欧美大尺度福利影院在线看| 欧美在线播放视频| 亚洲品质自拍| 亚洲图中文字幕| 久久精品国产久精国产思思| 麻豆精品视频在线观看| 欧美日韩另类丝袜其他| 国产麻豆视频精品| 亚洲高清在线视频| 亚洲视频国产视频| 久久成人免费| 中日韩高清电影网| 久久电影一区| 欧美国产欧美综合 | 国产精品日韩专区| 一区二区亚洲精品| 99精品欧美一区二区蜜桃免费| 亚洲欧美在线免费| 亚洲欧洲一区二区在线播放| 亚洲欧美激情精品一区二区| 久久综合久久综合九色| 欧美日韩在线一区二区| 国产有码在线一区二区视频| 亚洲精品久久久蜜桃| 亚洲欧美欧美一区二区三区| 亚洲国语精品自产拍在线观看| 亚洲一二三区精品| 美女任你摸久久| 国产精品青草久久| 亚洲精品久久久一区二区三区| 亚洲欧美一级二级三级| 亚洲美女一区| 久久久精品国产99久久精品芒果| 欧美日韩精品国产| 激情成人综合| 亚洲视频网站在线观看| 91久久久亚洲精品| 欧美自拍偷拍| 欧美日韩精品二区第二页| 黄色欧美日韩| 亚洲性夜色噜噜噜7777| 亚洲精品一区二区三区四区高清| 欧美专区一区二区三区| 欧美午夜在线观看| 亚洲国产精品成人一区二区| 欧美一区二区大片| 亚洲一区二区三区在线播放| 欧美 日韩 国产一区二区在线视频 | 亚洲欧美日韩在线不卡| 一区二区不卡在线视频 午夜欧美不卡在 | 狠狠做深爱婷婷久久综合一区| 一区二区三区高清在线 | 欧美精品啪啪| 伊人精品成人久久综合软件| 亚洲摸下面视频| 亚洲少妇一区| 欧美大片免费久久精品三p | 91久久精品日日躁夜夜躁国产| 欧美一区二区三区四区视频| 亚洲欧美国产制服动漫| 欧美日韩视频在线一区二区观看视频 | 亚洲伦理精品| 欧美大色视频| 伊人婷婷欧美激情| 久久精品二区三区| 欧美尤物一区| 国产精品美女主播| 亚洲视频你懂的| 亚洲一区欧美二区| 欧美视频精品在线| 日韩一区二区精品在线观看| 日韩午夜电影| 欧美精品国产精品| 亚洲精品久久久久久久久| 亚洲精品中文字幕女同| 欧美福利一区二区三区| **网站欧美大片在线观看| 亚洲第一中文字幕在线观看| 久久久久国产精品人| 国产亚洲欧洲| 欧美在线国产精品| 久久久www成人免费无遮挡大片| 国产乱肥老妇国产一区二| 亚洲免费在线看| 午夜一区二区三区在线观看| 国产精品欧美日韩| 午夜在线一区二区| 久久精品免费看| 黑丝一区二区| 91久久在线播放| 欧美大秀在线观看| 亚洲日本理论电影| 一本一本久久| 欧美日韩免费观看中文| 正在播放日韩| 欧美一区二区免费| 国产午夜精品久久久久久久| 欧美一区二区啪啪| 久久五月天婷婷| 136国产福利精品导航| 亚洲美女视频在线免费观看| 欧美日韩在线观看一区二区| 亚洲一区二区三区午夜| 久久久精品免费视频| 尤妮丝一区二区裸体视频| 亚洲人精品午夜在线观看| 欧美理论电影在线播放| 这里只有精品电影| 久久精品国产精品亚洲综合| 原创国产精品91| 999亚洲国产精| 国产精品久久久久9999高清| 香蕉成人伊视频在线观看| 久久久亚洲国产美女国产盗摄| 精品成人一区二区三区四区| 亚洲毛片av在线| 欧美性大战xxxxx久久久| 午夜精品影院| 免费不卡在线视频| 99国产精品视频免费观看| 性欧美video另类hd性玩具| 韩国av一区二区三区在线观看| 最新中文字幕亚洲| 欧美视频中文字幕在线| 欧美资源在线| 欧美日韩成人在线| 亚洲欧美日韩一区在线观看| 欧美freesex8一10精品| 亚洲系列中文字幕| 麻豆av福利av久久av| 一区二区欧美在线观看| 久久久国产成人精品| 亚洲免费观看在线视频| 欧美在线精品免播放器视频| 亚洲福利国产| 欧美一区二区三区免费视| 亚洲电影激情视频网站| 亚洲免费在线观看| 狠狠色狠狠色综合人人| 亚洲制服少妇| 亚洲第一在线综合网站| 欧美一区二区三区免费视频| 亚洲欧洲日本国产| 久久国产乱子精品免费女 | 99re成人精品视频| 久久久久久亚洲精品中文字幕| 亚洲免费av网站| 久久久久久一区| 国产精品99久久久久久人| 免费欧美电影| 欧美一级日韩一级| 欧美涩涩网站| 亚洲美女视频在线观看| 国产一区香蕉久久| 亚洲免费影视第一页| 亚洲国产综合91精品麻豆| 久久久精品国产一区二区三区| 亚洲私拍自拍| 欧美精品一区二区高清在线观看| 久久国产精品免费一区| 国产精品青草久久|