999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多處理器嵌入式軟件的全數字仿真測試平臺開發技術

2018-09-01 02:21:06劉春龍
航天控制 2018年4期

劉春龍 王 洋 申 彪

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

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

嵌入式軟件測試主要有真實環境測試、半實物仿真環境測試和全數字仿真環境測試。真實環境測試和半實物仿真環境測試依賴于嵌入式軟件的硬件環境,在硬件條件不具備的情況下很難開展軟件測試工作。因此,目前很多研究針對嵌入式軟件的全數字仿真環境測試,此類測試可以脫離嵌入式軟件的硬件環境,可以盡早的開展軟件測試工作。全數字仿真測試平臺是嵌入式軟件測試中常用的測試工具,它的優點是透明性好、可控性強、易于注入測試數據,對小概率、安全關鍵功能的測試可以提供有效的手段支持。另外,被測軟件代碼不需要插樁,在不做任何改動的情況下,就可以完成對被測軟件的非侵入式測試[2]。

在現階段,全數字仿真測試平臺都應用于針對單處理器嵌入式軟件的配置項級的測試,并且能夠很好地仿真多種類型處理器內核芯片、片上設備以及雙口、串口和1553等多種硬件設備。測試人員通過編寫腳本語言來注入數據和故障,能夠利用平臺高效、準確地完成測試工作。現在大多數型號軟件的配置項級測試都在全數字仿真測試平臺上完成。雖然航天型號軟件功能越來越復雜,研制周期卻越來越短。而系統級軟件測試是保障整個型號的軟件系統能夠正常工作的一項重要工作。為了保證型號任務成功,系統級軟件測試也將變得越來越重要。而現階段航天型號系統級軟件測試仍然擺脫不了對硬件設備的依賴,因此,系統級軟件測試在整個航天型號軟件研制周期中仍占很大比例。

研究出一種針對多處理器軟件的全數字仿真測試平臺開發技術。該技術可以快速、準確地為多處理器軟件搭建測試平臺,為軟件測試人員實施系統級軟件測試奠定了基礎。

1 單處理器嵌入式軟件測試平臺

全數字仿真測試平臺以真實箭載目標代碼為對象,利用軟件仿真技術逼真地模擬物理硬件目標系統,原來運行于真實目標系統上的嵌入式軟件,可以不加修改直接在全數字仿真測試平臺上運行,并且其運行的動態特性與在真實目標機上一致,能夠讓硬件和軟件開發人員同時進行系統定義、軟件開發、集成和部署。單處理器的嵌入式軟件測試平臺分層結構如圖1所示:

圖1 單處理器全數字仿真測試平臺分層結構圖

由圖1可以看出全數字仿真測試平臺是基于虛擬內核的分層結構。而多處理器嵌入式軟件測試是指對多個同時運行在單處理器上的嵌入式軟件進行測試,如果用一種技術同步多個核的運行狀態,并且完成多個平臺之間的數據傳輸,那么單處理器測試平臺就可以拓展到多處理器。在后續章節介紹相關的技術。

2 數據分發服務(DDS)

2.1 DDS規范

DDS是對象管理組織(OMG)制定的實現訂閱/發布通信模式、滿足實時性要求的軟件設計標準和規范,該規范對分布式實時系統中的數據發布、傳遞和接收的接口和行為進行了標準化。DDS純粹以數據為中心來進行數據分發,并將資源狀況、對資源的期待程度及網絡狀況等用QoS參數來描述,大大增強了通信的實時性和靈活性,簡化了分布式系統中數據的有效發布,為實時環境下以數據為中心的分布式應用提供高效、有用的通信服務,其特點如下[3]:

1)具有開放式體系結構,提供規范的接口、服務和數據格式,使業務應用系統軟件可以輕松地正確實現移植、互操作和交互功能;

2)具備共享數據能力,無需考慮數據生產者和使用者實際的物理地址和在組織架構中的位置;

3)支持以數據為中心的、高效的訂閱/發布模式。

2.2 DDS結構模型

DDS規范描述了2個層次的接口:以數據為中心的發布/訂閱層(DCPS)和數據本地重構層(DL-RL),其結構如圖2所示。DCPS層是DDS的基礎層,為應用軟件提供了數據發布和訂閱的功能,使發布者能夠識別數據對象并發布數據;DLRL層是建立在DCPS層之上的一個可選層,能夠將服務簡單地集成到應用層,在數據更新后自動重組數據,并通知訂閱者及時更新。

圖2 DDS結構圖

DCPS是DDS規范的基礎層,也是DDS規范的核心層,建立在一個共享的“全局數據空間”概念基礎之上,所有數據對象均存在于此空間。訪問數據時,應用軟件通過使用一個簡單的主題名稱來指定需要發布或訂閱的數據類別,通過QoS參數指定數據傳送保障需求,一旦發布和訂閱的主題能夠匹配并且QoS兼容,則形成了發布方至訂閱方的連接,可以進行數據傳送。該模型中數據收發雙方均無需了解對方物理駐留位置、駐留形式,實現了通信雙方時間、空間和數據通信的多維松散耦合[4]。

圖3 數據傳輸模型

DDS將分布式網絡中傳輸的數據定義為主題,將數據的產生和接收對象分別定義為發布者和訂閱者,從而構成數據的發布/訂閱傳輸模型。各個節點在邏輯上無主從關系,點與點之間都是對等關系,通信方式可以是點對點、點對多及多對多等。如圖3所示。數據書寫器和數據閱讀器與發布者和訂閱者配合,實現主題的發布與接收。

一個發布者是一個負責數據分發的對象,可以發布不同類型的數據。應用程序通過數據書寫器通知發布者給定類型的數據對象是否存在和具體數值。當數據書寫器將數據對象的值通知發布者后,發布者負責執行數據分發任務。一個發布應用就是通過數據書寫器和發布者協同實現的。

一個訂閱者是負責接收發布的數據并使接收應用程序可以使用到數據對象。為了訪問收到的數據,應用程序使用訂閱者上綁定的數據閱讀器。一個訂閱應用就是通過數據閱讀器和訂閱者協同實現的。

3 多處理器嵌入式軟件測試平臺

我們可以通過同時運行多個單處理器嵌入式軟件測試平臺從而形成多處理器嵌入式軟件測試平臺, 從單處理器嵌入式軟件測試平臺拓展到多處理器嵌入式軟件測試平臺需要解決下面2個問題:

1)多個平臺之間的實時數據交換

多個嵌入式軟件測試平臺是指多個單處理嵌入式軟件測試平臺同時運行,在運行中,一個測試平臺的輸出數據可能是另一個測試平臺的輸入數據,因此,解決多個測試平臺之間的實時數據交換問題是多個嵌入式軟件測試平臺能否成功運行的關鍵問題之一;

2)多個處理器之間時間同步

嵌入式軟件有著自己的運行時序,因此每個單處理器嵌入式軟件測試平臺有其自己的運行時序。而多個單處理器嵌入式軟件測試平臺同時運行時,每個處理器之間的時序同步問題也是多個嵌入式測試平臺能否正確運行的關鍵問題之一。

為了解決上述問題,我們采用分布式計算方式,將全數字平臺部署在用網絡連接的多臺計算機。為保證網絡通訊的高可靠性,采用DDS網絡中間件作為網絡傳輸的底層構件。在此基礎上設計了基于通道的系統模型,如圖4所示:

圖4 基于通道的系統模型

該模型由通道和節點構成,代表了由多個嵌入式軟件組成的彈上系統。每一個單處理器軟件測試平臺代表通道上的一個節點,所有需要進行信息交換的節點都掛接在同一個通道上。節點與節點之間通過元數據(MetaData)和心跳信號(BeatData)進行通訊。節點可以全部部署在網絡中的一個物理節點上,也可以部署在網絡中的任意物理節點上。

我們對每個節點的描述信息分為基本信息、輸出數據、輸入數據、輸出心跳名稱和輸入心跳名稱。其中基本信息包含節點ID、通道號及節點類型等信息,這些基本信息描述了節點在平臺中的基本特征;發布信息描述了節點輸出數據的相關信息;訂閱數據描述了節點輸入數據的相關信息;輸入心跳和輸出心跳都描述了節點的運行時鐘周期。

3.1 多處理器軟件測試平臺間的數據交換技術

多處理器軟件測試平臺間的數據交換技術是基于DDS發布/訂閱傳輸模型實現的。正如本文第3章中所述,DDS是建立在一個共享的“全局數據空間”概念基礎之上,所有數據對象均存在于此空間。在多處理器軟件的測試平臺中,每個節點都有輸出數據和輸入數據信息。按照DDS規范,把節點的輸出數據稱為發布,把節點的輸入數據稱為訂閱(如表1)。在構建多處理器測試平臺的時候,將一個節點的發布數據和另一個節點中屬于相同主題的訂閱數據捆綁起來,即可在節點需要該數據的時候快速獲取,如圖5所示。

表1 訂閱者/發布者模式

圖5 多處理器軟件測試平臺節點間數據交換示意圖

因為嵌入式軟件對實時性有較高的要求,為了不使節點間交換數據花費太多時間,把節點的發布和訂閱信息分為多個主題,并且把屬于一個主題的發布和訂閱在節點的配置信息中綁定起來。這樣,當一個節點需要另一個節點的數據時,就能夠快速獲取。

3.2 多處理器間時間同步技術

多處理器嵌入式軟件測試平臺運行需要解決的另一個問題是多個處理器間時間同步的問題。嵌入式軟件是按照一定的時序去運行,因此,多處理器嵌入式軟件測試平臺中的每一個節點也需要統一步調去進行正常運行。我們采用引入一個同步節點,專門去同步不同節點的運行周期。具體實現方法如下:

1)當同一通道的所有節點已經處于就緒狀態后,同步節點發送同步信號,當同步節點收到所有其他節點的同步好信號后,當前平臺初始化工作結束;

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

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

圖6 多處理器軟件測試平臺節點時間同步示意圖

4 結論

在某型號的飛行控制軟件的測試過程中利用了多處理器軟件的測試平臺。圖7(a)和(b)分別為該型號在平臺上運行與理論仿真導航速度、導航位置的相對誤差和絕對誤差曲線。由曲線可知,由于在平臺上與理論仿真數據誤差在允許范圍之內。

圖7(a) 某型號在平臺上運行與理論仿真導航速度的相對誤差和絕對誤差曲線

圖7(b) 某型號在平臺上運行與理論仿真導航位置的相對誤差和絕對誤差曲線

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

多處理器嵌入式軟件的全數字仿真測試平臺開發技術已經在多個型號軟件的配置項軟件測試中得到了應用,該技術準確地模擬了多處理器嵌入式軟件的運行,很好地解決了多處理器間時間同步和數據同步的問題,并且支持測試人員進行各種不同類型的故障注入。目前,已有型號軟件使用多核處理器,本文的多處理器軟件的測試平臺開發技術在這些嵌入式軟件的測試過程中也得到了應用。隨著越來越多的型號軟件采用多核處理器,該技術的實用性將得到進一步的提升。

表2 某型號飛行控制軟件時間同步結果統計表

主站蜘蛛池模板: 亚洲日韩AV无码一区二区三区人| 一本一道波多野结衣av黑人在线| 美女亚洲一区| 一级毛片中文字幕| 国产精品制服| 精品小视频在线观看| 喷潮白浆直流在线播放| 自拍中文字幕| 久久黄色视频影| 久久精品人人做人人爽电影蜜月| 久久黄色视频影| 91视频青青草| 欧美日本在线| 一级福利视频| 亚洲男人的天堂久久精品| 久久精品国产亚洲麻豆| 国产97公开成人免费视频| 好吊妞欧美视频免费| 宅男噜噜噜66国产在线观看| 久久精品aⅴ无码中文字幕| 免费无遮挡AV| 色婷婷电影网| 美女一区二区在线观看| 国产永久无码观看在线| 亚洲天堂视频在线观看| 国产一级精品毛片基地| 欧美成人日韩| 欧美激情视频二区| 三级毛片在线播放| 久久精品国产国语对白| 99视频在线看| 国产一区二区免费播放| 看你懂的巨臀中文字幕一区二区| 国产青榴视频| 性做久久久久久久免费看| 色哟哟国产精品| 白丝美女办公室高潮喷水视频| 99这里只有精品免费视频| 国产精品久久久久久影院| 国产亚洲欧美另类一区二区| 亚洲色无码专线精品观看| 亚洲第一成网站| 亚洲无码高清一区| 国产成人综合久久精品下载| 亚欧美国产综合| 国内嫩模私拍精品视频| 精品1区2区3区| 日韩专区欧美| 久久九九热视频| 亚洲AV无码一二区三区在线播放| 91精品综合| 国产一区二区精品福利| 久久香蕉欧美精品| 免费国产好深啊好涨好硬视频| 制服丝袜一区二区三区在线| 狠狠色狠狠色综合久久第一次| 不卡视频国产| 亚洲成a人片| 日日拍夜夜操| 亚洲天堂日韩av电影| 激情综合图区| 欧美激情视频在线观看一区| 国产精品私拍在线爆乳| 青青青伊人色综合久久| 精品综合久久久久久97超人| 成人国产精品一级毛片天堂 | 日韩欧美国产成人| 99久久国产自偷自偷免费一区| 国产成人成人一区二区| 一级黄色欧美| 乱系列中文字幕在线视频| 中文字幕乱码中文乱码51精品| 国产毛片久久国产| 欧美中文字幕一区| 欧美三级不卡在线观看视频| 狠狠色综合网| 永久免费AⅤ无码网站在线观看| 国产亚洲视频中文字幕视频 | 无码乱人伦一区二区亚洲一| 日韩欧美国产精品| 91免费精品国偷自产在线在线| 国产精品蜜芽在线观看|