在汽車(chē)和自動(dòng)化行業(yè)中,從事基于模型的開(kāi)發(fā)(MBD)的工程師致力于在保證模型質(zhì)量的同時(shí)保證模型高效。在這一背景下,應(yīng)用適當(dāng)?shù)慕9ぞ呤株P(guān)鍵。合適的工具不僅可以通過(guò)建模標(biāo)準(zhǔn)檢查來(lái)分析和測(cè)試模型質(zhì)量,還能夠根據(jù)分析結(jié)果自動(dòng)優(yōu)化模型。本文為您介紹廣受認(rèn)可的靜態(tài)測(cè)試工具——MES Model Examiner? (MXAM)。通過(guò)本文,您將深入了解MXAM如何幫助您輕松實(shí)現(xiàn)高質(zhì)量建模。
初步了解:什么是MXAM?
MXAM是一款專(zhuān)業(yè)用于對(duì)MATLAB/MathWorks的Simulink、Stateflow、Embedded Coder和TargetLink模型進(jìn)行全面靜態(tài)分析的工具。MXAM主要應(yīng)用于V模型軟件開(kāi)發(fā)流程的左側(cè),重點(diǎn)支持模型設(shè)計(jì)階段。MXAM覆蓋了從軟件架構(gòu)設(shè)計(jì)到單元設(shè)計(jì)與實(shí)現(xiàn)的全過(guò)程,能夠保證模型質(zhì)量,并確保符合ISO 26262等行業(yè)標(biāo)準(zhǔn)的要求。自MXAM v.10.0起,MES Model & Refactor? (MoRe)已集成至MXAM中。MoRe能夠簡(jiǎn)化并加速模型的創(chuàng)建與重構(gòu),是MXAM功能的重要擴(kuò)展,顯著提升了其在模型開(kāi)發(fā)中的實(shí)用價(jià)值。
靜態(tài)測(cè)試可以貫穿于模型開(kāi)發(fā)流程的各個(gè)階段。MXAM為不同階段的建模工作提供有力支持。如下圖所示,工作流程從創(chuàng)建模型開(kāi)始,接著對(duì)模型指標(biāo)和建模規(guī)范進(jìn)行分析。隨后,分析結(jié)果由一份清晰且全面的報(bào)告呈現(xiàn),為及時(shí)發(fā)現(xiàn)并解決模型中存在的問(wèn)題提供依據(jù)和參考。最后,該流程確保模型滿足質(zhì)量門(mén)(Quality Gate)的要求,從而輕松實(shí)現(xiàn)高質(zhì)量建模。

圖片:MXAM(藍(lán)色圖標(biāo))與MoRe(紅色圖標(biāo))為模型開(kāi)發(fā)過(guò)程中敏捷工作流的不同階段提供支持
總之,MXAM主要支持:
- 靜態(tài)分析中的持續(xù)集成(CI)
- 建模規(guī)范檢查與違規(guī)項(xiàng)自動(dòng)修復(fù)
- 模型指標(biāo)評(píng)估與結(jié)構(gòu)分析
- 模型重構(gòu)與自動(dòng)布局(來(lái)自MoRe的功能)
- 模型安全或質(zhì)量相關(guān)行業(yè)標(biāo)準(zhǔn)的合規(guī)性
這些功能的集成讓MXAM成為了一個(gè)專(zhuān)業(yè)且全面的靜態(tài)測(cè)試工具。接下來(lái)的章節(jié)將對(duì)這些功能進(jìn)行詳細(xì)介紹。
為什么選擇MXAM進(jìn)行靜態(tài)模型分析?
基于模型的開(kāi)發(fā)(MBD)依賴(lài)于以需求為基礎(chǔ)、以測(cè)試為驅(qū)動(dòng)的工作流來(lái)持續(xù)確保質(zhì)量。設(shè)計(jì)質(zhì)量和功能質(zhì)量同等重要,因?yàn)榱己玫哪P驮O(shè)計(jì)能夠顯著提升其功能適用性。
模型設(shè)計(jì)質(zhì)量如何被確保?靜態(tài)模型測(cè)試能夠幫助工程師確保模型設(shè)計(jì)的適用性。它不僅能夠優(yōu)化正在開(kāi)發(fā)中的模型,同時(shí)支持前期的質(zhì)量保證——在代碼生成之前就發(fā)現(xiàn)問(wèn)題所在,以此提升模型和代碼的質(zhì)量。
在實(shí)際應(yīng)用中,MXAM支持高度自動(dòng)化的靜態(tài)分析,并著重于改進(jìn)模型的可讀性、魯棒性以及避免錯(cuò)誤,同時(shí)提升生成代碼的質(zhì)量。在這里,建模規(guī)范發(fā)揮著重要作用。下圖展示了Simulink模型的一個(gè)子系統(tǒng):

圖片:Simulink模型次級(jí)子系統(tǒng)經(jīng)建模規(guī)范優(yōu)化前
模型目前存在多項(xiàng)問(wèn)題,例如:
- 問(wèn)題1:模塊命名應(yīng)位于模塊下方,而非上方。
- 問(wèn)題2:對(duì)于常值模塊而言,其命名不應(yīng)直接使用具體數(shù)值(例如:5或10),而應(yīng)當(dāng)設(shè)置為參數(shù)進(jìn)行表示。“0” 和 “1” 為例外。
- 問(wèn)題3:子系統(tǒng)端口未對(duì)齊,影響模型的可讀性。
- 問(wèn)題4:模塊的命名應(yīng)當(dāng)被清晰識(shí)別,當(dāng)前布局不符合建模規(guī)范要求。
- 問(wèn)題5:一個(gè)輸入端口被隱藏在系統(tǒng)布局中,降低了模型的透明性。
- 問(wèn)題6:乘積模塊(Product block)不應(yīng)有多于兩個(gè)輸入端口,否則可能導(dǎo)致不可預(yù)知的結(jié)果
這些問(wèn)題嚴(yán)重降低了該Simulink模型的設(shè)計(jì)質(zhì)量。下圖展示了在使用MXAM應(yīng)用建模規(guī)范優(yōu)化后的模型。此前提到的所有問(wèn)題都已被準(zhǔn)確修復(fù),模型的可讀性和生成代碼的質(zhì)量顯著提升:

圖片:Simulink模型次級(jí)子系統(tǒng)經(jīng)建模規(guī)范優(yōu)化后
顯然,在實(shí)際應(yīng)用中,評(píng)估模型對(duì)建模規(guī)范的符合性對(duì)于保障模型質(zhì)量至關(guān)重要。該評(píng)估過(guò)程主要涵蓋模型布局、數(shù)據(jù)和控制流、數(shù)據(jù)類(lèi)型以及配置設(shè)置。MXAM涵蓋超過(guò)700項(xiàng)建模規(guī)范:來(lái)自MISRA、MAB、MES或其他適用的建模規(guī)范文檔。分析結(jié)束后,MXAM提供一鍵修復(fù)功能,能夠自動(dòng)修復(fù)識(shí)別出的問(wèn)題。
此外,模型需遵循源自功能安全的設(shè)計(jì)原則,并通過(guò)評(píng)估相關(guān)標(biāo)準(zhǔn)定義的模型指標(biāo)來(lái)實(shí)現(xiàn)。例如,ISO 26262-6為軟件級(jí)產(chǎn)品開(kāi)發(fā)中的汽車(chē)軟件架構(gòu),提供了具體的建議與設(shè)計(jì)原則。關(guān)鍵指標(biāo)包括模型復(fù)雜度、大小、耦合度、克隆檢測(cè)等等。通過(guò)使用MXAM,在模型開(kāi)發(fā)的早期階段即可對(duì)這些指標(biāo)進(jìn)行驗(yàn)證與分析,從而提升模型質(zhì)量,同時(shí)確保軟件系統(tǒng)的穩(wěn)定性與安全性。閱讀文章評(píng)估模型架構(gòu)——如何實(shí)現(xiàn)?了解其中細(xì)節(jié)。
這就引出了一系列重要的問(wèn)題:如何優(yōu)化模型布局,以及如何自動(dòng)化部分重復(fù)性操作?現(xiàn)在,MoRe已集成至MXAM中,能夠?yàn)槟峁┲С帧oRe涵蓋六大類(lèi)、超過(guò)30種操作,助力簡(jiǎn)化建模流程,節(jié)省時(shí)間,同時(shí)提升模型整體質(zhì)量。
MXAM操作概覽
在開(kāi)始使用MXAM前,需要先創(chuàng)建一個(gè)項(xiàng)目,這是每次分析的基礎(chǔ)。具體請(qǐng)參看MES模賽思官方網(wǎng)站的MXAM常見(jiàn)問(wèn)題頁(yè)面,了解如何設(shè)置項(xiàng)目,選擇模型并開(kāi)始分析。
模型分析過(guò)程結(jié)束后,MXAM會(huì)為用戶(hù)提供一份詳細(xì)的分析報(bào)告,評(píng)估模型對(duì)所選建模規(guī)范的合規(guī)性。如下圖所示,分析結(jié)果以結(jié)構(gòu)化的結(jié)果視圖展示,清晰地顯示潛在問(wèn)題及可改進(jìn)的部分。

圖片:MXAM分析結(jié)果視圖
從展示形式來(lái)講,如下圖所示,MXAM報(bào)告視圖可顯示為以下兩種:
- 文檔導(dǎo)覽(Document Navigation):分析報(bào)告在各個(gè)層級(jí)展示聚合分析結(jié)果,包括模型名稱(chēng)和分析完成時(shí)間。用戶(hù)還可通過(guò)選擇工具欄中的選擇樹(shù)查看詳細(xì)的分析結(jié)果。
- 工件導(dǎo)覽(Artifact Navigation):分析結(jié)果依據(jù)模型的結(jié)構(gòu)層級(jí)進(jìn)行展示,并以模型結(jié)構(gòu)樹(shù)的形式顯示每個(gè)系統(tǒng)或子系統(tǒng)的聚合分析結(jié)果。

圖片:MXAM報(bào)告視圖的不同導(dǎo)覽方式
在內(nèi)容方面,下圖展示了MXAM中的模型合規(guī)性報(bào)告視圖,其中顯示了合規(guī)分析結(jié)果列表(Findings):即模型合規(guī)性分析的結(jié)果列表。用戶(hù)只需點(diǎn)擊即可查看多個(gè)分析組件,包括:
- 模型指標(biāo)(Metrics)——模型架構(gòu)分析的相關(guān)指標(biāo)
- 注釋列表(Annotations)——與模型合規(guī)性相關(guān)的評(píng)論列表
- 模型分析的配置詳情(Analysis Configuration)——模型分析設(shè)置的詳細(xì)信息
- 模型分析指標(biāo)的摘要(Metrics Summary)——關(guān)鍵模型分析指標(biāo)的匯總信息

圖片:MXAM合規(guī)分析結(jié)果
用戶(hù)還可以通過(guò)菜單(Menu)或過(guò)濾(Filter)選項(xiàng),選擇并查看特定的分析結(jié)果。在詳情結(jié)果視圖(Finding Details)中,可查看每條分析結(jié)果的詳細(xì)信息。如下圖所示,用戶(hù)可以查看與相關(guān)建模規(guī)范不符的違規(guī)項(xiàng)的詳細(xì)描述,以及相應(yīng)的分析結(jié)果,便于理解問(wèn)題所在并進(jìn)行針對(duì)性改進(jìn)。

圖片:MXAM違規(guī)項(xiàng)的詳細(xì)信息
每條發(fā)現(xiàn)項(xiàng)(Finding)都顯示了具體的路徑(Path)和模塊名稱(chēng)(Name),并附有導(dǎo)致違規(guī)的詳細(xì)原因。用戶(hù)可通過(guò)路徑和模塊名稱(chēng)中的超鏈接,直接跳轉(zhuǎn)至模型中該錯(cuò)誤所在的位置。此外,修復(fù)選擇(Repair Finding)選項(xiàng)支持一鍵自動(dòng)修復(fù)問(wèn)題,大大簡(jiǎn)化了規(guī)范違規(guī)的處理流程。
以建模規(guī)范mcheck_misra_slsf_030_c為例,在其詳情頁(yè)面(如下圖所示),用戶(hù)可以查看該規(guī)范的完整描述,包括用于判定檢查項(xiàng)是否合規(guī)的通過(guò)/失敗評(píng)判標(biāo)準(zhǔn)(Pass-Fail Criteria)。此外,頁(yè)面還提供了相應(yīng)的解決方案,以及詳細(xì)說(shuō)明了修復(fù)問(wèn)題所需的具體操作,幫助用戶(hù)準(zhǔn)確理解并有效處理違規(guī)問(wèn)題。

圖片:MXAM建模規(guī)范詳情頁(yè)
在MXAM中,最終分析報(bào)告可方便地以多種格式導(dǎo)出,包括HTML、PDF、Excel、XML 以及MXAM專(zhuān)用格式.mxmr,以滿足不同的使用和共享需要。
*文章轉(zhuǎn)載自MES模賽思官方微信公眾號(hào)
-
軟件測(cè)試
+關(guān)注
關(guān)注
2文章
240瀏覽量
19287 -
汽車(chē)
+關(guān)注
關(guān)注
15文章
3882瀏覽量
39659
發(fā)布評(píng)論請(qǐng)先 登錄

Helix QAC自動(dòng)化靜態(tài)測(cè)試#QAC #代碼靜態(tài)測(cè)試 #自動(dòng)化
OpenCV_編程簡(jiǎn)介(入門(mén)必讀)
電工基礎(chǔ)入門(mén)知識(shí)大全從入門(mén)到精通

軟件測(cè)試:動(dòng)/靜態(tài)測(cè)試的區(qū)別及關(guān)系
開(kāi)關(guān)電源設(shè)計(jì)入門(mén)知識(shí)與應(yīng)用

ESPHome入門(mén)00 - 簡(jiǎn)介(小白入門(mén), 硬件準(zhǔn)備)

如何使用芯片測(cè)試工具測(cè)試芯片靜態(tài)功耗?
常用的變頻器檢測(cè)方法靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試
知識(shí)分享 | 建模規(guī)范:建立優(yōu)質(zhì)模型的關(guān)鍵

知識(shí)分享 | 評(píng)估模型架構(gòu)——如何實(shí)現(xiàn)?

評(píng)論