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

一種應用于SCADE模型與實物聯合仿真測試的方法

2021-10-31 12:06:32吳惠妍
鐵路通信信號工程技術 2021年10期
關鍵詞:環境模型

吳惠妍

(北京全路通信信號研究設計院集團有限公司,北京 100070)

1 概述

隨著軟件復雜度的增加,傳統的軟件開發方法已不能滿足效率和安全性的需求。為解決這一不足,高安全應用開發環境SCADE應運而生,SCADE已普遍應用于航空航天、國防、軌道交通等對安全性要求極高的領域。SCADE開發的模型在經過模型仿真以及模型測試后可直接生成高安全性的代碼。

SCADE模型仿真和測試普遍采用人工編輯輸入數據測試的方式,這使得大多數的測試只能手動進行,沒有測試輔助工具或者測試腳本支持數據生成。而且人工編輯的數據由于其與真實數據存在差異,測試環境的保真度差,這也會導致不確定或者不正確的測試結果(假陽性和假陰性結果)。此外,在與外部實物環境進行聯合測試時,需要編譯并裝載(load)到目標平臺上,如果發現新的缺陷(bug),則需要返回模型再次修改,如圖1所示,開發、仿真、測試效率亟待提高。

圖1 傳統仿真流程Fig.1 Traditional simulation process

如果在模型設計階段就能將模型與外部實物環境進行互聯,測試環境的仿真度得以提高,進而減少模型生成代碼編譯后裝載到平臺上產生的錯誤,這樣測試也不會被視作發生在瀑布開發周期后期的一個階段,而是不斷發生在迭代、增量和并發開發周期的持續性活動完成快速迭代。實物接入在線仿真環境如圖2所示。關鍵技術在于模型如何與外部實物通信。

圖2 實物在線仿真Fig.2 Online physical simulation

2 通信模塊設計

SCADE自帶的模型庫不包含與外界進行通信的模塊,需要進行單獨開發。與外界通信有多種方式,如基于以太網的UDP、TCP通信、串行通信等,本文以最常用的通信為例,闡述SCADE與外界通信的實現方式。

UDP發送模塊中包含數據拷貝模塊,該模塊用于將變長的數據格式化為固定長度的數據,UDP發送模塊是導入代碼模塊,是由人工編寫代碼的方式采用C語言實現的socket通信,實現根據socket句柄、IP地址及端口號完成UDP數據的發送。

該UDP通信模塊實現與外部實物互聯,其特點在于:1)支持數據錄播及回放功能,可以提高回歸測試自動化的程度;2)UDP通信IP地址和端口號可配置;3)UDP通信模塊支持多路鏈接,且鏈路之間相互獨立,沒有任何依賴及干擾。

2.1 數據錄播回放

UDP通信接收子模塊共有3個分支,其中,第1個分支由UDP信息接收(updRecvElt)操作符、數據錄入(dataSava)操作符構成,該分支用于實物環境下的仿真,并同時錄制數據;第2個分支由數據下載(dataLoad)操作符構成,該分支用于離線環境的實現數據回放;第3個分支由UDP信息接收(updRecvElt)操作符構成,該分支用于僅在實物環境下的仿真,不需要錄制數據的場景。

關鍵部分包含UDP信息接收操作符、數據錄入操作符、數據下載操作符,這3個操作符均為導入代碼模塊(Imported Operator),是由人工編寫C代碼導入實現的。其中,UDP信息接收操作符用于根據socket句柄及端口號完成UDP數據的接收;數據錄入操作符用于完成每個測試用例中測試數據的記錄,每一次記錄形成一個以"testcase*"命名的文件夾,各端口收集的數據分別存儲到不同的命名為"data*.csv"的文件中,如圖3所示,數據下載操作符用于完成數據的回放,當選擇回放記錄條目后,該模塊會讀取對應的"data*.csv"的數據并載入仿真環境中。

圖3 數據記錄格式Fig.3 Data record format

2.2 通信參數配置

接口設計時采用參數配置的方式。配置參數包括端口"port",IP地址"add*",數據長度"dataLen",如圖4所示,使用相關模塊時,僅需在模塊屬性對話框中進行參數設置即可。

圖4 接口設計Fig.4 Interface design

2.3 鏈接數量

被測模型可能同時存在多個與外界通信的接口,且各通信之間需要相互獨立,不能相互依賴及干擾,因此UDP通信模塊將socket句柄交由外部模型來管理。UDP通信模塊申請socket句柄之后將套接字句柄(socketHander)交由SCADE的"last"變量保存,如圖5所示中的"last’socketHandler"。這樣多個UDP連接可以通過同一個UDP信息接收模塊分時復用,在不同時刻通過輸入不同的套接字句柄來實現,UDP通信由模型的輸入參數(socketHanderIn)決定。

圖5 socketHandler處理Fig.5 socketHandler processing

3 仿真測試框架

SCADE有數據流圖和安全狀態機兩套建模機制,分別適合于連續系統和離散系統建模。本文提供的模型與實物聯合仿真測試框架采用狀態機來實現,狀態機中有4個狀態。

1)初始(init)狀態包含索引(indexPlus)操作符。在實物環境下仿真測試時會記錄多個測試用例(testcase*)。索引操作符用于選定仿真過程從哪個測試用例開始載入數據。

2)數據回放狀態(dataReplay)包含無數據(noData)模塊和被測模塊環境(testEnv)。無數據模塊用于判定所選取的數據包(一個測試用例中可能有多個數據包)是否已讀完,只在有數據的時候才能激活。而被測模塊環境是對被仿真模塊搭建的仿真環境,被仿真測試模型SystemUT有6個通信連接,因此為其搭建了對應的仿真測試環境模塊。被仿真測試模型環境內嵌到一個初始化操作符中,切換到新的測試用例之前要先初始化被測對象的仿真環境。

3)新用例(newCase)狀態用于在本測試用例的數據包數據讀完之后切換至下一個測試用例,當測試用例全部讀完并仿真后,進入終止(finish)狀態。

4)終止(finish)狀態,仿真結束。

整個仿真測試流程如圖6所示。從第一個測試用例開始測試過程,遍歷測試用例中所有數據包中的數據并發送給被測對象,在每個測試用例測試結束后,需要進行測試仿真環境的初始化,以便準備下一個測試用例。這樣迭代直至所有測試用例執行完畢,測試結束。

圖6 測試框架工作流程Fig.6 Test framework workflow

4 結論

相比僅在SCADE內部做模型仿真測試,與外部實物環境的聯合仿真有更多優勢:

1)模型測試能夠獲得更真實的測試數據輸入;

2)省去了繁重的手工編輯測試數據的工作,保證數據的有效性,測試變得更加便捷快速;

3)數據記錄和回放功能使得仿真測試可以脫離外部實物環境也能進行同樣真實度的仿真測試;

4)在數據記錄完之后的回歸測試更加方便,可實現自動化。

猜你喜歡
環境模型
一半模型
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
孕期遠離容易致畸的環境
不能改變環境,那就改變心境
環境
孕期遠離容易致畸的環境
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产哺乳奶水91在线播放| 三上悠亚在线精品二区| 国产福利在线免费| 九九视频在线免费观看| 国产成人久久综合一区| 国产精品自在线拍国产电影| 日韩在线成年视频人网站观看| 国产福利观看| 日韩欧美国产综合| 日本一区高清| 久草视频精品| 欧美在线网| 国产成人综合日韩精品无码不卡 | 在线毛片网站| 午夜不卡视频| 国产精品一线天| 国产日韩精品欧美一区喷| 伊人成人在线| 国产日韩欧美成人| 99热6这里只有精品| 国产在线一二三区| 夜夜操狠狠操| 久久久久久久久久国产精品| 秋霞国产在线| 国产99精品视频| 国产精品亚洲五月天高清| 午夜老司机永久免费看片| 日本91视频| 亚洲成a人片| 99视频全部免费| 激情综合五月网| 国产不卡在线看| 9966国产精品视频| 91色在线观看| 精品久久香蕉国产线看观看gif| 久久人体视频| 国产精品视频导航| 在线观看国产精品第一区免费| 99久久亚洲精品影院| 国产浮力第一页永久地址| 亚洲人成网18禁| 高清大学生毛片一级| 无码综合天天久久综合网| 亚洲天堂.com| 欧美性猛交一区二区三区| 91综合色区亚洲熟妇p| 97国内精品久久久久不卡| 人人澡人人爽欧美一区| 国产三级国产精品国产普男人| 日韩欧美在线观看| 成人夜夜嗨| 亚洲熟妇AV日韩熟妇在线| 波多野结衣一二三| 婷婷亚洲天堂| 精品一区二区三区四区五区| 毛片在线看网站| 久久国产乱子| 亚洲成肉网| 成人午夜免费视频| 亚洲av色吊丝无码| 免费在线国产一区二区三区精品| 国产黄在线免费观看| 亚洲一区毛片| 巨熟乳波霸若妻中文观看免费| 福利在线免费视频| 真实国产乱子伦视频| 国产无码网站在线观看| 亚洲视频免费在线| 亚洲综合激情另类专区| 亚洲国产系列| 欧美丝袜高跟鞋一区二区| 一级毛片免费高清视频| 在线看AV天堂| 青青操国产视频| 亚洲欧美在线综合一区二区三区| 亚洲中字无码AV电影在线观看| 日韩精品成人网页视频在线| 亚洲日韩精品伊甸| 久久精品电影| 九色在线观看视频| a级毛片免费网站| 欧美日韩成人在线观看|