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