加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 基于模型的開(kāi)發(fā)中靜態(tài)測(cè)試的應(yīng)用與MXAM
    • MXAM v10.0: MoRe的集成與功能升級(jí)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

05/29 17:15
1315
閱讀需 15 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

圖7. MXAM違規(guī)項(xiàng)的詳細(xì)信息

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

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

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

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

MXAM v10.0: MoRe的集成與功能升級(jí)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如您對(duì)MXAM全新版本感興趣,歡迎您申請(qǐng)免費(fèi)試用了解更多。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
HFBR-2521Z 1 Foxconn Receiver, 5Mbps, DIP, Through Hole Mount, ROHS COMPLIANT PACKAGE
$14.78 查看
LMK62A2-100M00SIAT 1 Texas Instruments 100-MHz, LVDS ±50 ppm, high-performance, low-jitter, standard oscillator 6-QFM -40 to 85

ECAD模型

下載ECAD模型
$10.7 查看
AB26TRQ-32.768KHZ-T 1 Abracon Corporation CRYSTAL 32.7680KHZ 12.5PF SMD

ECAD模型

下載ECAD模型
$0.5 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜