《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
亚洲精品中文字幕女同| 91久久精品美女高潮| 亚洲福利免费| 国产精品腿扒开做爽爽爽挤奶网站| 欧美日本国产| 欧美激情一区二区三区全黄| 农村妇女精品| 欧美成人免费一级人片100| 久久综合影音| 美女黄色成人网| 美女黄毛**国产精品啪啪| 久久一区二区视频| 久久综合久久综合九色| 久久久噜噜噜久久人人看| 久久久福利视频| 久久久久欧美精品| 久久男人资源视频| 久久久精品性| 蜜臀av性久久久久蜜臀aⅴ| 巨胸喷奶水www久久久免费动漫| 久久久国产视频91| 久久亚洲欧美| 免费永久网站黄欧美| 欧美成人在线免费视频| 欧美国产日本在线| 欧美日韩爆操| 国产精品成av人在线视午夜片| 国产精品成人免费视频 | 欧美日韩国产999| 欧美日韩在线高清| 国产精品女主播一区二区三区| 国产麻豆日韩欧美久久| 红桃视频亚洲| 亚洲精品综合精品自拍| 中文av字幕一区| 午夜在线a亚洲v天堂网2018| 久久精品99国产精品酒店日本| 亚洲国产视频一区二区| 日韩亚洲欧美一区二区三区| 亚洲一区二区三区四区五区午夜 | 久久精品99国产精品| 久久综合福利| 欧美久久精品午夜青青大伊人| 欧美天天在线| 国产欧美激情| 亚洲国产精品小视频| 99精品国产在热久久| 香蕉精品999视频一区二区| 久久精品国产一区二区三区免费看| 亚洲日韩欧美视频一区| 亚洲午夜国产成人av电影男同| 欧美一区二区三区四区高清| 免费成人性网站| 国产精品久久波多野结衣| 国内精品久久久久久久影视蜜臀| 亚洲品质自拍| 亚洲男女自偷自拍| 亚洲国产欧美一区二区三区同亚洲 | 欧美日本三级| 国产日韩欧美亚洲一区| 亚洲黄色一区| 亚洲欧美在线x视频| 亚洲人成亚洲人成在线观看| 亚洲一区三区在线观看| 美女免费视频一区| 国产精品久久久久久久久免费樱桃| 国外成人在线视频| 一本久久综合亚洲鲁鲁五月天| 欧美一区二区在线| 亚洲午夜av电影| 男人的天堂成人在线| 国产精品国产亚洲精品看不卡15| 黄页网站一区| 亚洲女同同性videoxma| 日韩一级精品| 久久一二三国产| 国产精品麻豆成人av电影艾秋 | 1769国产精品| 亚洲免费在线观看| 99re6热只有精品免费观看 | 亚洲精品一区二区三区四区高清 | 玖玖玖国产精品| 国产精品拍天天在线| 最新中文字幕亚洲| 久久精品成人一区二区三区蜜臀| 亚洲无限av看| 欧美精品福利在线| 激情综合色丁香一区二区| 亚洲一区二区在| 中国成人在线视频| 欧美α欧美αv大片| 国产自产精品| 午夜久久tv| 亚洲专区在线| 欧美日韩在线综合| 亚洲啪啪91| 亚洲精品国产精品国自产在线| 久久精品导航| 国产女精品视频网站免费| 中文一区字幕| 一区二区三区精品视频在线观看| 美女网站久久| 狠狠综合久久av一区二区老牛| 午夜精品久久| 欧美一区二区在线播放| 国产精品久久一级| 一区二区三区四区精品| 在线视频亚洲欧美| 欧美日韩国产小视频在线观看| 亚洲国产成人av在线| 亚洲国产精品久久久久| 久久亚洲欧美| 韩日成人av| 久久精品亚洲一区| 久久人人97超碰人人澡爱香蕉| 国产一区二区三区免费观看| 欧美一区91| 久久精品视频在线观看| 国产午夜精品在线| 欧美专区日韩专区| 久久久久久999| 红桃视频国产一区| 亚洲国产欧美日韩精品| 你懂的成人av| 最新亚洲一区| 在线亚洲一区| 国产精品久久综合| 亚洲免费一级电影| 久久9热精品视频| 国内精品免费午夜毛片| 亚洲国产欧美日韩精品| 欧美搞黄网站| 亚洲精选91| 亚洲欧美日韩在线高清直播| 国产精品日韩精品欧美精品| 亚洲直播在线一区| 久久本道综合色狠狠五月| 国产亚洲一本大道中文在线| 久久国产手机看片| 免费久久久一本精品久久区| 亚洲激情亚洲| 亚洲一区二区三区影院| 国产女优一区| 亚洲国产天堂久久综合| 欧美精品在线免费观看| 一本色道久久88综合亚洲精品ⅰ| 午夜视频在线观看一区二区| 国产区精品在线观看| 久久精品视频亚洲| 欧美精品首页| 亚洲永久免费观看| 久久婷婷国产综合精品青草| 亚洲国产电影| 亚洲一区二区视频| 国产午夜精品美女视频明星a级| 亚洲国产精品久久久久秋霞不卡| 欧美精品在线网站| 亚洲一区亚洲| 另类激情亚洲| 在线性视频日韩欧美| 久久国产一区二区| 91久久国产综合久久91精品网站| 亚洲在线播放电影| 国产日韩在线一区| 亚洲乱码国产乱码精品精可以看 | 香蕉免费一区二区三区在线观看| 黑人操亚洲美女惩罚| 9人人澡人人爽人人精品| 国产精品久久久久91| 久久精品色图| 国产精品国产三级国产aⅴ无密码| 欧美中文在线观看国产| 欧美日韩不卡视频| 久久精品72免费观看| 欧美日韩中文字幕在线视频| 久久av在线看| 欧美日韩伊人| 亚洲国产精品一区二区三区| 欧美性淫爽ww久久久久无| 亚洲第一区在线观看| 国产精品vip| 亚洲精品黄色| 国产视频一区在线观看一区免费| 日韩亚洲成人av在线| 国产视频精品xxxx| 亚洲视频一二| 亚洲电影免费| 欧美在线|欧美| 99国产精品久久久久久久久久| 久久久欧美精品| 亚洲一区免费| 欧美日本国产视频| 亚洲国产精品成人| 国产精品日韩一区二区| 99视频精品| 在线不卡中文字幕| 久久精品国产91精品亚洲| 正在播放亚洲| 欧美日韩大片| 亚洲欧洲免费视频|