嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證

在上期#嵌入式系統(tǒng)Ansys SCADE系列專題內(nèi)容中,我們?yōu)榇蠹規(guī)砹?a target="_blank" textvalue="《基于SCADE Suite模型的驗(yàn)證》" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" style="text-decoration: underline;" data-linktype="2" rel="nofollow">《基于SCADE Suite模型的驗(yàn)證》的介紹,本次主題將針對(duì)基于SCADE Display模型的驗(yàn)證做相關(guān)分享,分別從基于SCADE Display模型的基礎(chǔ)驗(yàn)證活動(dòng)、認(rèn)證級(jí)測試環(huán)境QTE,以及基于SCADE Display的含Suite模型的白盒聯(lián)合仿真等方面做闡述。

1

基于SCADE Display模型的基礎(chǔ)驗(yàn)證活動(dòng)

由于SCADE Display同樣是使用基于模型的開發(fā)和驗(yàn)證方式,所以使用SCADE Display后,驗(yàn)證手段也是在評(píng)審、分析和測試的基礎(chǔ)上多了模型仿真。絕大部分驗(yàn)證活動(dòng)概念相關(guān)的內(nèi)容可參考《基于SCADE Suite模型的驗(yàn)證》第一章節(jié)的內(nèi)容,本文不再贅述。下面先介紹大規(guī)模自動(dòng)化驗(yàn)證前的測試活動(dòng)。

1.1 模型檢查與模型更正

模型檢查是模型仿真測試的基礎(chǔ)。但不同于SCADE Suite有一系列必需檢查的嚴(yán)格的語法語義規(guī)則,SCADE Display模型檢查的規(guī)則是可定制的,規(guī)則主要涉及兩大類:1. 檢查是否滿足常用圖形設(shè)計(jì)建模要求,例如圓、弧的半徑不應(yīng)為0,一些命名規(guī)則定義等;2. 檢查是否滿足通用的圖形繪制性能要求,例如沒有多余的坐標(biāo)轉(zhuǎn)換,遮罩?jǐn)?shù)量要有限制。通過工具欄菜單Project->Project Properties->Design Checker Rules application可以啟用或者禁用需要的規(guī)則。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖1

圖表1: SCADE Display模型設(shè)計(jì)規(guī)則的定制選擇

選定這些規(guī)則后,用戶可以通過圖形化方式(菜單Project->Checker->Check layer)或命令行方式來調(diào)用模型檢查功能,檢查對(duì)象可以是當(dāng)前層,也可以是選定的部分元素組成的上下文環(huán)境。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖2

圖表2: SCADE Display檢查模型是否符合定制的設(shè)計(jì)規(guī)則

檢查無誤,會(huì)返回正確的提示。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖3

圖表3 SCADE Display模型定制規(guī)則檢查無誤

檢查有誤,則會(huì)彈出專門的對(duì)話框,提示錯(cuò)誤對(duì)象、錯(cuò)誤原因和推薦的修改方法。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖4

圖表4 SCADE Display模型定制規(guī)則檢查有誤,并提供修改建議

模型更正是包含模型檢查的活動(dòng),區(qū)別在與1.模型更正無法以命令行方式調(diào)用;2.模型更正提供一鍵遵循推薦方法改正的功能;3. 模型更正后可能會(huì)引入新的警告或者錯(cuò)誤。通過菜單Project->Corrector->Correct layer啟動(dòng)模型更正后的,SCADE Display先進(jìn)行模型檢查。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖5

圖表5 SCADE Display更正模型是否符合定制的設(shè)計(jì)規(guī)則

檢查無誤,會(huì)返回正確的提示。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖6

圖表6 SCADE Display模型更正檢查無誤

檢查有誤,則會(huì)彈出專門的對(duì)話框,提示錯(cuò)誤對(duì)象、錯(cuò)誤原因和推薦的修改方法,如果用戶愿意根據(jù)推薦的方法修改,支持單擊Apply按鈕一鍵修改應(yīng)用。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖7 圖表7 SCADE Display模型定制更正檢查有誤,并提供修改建議和修改操作

SCADE Display認(rèn)證級(jí)的代碼生成器也含有檢查模型的功能,因此也可以使用代碼生成器對(duì)模型的正確性進(jìn)行檢查。該功能是在命令行方式中使用ScadeDisplayKCG命令的check選項(xiàng)。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖8

圖表8 SCADE Display代碼生成器進(jìn)行模型規(guī)則檢查

1.2 模型非交互式仿真

如果用戶使用SCADE Display設(shè)計(jì)的是非交互式的人機(jī)界面,則可以使用提供的Animation功能進(jìn)行模型仿真,觀察圖像隨著輸入?yún)?shù)的變化而變化。

視頻1: 基于SCADE Display模型的非交互式仿真

1.3 模型交互式仿真

如果用戶使用SCADE Display設(shè)計(jì)的是交互式的人機(jī)界面,則可以使用提供的Simulation功能進(jìn)行模型仿真,觀察圖像隨著輸入、輸出參數(shù)的變化而變化。值得一提的是,該仿真器還可以自動(dòng)捕捉鼠標(biāo)、鍵盤兩個(gè)外設(shè)的信息,進(jìn)行交互式仿真。

視頻2: 基于SCADE Display模型的交互式仿真

1.4 生成獨(dú)立可執(zhí)行程序

如果用戶在SCADE Display模型中已經(jīng)嵌入了控制邏輯代碼(可以是手寫編碼,也可以是SCADE Suite設(shè)計(jì),或是兩者的混合),則可以使用SCADE Display提供的Standalone功能一鍵編譯生成獨(dú)立可執(zhí)行程序,獨(dú)立可執(zhí)行程序包括基于Windows操作系統(tǒng)和基于Android操作系統(tǒng)兩個(gè)方式。不過,生成基于Android操作系統(tǒng)的獨(dú)立可執(zhí)行程序,需要預(yù)先安裝Android Studio IDE, Android Software Development Kit (SDK)Android Native Development Kit (NDK)三款軟件包。

視頻3: 使用SCADE Display生成Windows獨(dú)立可執(zhí)行程序

2

認(rèn)證級(jí)測試環(huán)境QTE


嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖9

圖表9: SCADE認(rèn)證級(jí)測試環(huán)境工作流

2.1 測試用例的創(chuàng)建

基于SCADE Display模型的測試用例的基本語法規(guī)則可以參考《基于SCADE Suite模型的驗(yàn)證》中的2.1章節(jié)。在此基礎(chǔ)上,為測試圖形相關(guān)的模型,新增了圖形像素比對(duì)相關(guān)的測試語法,其內(nèi)容如下

SSM::check image {"<refimg>"} sustain=forever|<integer> filter={"<filterimg>"} cmd={"<cmdimg>"}

該命令用于比對(duì)當(dāng)前周期的圖像與預(yù)先保存好的圖像的像素差

  • refimg是必須有的參數(shù),定義預(yù)先保存好的圖像的相對(duì)路徑,如果是使用SCADE Display Simulation工具生成的測試用例,則該參數(shù)缺省的相對(duì)路徑為images/references/

  • sustain參數(shù)是可選的

    如果sustain值等于forever,則每周期都比對(duì)當(dāng)前圖像與參考圖像的像素差,直至測試執(zhí)行完畢。

    如果sustain值等于integerinteger必須是大于0的整數(shù),即執(zhí)行integer周期的當(dāng)前圖像與參考圖像像素差的比對(duì)

    如果沒有寫sustain參數(shù),則僅在下一個(gè)周期執(zhí)行一次當(dāng)前圖像與參考圖像的像素差比對(duì)

  • filter參數(shù)是可選的,過濾功能是指圖像比對(duì)不是全部區(qū)域,而是在特定區(qū)域的圖像比對(duì),通常過濾圖像的格式為.png過濾區(qū)域分兩種情況,區(qū)域內(nèi)的過濾(include),使用白色圖片(R=255,G=255,B=255);區(qū)域外的過濾(exclude),使用黑色圖片(R=0,G=0,B=0)。

  • filterimg值,定義預(yù)先保存好的待過濾區(qū)域圖像的相對(duì)路徑,如果是使用SCADE Display Simulation工具生成的測試用例,則該參數(shù)缺省的相對(duì)路徑為images/filters/

  • cmd參數(shù)是可選的,支持使用類似ImageMagick的第三方軟件進(jìn)行像素比對(duì)操作,具體內(nèi)容此處不展開介紹了。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖10

圖表10 SCADE Test中關(guān)于SCADE Display模型圖形像素比對(duì)操作的測試用例

如果完全由用戶自己手工編碼來設(shè)計(jì)基于SCADE Display模型的測試用例,既耗時(shí)費(fèi)力,又不直觀。推薦使用SCADE Display提供的Simulation功能中測試場景記錄功能來定義測試用例原型,再基于該原型進(jìn)行修改編輯形成最終的測試用例。操作方法為右鍵單擊測試規(guī)程中的Record記錄,然后在彈出菜單中選擇Insert->Scenario Generated from Simulation…按鈕,接下來的操作參考1.3節(jié)的內(nèi)容即可。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖11

圖表11 SCADE Test中使用SCADE Display的Simulation功能自動(dòng)保存用戶測試操作

2.2 執(zhí)行在主機(jī)上的功能測試和像素對(duì)比

使用SCADE QTE在主機(jī)上進(jìn)行功能測試的結(jié)果如下圖,既有圖形化的報(bào)告,也有文本化的報(bào)告。可以從結(jié)果報(bào)告中看到測試用例編號(hào),待測變量名稱,實(shí)際輸出,期望輸出,精度約束等信息。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖12

圖表12 使用SCADE QTE在主機(jī)上執(zhí)行SCADE Display模型功能測試和像素比對(duì)后的文本報(bào)告

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖13

圖表13 使用SCADE QTE在主機(jī)上執(zhí)行SCADE Display模型功能測試和像素比對(duì)后的圖形報(bào)告

視頻4: 使用SCADE QTE在主機(jī)上執(zhí)行SCADE Display模型功能測試和像素比對(duì)

2.3 執(zhí)行在主機(jī)上的模型覆蓋分析

使用SCADE QTE在主機(jī)上進(jìn)行模型覆蓋分析結(jié)果如下圖,可以便捷地通過顏色來區(qū)分覆蓋分析的完整度,綠色是完全覆蓋,紅色是未覆蓋,紫色是不可覆蓋且沒有解釋。

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖14

圖表14 使用SCADE QTE在主機(jī)上執(zhí)行SCADE Display模型覆蓋分析后的全局報(bào)告

嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證的圖15

圖表15 使用SCADE QTE在主機(jī)上執(zhí)行SCADE Display模型覆蓋分析后的部分設(shè)計(jì)畫面的結(jié)果報(bào)告

視頻5: 使用SCADE QTE在主機(jī)上執(zhí)行SCADE Display模型的覆蓋分析 

2.4 基于目標(biāo)機(jī)上的測試

如果需要在目標(biāo)機(jī)上進(jìn)行軟硬件集成測試時(shí),SCADE QTE支持將主機(jī)上測試完畢后得到的測試用例轉(zhuǎn)換為可連接目標(biāo)機(jī)的第三方程序?qū)?yīng)的測試用例,以便用戶能簡單快捷地進(jìn)行目標(biāo)機(jī)上的測試。對(duì)SCADE Display模型的測試用例,現(xiàn)在可支持向IBM RTRT等軟件的測試用例轉(zhuǎn)換。

3

基于SCADE Display的含Suite模型的白盒聯(lián)合仿真

最后,可以將SCADE Suite模型設(shè)計(jì)的控制邏輯嵌入到SCADE Display中做復(fù)雜的人機(jī)界面行為的設(shè)計(jì)。然后通過SCADE Display的Simulation功能進(jìn)行含Suite模型的白盒聯(lián)合仿真。

視頻6: 基于SCADE Display的含Suite模型的白盒聯(lián)合仿真

參考文獻(xiàn)

[1] Leanna Rierson.安全關(guān)鍵軟件開發(fā)與審定——DO-178C 標(biāo)準(zhǔn)實(shí)踐指南[M].崔曉峰譯.北京:電子工業(yè)出版社,2015.

[2] 蔡喁,鄭征,蔡開元,等.機(jī)載軟件適航標(biāo)準(zhǔn)DO-178B/C 研究[M].上海:上海交通大學(xué)出版社,2013.

[3] DO-178C.Software Considerations in Airborne Systems and Equipment Certification[S]. December 13, 2011.

[4] RTCA (Firm). SC-205, EUROCAE (Agency). Working Group 71. Model-based Development and Verification Supplement to DO-178C and DO-278A[M]. RTCA, Incorporated, 2011.

相關(guān)閱讀

“中車SCADE軟件建模勞動(dòng)競賽”圓滿結(jié)束

Ansys與霍尼韋爾合作加速安全關(guān)鍵型軟件研發(fā)

Ansys攜手EMA推出EMA3D Charge將改進(jìn)電子組件的設(shè)計(jì)與安全性

新課程上線 | Ansys SCADE Display基礎(chǔ)課程

嵌入式系統(tǒng) | 基于Ansys SCADE Display的人機(jī)交互界面設(shè)計(jì)

全方位實(shí)時(shí)連接Ansys最新動(dòng)態(tài)



了解更多工程仿真資訊、產(chǎn)品介紹與更新以及行業(yè)最新趨勢(shì)

立即訂閱Ansys官方郵件推送,實(shí)時(shí)掌握精彩內(nèi)容!




立即訂閱

*我希望收到Ansys及其合作伙伴的信息更新及推送,我可以隨時(shí)取消訂閱。Ansys隱私聲明

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP