• 正文
    • 基于模型的開發(fā)中靜態(tài)測試的應(yīng)用與MXAM
    • MXAM v10.0: MoRe的集成與功能升級
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

MXAM – 靜態(tài)測試工具的最佳選擇

2024/05/29
1382
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

在汽車與自動化行業(yè),基于模型的開發(fā)過程中,從業(yè)者希望能夠在保證建模效率的同時確保模型質(zhì)量。此時,合理使用建模工具變得尤為重要。合適的工具不僅能夠通過建模規(guī)范檢查分析測試模型的質(zhì)量,還能根據(jù)分析結(jié)果對模型進行自動改進。本篇文章為您介紹業(yè)界頂級的工具MES Model Examiner (MXAM) 。從MXAM在靜態(tài)測試中的應(yīng)用角色到實際演示與10.0版本功能更新,本文帶您透徹了解MXAM如何能輕松幫助您實現(xiàn)優(yōu)質(zhì)建模。

基于模型的開發(fā)中靜態(tài)測試的應(yīng)用與MXAM

MXAM是用于對Simulink?、Stateflow?、Embedded Coder?和TargetLink?模型進行全面靜態(tài)分析的專業(yè)工具,主要應(yīng)用于軟件V型開發(fā)流程的左側(cè)設(shè)計階段,覆蓋從架構(gòu)到單元設(shè)計和實現(xiàn)的全過程。

基于模型的開發(fā)(MBD)依賴基于需求的,測試驅(qū)動的工作流來持續(xù)地確保質(zhì)量。軟件V型開發(fā)流程由左側(cè)地設(shè)計階段和右側(cè)的測試階段組成。功能質(zhì)量和功能的適用性是右側(cè)測試階段的主題,而設(shè)計的適用性和設(shè)計質(zhì)量則是設(shè)計階段關(guān)注的重點。設(shè)計質(zhì)量和功能質(zhì)量同樣重要,因為模型設(shè)計的適用性能夠有效促進功能的適用性。那么,模型設(shè)計質(zhì)量應(yīng)如何保證? 模型靜態(tài)測試能夠幫助工程師保證模型設(shè)計的適用性:不僅可以改進已在開發(fā)過程中的模型,還可以通過質(zhì)量保證前置幫助模型在代碼生成前確保質(zhì)量,生成代碼的質(zhì)量得以有效提升。

實際應(yīng)用中,MXAM支持高度自動化的靜態(tài)分析并致力于Simulink和TargetLink模型的可讀性,魯棒性,避免模型錯誤以及改進生成代碼。圖是一個Simulink模型的次級子系統(tǒng)??梢钥闯?,模型目前存在違背建模規(guī)范的多項錯誤。例如第一處,模塊命名應(yīng)位于模塊下方,而不是上方。再比如第二處,對于常值模塊而言,其命名不應(yīng)使用具體的,非0和1的數(shù)字,而應(yīng)當設(shè)置為參數(shù)進行表示。對于模型的可讀性來說,圖1的信號流未對齊(第三處)。模塊的命名應(yīng)當被清晰識別,而第四處顯然不符合建模規(guī)范的相關(guān)要求。第五處的輸入端口隱藏在了系統(tǒng)布局內(nèi)。此外,出于避免模型錯誤的出現(xiàn),第六處的乘積模塊不應(yīng)存在超過兩個輸入端口…等等,這些問題嚴重影響了該Simulink模型的可讀性和設(shè)計質(zhì)量。圖2展示了該模型經(jīng)過MXAM修改優(yōu)化后的結(jié)果:所有在之前討論過的錯誤都被一一準確修正,模型的可讀性得到了顯著提升。

圖1. Simulink模型次級子系統(tǒng)經(jīng)建模規(guī)范優(yōu)化前

圖1. Simulink模型次級子系統(tǒng)經(jīng)建模規(guī)范優(yōu)化前

圖2. Simulink模型次級子系統(tǒng)經(jīng)建模規(guī)范優(yōu)化后

圖2. Simulink模型次級子系統(tǒng)經(jīng)建模規(guī)范優(yōu)化后

由此可見,評估模型的建模規(guī)范合規(guī)性在保證模型質(zhì)量的實際應(yīng)用中至關(guān)重要。此環(huán)節(jié)主要評估模型的布局,數(shù)據(jù)和控制流,數(shù)據(jù)類型,及其配置情況。模型的布局要求確保模型元素之間的關(guān)系和連接方式符合設(shè)計規(guī)范。模型的數(shù)據(jù)和控制流要求檢驗可能的邏輯錯誤及路徑偏差。模型中的數(shù)據(jù)類型定義必須正確且一致。模型的配置情況則要求模型的配置參數(shù)符合設(shè)計規(guī)范。這樣的評估需要遵循相關(guān)的模型設(shè)計原則或標準,例如MISRA,MATLAB Simulink,或相應(yīng)建模規(guī)范文件等等,設(shè)計原則的具體應(yīng)用主要通過對根據(jù)相應(yīng)規(guī)范而設(shè)置的模型指標的檢驗評估實現(xiàn)。例如汽車功能安全行業(yè)標準ISO 26262 – 6: 軟件級別產(chǎn)品開發(fā)中對汽車軟件架構(gòu)所提出的具體建議和原則。其中,模型的復(fù)雜度,大小,和非相干度是檢驗?zāi)P褪欠穹舷鄳?yīng)建模規(guī)范的重要指標。模型的復(fù)雜度分析旨在發(fā)現(xiàn)模型中可能導(dǎo)致問題的復(fù)雜結(jié)構(gòu)或關(guān)系,及時優(yōu)化并簡化模型,確保模型合規(guī)。模型的大小意在評估模型子系統(tǒng),接口等等的規(guī)模,確保模型的可理解性和可維護性。模型的非相干度要求減少模型中的非相干性,以此確保模型各部分之間的關(guān)聯(lián)適度。

模型指標的檢驗分析可以通過靜態(tài)測試的方式在模型開發(fā)中及早實現(xiàn),提高模型的質(zhì)量,并保證軟件系統(tǒng)運行的穩(wěn)定性和安全性。在模型開發(fā)過程的敏捷工作流中,建立模型之后,根據(jù)建模規(guī)范或行業(yè)標準的要求分析模型指標,再生成清晰且全面的分析報告,并根據(jù)報告結(jié)果對模型進行修復(fù),最終實現(xiàn)并輸出優(yōu)質(zhì)的模型。

在模型開發(fā)過程中執(zhí)行靜態(tài)測試,可通過敏捷工作流實現(xiàn)。如圖3所示,敏捷工作流中,首先建立模型,再根據(jù)業(yè)界標準和建模規(guī)范進行模型分析,得出清晰全面的分析報告,最后根據(jù)分析報告的結(jié)論快速解決和修復(fù)模型遇到的問題,最后實現(xiàn)質(zhì)量門的通過,輕松實現(xiàn)優(yōu)質(zhì)建模。 在這一過程當中,MXAM和MoRe (MES Model Refactor MoRe, 現(xiàn)已集成在MXAM中) 兩大工具,分別在敏捷工作流的不同階段為建模工作提供有力支持。

圖3. MXAM與MoRe為模型開發(fā)過程中敏捷工作流的不同階段提供支持

圖3. MXAM與MoRe為模型開發(fā)過程中敏捷工作流的不同階段提供支持

通過啟動模型分析,MXAM可以向用戶展示模型根據(jù)建模規(guī)范一致性的分析結(jié)果報告,如圖4所示的分析結(jié)果視圖。

圖4. MXAM分析結(jié)果視圖

從展示形式來說,如圖5所示,MXAM中的報告視圖可展示為不同的導(dǎo)覽方式,如規(guī)范文檔導(dǎo)覽(Document Navigation)和模型工件導(dǎo)覽(Artificial Navigation)。規(guī)范文檔形式下,在報告和文檔的每個級別都顯示聚合的分析結(jié)果:模型名稱、分析完成的時間。在工具欄中,還可以通過選擇樹查看分析結(jié)果。工件導(dǎo)覽是以模型結(jié)構(gòu)樹的形式顯示相應(yīng)系統(tǒng)或子系統(tǒng)對應(yīng)的模型聚合分析結(jié)果。

圖5. MXAM報告視圖的不同導(dǎo)覽方式

內(nèi)容而言,圖顯示了模型的合規(guī)報告視圖右側(cè)顯示了模型的合規(guī)分析結(jié)果列表 (Findings),模型架構(gòu)分析的相應(yīng)指標 (Metrics),模型合規(guī)性的注釋列表 (Annotations),模型分析的配置詳情 (Analysis Configuration)和模型分析指標的摘要 (Metrics Summary)。

圖6. MXAM合規(guī)分析結(jié)果

用戶還可以通過菜單(Menu)或過濾選項(filter)選擇并查看相應(yīng)的分析結(jié)果。

分析結(jié)果的詳細信息可以在詳情結(jié)果視圖(Finding Details)查看。如圖7所示,用戶可以查看到違反相關(guān)建模規(guī)范的詳細信息和結(jié)果描述。

圖7. MXAM違規(guī)項的詳細信息

比如出現(xiàn)錯誤的具體路徑(Path)和具體模塊(Name),和出現(xiàn)這條錯誤報告的具體原因。用戶可以通過路徑及模塊名稱上的超鏈接直接到達模型中該錯誤所在的位置。修復(fù)選擇(Repair Finding)可以幫助用戶一鍵修復(fù)錯誤。

對于建模規(guī)范來說,此處以建模規(guī)范mcheck_misra_slsf_030_c為例,在詳情頁中(如圖8所示)可以找到關(guān)于這一建模規(guī)范的詳細描述,包括檢查項通過該建模規(guī)范或不通過的評判標準(Pass-Fail Criteria),以及相應(yīng)的解決方案(Solution)和修復(fù)的具體描述(Repair Action)。

圖8. MXAM建模規(guī)范詳情頁

最終的檢查報告可以HTML-、 PDF-、 EXCEL-、XML-以及MXAM自帶的mxmr格式快速導(dǎo)出。

MXAM v10.0: MoRe的集成與功能升級

MoRe 現(xiàn)已成為MXAM的一部分

在前文中已提到,MXAM能夠在模型敏捷開發(fā)流程的多個階段提供強有力的支持: 加速模型分析流程,快速生成報告,并輔助自動修復(fù)。同樣來自MES模賽思的MATLAB Simulink擴展建模輔助工具MES Model & Refactor(MoRe)能夠為敏捷開發(fā)流程中的建模和修復(fù)提供高效幫助。MoRe能將您日常建模中的步驟自動化,省去大量重復(fù)單調(diào)的操作,幫助您在建模時專注于重要步驟,節(jié)約時間,全面提高工作效率。

現(xiàn)在,在MXAM全新版本v10.0之下, MoRe已集成在MXAM中。MXAM的功能變得更為全面,全力支持您基于模型的開發(fā)過程。

如圖9所示,這是普通的MXAM安裝程序。用戶可以在此處選擇許可證文件,而MoRe的標志已在此標注。 接下來用戶可以繼續(xù)正常的下載步驟, MoRe的下載會自動隨 MXAM同步進行。

圖9. MoRe的安裝已集成在MXAM下載器中

進入 MATLAB 界面后,MXAM和MoRe即可馬上使用。如圖10中的Simulink模型所示,MES MoRe選項已經(jīng)在菜單中,可以直接調(diào)用MoRe的相關(guān)功能。

圖10. MoRe的輕松調(diào)用

MoRe 最新版本的所有功能均包含在內(nèi),集成在MXAM中和MoRe獨立工具使用的體驗相同。 不僅是自動布局,MoRe同樣可以從多角度幫助模型進行快速優(yōu)化。不論是從將 Goto/From 模塊轉(zhuǎn)換為信號線,或是命名問題, MoRe都可以輔助您改進模型,并節(jié)約大量時間。

新增可選擴展全局參數(shù)及建模規(guī)范

新版本中,MXAM 對 Embedded Coder AUTOSAR 運行實體中的參數(shù)進行了擴展。在使用 Embedded Coder進行模型開發(fā)時,如果靜態(tài)測試包括了自動生成的模型部分,則會導(dǎo)致大量的時間和資源浪費。MXAM v10.0對分析參數(shù)進行了擴展(見圖11)。如果將此參數(shù)設(shè)置為“True“, 那么MXAM只會對運行實體子系統(tǒng)中的模型元素進行分析。

???? 圖11. MXAM v10.0新增參數(shù):“Global.AnalyzeAutosarRunnablesSubsystemsOnly“

在開發(fā)AUTOSAR模型的過程中,工程師一般通過ARXML文件開始進行模型生成和框架的構(gòu)建,因而模型會自動生成很多層級以及其他文件。而模型的自動生成部分并非必須進行靜態(tài)測試,因其必須遵循 AUTOSAR提供給您的內(nèi)容,模型結(jié)構(gòu)固定,對固定部分進行靜態(tài)測測試會耗費大量不必要的時間和精力。這個新的全局參數(shù)能夠幫助工程師實現(xiàn)只分析AUTOSAR運行實體中的模型和函數(shù),這樣開發(fā)工程師就可以將模型分析專注于實際應(yīng)用和可以進行更新修改的模型部分,從而節(jié)約大量時間。

而對于建模規(guī)范而言,MXAM新版本的更新完全圍繞主題“功能安全“展開。

建模規(guī)范mes_slsf_1500: 確??芍赜媚P徒M件具有已解析并啟用的鏈接。本建模規(guī)范完全專注于功能安全。在工程師應(yīng)對可重用模型組件時,應(yīng)當確保所有鏈接已解析,如果其中有尚未解析的鏈接,將模塊用未啟用的鏈接進行連接可能會導(dǎo)致潛在的問題。使用本建模規(guī)范可以確保模型引用可用且已更新,同時提高了可測試性,確保模型在進入下一個質(zhì)量保證階段前一切就緒。

另一項更新來自mes_slsf_2200: 避免舍入模式(Rounding Mode)。絕大多數(shù) Simulink 中的計算模塊都可以設(shè)置特定的舍入模式。此時,確保代碼生成的舍入模式都被明確定義十分重要。本建模規(guī)范能夠避免模型將舍入模式設(shè)置為“Simplest”,并且對應(yīng)的MES檢查項中也有對應(yīng)的檢查參數(shù)可供使用。

此外,建模規(guī)范mes_slsf_3500: 禁止在Stateflow圖中使用用戶定義的事件?;谑录慕?赡軙?dǎo)致模型難以維護,出現(xiàn)隱藏控制流和可能的無限遞歸。同步問題也可能發(fā)生,且Stateflow的早期返回邏輯可能導(dǎo)致不良后果。此建模規(guī)范可確保模型不會在Stateflow圖中使用用戶定義的事件,從而防止隱藏控制流出現(xiàn)在模型之中。

除此之外,新版本還添加了對三個版本的 TargetLink 用戶的相應(yīng)變量類別和全新的MES檢查。

如您對MXAM全新版本感興趣,歡迎您申請免費試用了解更多。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
SY89831UMG-TR 1 Microchip Technology Inc 89831 SERIES, LOW SKEW CLOCK DRIVER, 4 TRUE OUTPUT(S), 0 INVERTED OUTPUT(S), QCC16
暫無數(shù)據(jù) 查看
CSTCC4M00G53-R0 1 Murata Manufacturing Co Ltd Ceramic Resonator, 2MHz Nom, CERAMIC PACKAGE-3

ECAD模型

下載ECAD模型
$0.96 查看
MCT62SD 1 onsemi 8-Pin DIP Dual-Channel Phototransistor Output Optocoupler, 1000-REEL

ECAD模型

下載ECAD模型
$1.33 查看

相關(guān)推薦