知
在知識分享欄目中,我們會定期與讀者分享來自MES模賽思的基于模型的軟件開發(fā)相關(guān)Know-How干貨,關(guān)注公眾號,隨時掌握基于模型的軟件設(shè)計的技術(shù)知識。
輕松實現(xiàn)優(yōu)質(zhì)建模
前言
在基于模型的開發(fā)(MBD)領(lǐng)域,模型的質(zhì)量對于最終產(chǎn)品的成功至關(guān)重要。通過閱讀本文,您可了解如何提升模型質(zhì)量,并在整個開發(fā)過程中確保模型的一致性和質(zhì)量。
什么是更好的建模?
更好的建模,也被稱為是創(chuàng)建卓越軟件模型的方法,對于開發(fā)高質(zhì)量的軟件至關(guān)重要。這一方法的關(guān)鍵方面包括通過精心的布局和設(shè)計保持一致的外觀,確保對象和信息不被隱藏或遮擋,并遵循結(jié)構(gòu)化的方法。例如,信號流應(yīng)當(dāng)遵循從左到右的方向,應(yīng)避免信號線交叉,所有模塊名稱的位置應(yīng)當(dāng)固定在特定位置以保持一致性。這種全面的方法可確保模型不僅在視覺上清晰明確,更能保證模型的健壯性和無誤,最終提高代碼質(zhì)量。
如何讓模型變得更好?
為了實現(xiàn)更好的模型,關(guān)注幾個關(guān)鍵方面非常重要。以下是其中部分內(nèi)容的詳細(xì)解析:
1. 一致的布局和設(shè)計:
布局和設(shè)計對于模型具有良好的建模風(fēng)格相當(dāng)重要,有助于創(chuàng)建外觀一致的更好的模型。例如,確定模型輸入端口和輸出端口的數(shù)量十分重要。隨意的建模風(fēng)格可能會對模型的可讀性和可理解性有重大影響,這也是為什么需要通過通用風(fēng)格指南來確保模型易于理解的原因,尤其是對于外部評審人員來說。
信號流:信號流應(yīng)當(dāng)遵循從左至右的方向,即從左側(cè)的所有輸入端口到位于右側(cè)的所有輸出端口。
信號線交叉:應(yīng)避免或明確信號線交叉。
模塊名稱:所有模塊名稱的位置都應(yīng)固定在一個特定的位置,比如模塊下方。
圖1: 從左至右的信號流
2. 可讀性和可理解性:
為了確保模型易于理解,通用風(fēng)格指南必不可少。模型的設(shè)計不應(yīng)隱藏或遮擋相關(guān)對象和信息。例如,有些模塊可能難以識別,這使得他們是否是常量或其數(shù)值的含義不夠清楚。一個擁有良好設(shè)計的模型應(yīng)當(dāng)確保模塊清晰可識別、大小合適,并對常量明確命名,以避免混淆。
魔法常量:"Magic constants(魔法常量)"是來源或含義不明確的值,應(yīng)當(dāng)避免。這些不明確的值可導(dǎo)致誤解和錯誤。風(fēng)格指南建議在工作區(qū)中對常量進行命名和定義,以此來增加可理解性和可維護性,幫助區(qū)分不同的常量并明確它們在模型中的作用。
信號命名:一致的信號命名可提升數(shù)據(jù)流的可理解性,并減少維護工作量??傮w上講,它還有助于提高整個模型的可理解性。
圖2: 信號流的可讀性和可理解性
3. 健壯性和避免錯誤:
除了確保模型布局的一致性和清晰的可讀性,建模風(fēng)格指南同樣強調(diào)模型的健壯性,并避免易出錯的建模模式。這些指南旨在提升生成代碼的可測試性和質(zhì)量。比如,一個設(shè)計不當(dāng)?shù)哪P涂赡軐?dǎo)致功能問題。此處考慮一個有三個操作數(shù)的乘積運算模塊;根據(jù)信號流的順序和數(shù)據(jù)類型,此操作可能會產(chǎn)生不同的結(jié)果,從而潛在地導(dǎo)致錯誤。為了避免這樣的問題,應(yīng)當(dāng)采用級聯(lián)(cascade)方式進行建模操作,即根據(jù)要求明確定義操作的步驟順序。通過將以上所有推薦考慮在內(nèi)并應(yīng)用風(fēng)格指南,最終的模型的健壯性和可靠性更加優(yōu)秀,功能性顯著提升,并且降低出錯的可能性。
強數(shù)據(jù)類型:信號和接口的數(shù)據(jù)類型需強類型化,因為不一致的數(shù)據(jù)類型會導(dǎo)致代碼效率低下、精度降低、或范圍違規(guī)。
如何實現(xiàn)更好的模型?
在MBD流程中,提高模型質(zhì)量對于交付成功的最終產(chǎn)品至關(guān)重要。MES Model Examiner (MXAM)和MES Model & Refactor (MoRe)是實現(xiàn)這一目標(biāo)必不可少的工具。值得一提的是,現(xiàn)在MoRe已集成在所有MXAM用戶許可證中,用戶獲得了使用高級建模功能的權(quán)限。
MXAM提供全面的靜態(tài)分析,確保模型符合AUTOSAR和ISO 26262等標(biāo)準(zhǔn)。它評估模型結(jié)構(gòu)和度量指標(biāo),并提供檢查建模規(guī)范的最優(yōu)方法。這有助于保持模型布局和設(shè)計的一致性,使模型在視覺上清晰易讀。同時,MXAM還能自動修復(fù)違背建模規(guī)范的地方,避免”魔法常量“和確保命名慣例清晰明確,提升模型的可讀性和可理解性。
MoRe與MXAM相輔相成,通過在Simulink中自動創(chuàng)建符合建模規(guī)范的模型布局,顯著降低模型重構(gòu)時間,并提升一致性。這樣自動化幫助最大程度上減少手動錯誤,提高模型的健壯性和可靠性。通過確保以級聯(lián)(cascade)方式進行建模操作,MoRe降低了功能問題出現(xiàn)的可能性,使模型健壯性提升,并且無錯誤。
MXAM和MoRe可共同簡化開發(fā)流程,確保創(chuàng)建模型的設(shè)計一致、易于理解、健壯且不易出錯。這樣的集成最終會帶來更高質(zhì)量的軟件開發(fā)和更高效的工作流程。
-
信號
+關(guān)注
關(guān)注
11文章
2791瀏覽量
76757 -
MES
+關(guān)注
關(guān)注
5文章
913瀏覽量
29793 -
MBD
+關(guān)注
關(guān)注
0文章
25瀏覽量
8966
發(fā)布評論請先 登錄
相關(guān)推薦
評論