知
在知識分享欄目中,我們會定期與讀者分享來自MES模賽思的基于模型的軟件開發相關Know-How干貨,關注公眾號,隨時掌握基于模型的軟件設計的技術知識。
輕松實現優質建模
前言
在基于模型的開發(MBD)領域,模型的質量對于最終產品的成功至關重要。通過閱讀本文,您可了解如何提升模型質量,并在整個開發過程中確保模型的一致性和質量。
什么是更好的建模?
更好的建模,也被稱為是創建卓越軟件模型的方法,對于開發高質量的軟件至關重要。這一方法的關鍵方面包括通過精心的布局和設計保持一致的外觀,確保對象和信息不被隱藏或遮擋,并遵循結構化的方法。例如,信號流應當遵循從左到右的方向,應避免信號線交叉,所有模塊名稱的位置應當固定在特定位置以保持一致性。這種全面的方法可確保模型不僅在視覺上清晰明確,更能保證模型的健壯性和無誤,最終提高代碼質量。
如何讓模型變得更好?
為了實現更好的模型,關注幾個關鍵方面非常重要。以下是其中部分內容的詳細解析:
1. 一致的布局和設計:
布局和設計對于模型具有良好的建模風格相當重要,有助于創建外觀一致的更好的模型。例如,確定模型輸入端口和輸出端口的數量十分重要。隨意的建模風格可能會對模型的可讀性和可理解性有重大影響,這也是為什么需要通過通用風格指南來確保模型易于理解的原因,尤其是對于外部評審人員來說。
信號流:信號流應當遵循從左至右的方向,即從左側的所有輸入端口到位于右側的所有輸出端口。
信號線交叉:應避免或明確信號線交叉。
模塊名稱:所有模塊名稱的位置都應固定在一個特定的位置,比如模塊下方。
圖1: 從左至右的信號流
2. 可讀性和可理解性:
為了確保模型易于理解,通用風格指南必不可少。模型的設計不應隱藏或遮擋相關對象和信息。例如,有些模塊可能難以識別,這使得他們是否是常量或其數值的含義不夠清楚。一個擁有良好設計的模型應當確保模塊清晰可識別、大小合適,并對常量明確命名,以避免混淆。
魔法常量:"Magic constants(魔法常量)"是來源或含義不明確的值,應當避免。這些不明確的值可導致誤解和錯誤。風格指南建議在工作區中對常量進行命名和定義,以此來增加可理解性和可維護性,幫助區分不同的常量并明確它們在模型中的作用。
信號命名:一致的信號命名可提升數據流的可理解性,并減少維護工作量。總體上講,它還有助于提高整個模型的可理解性。
圖2: 信號流的可讀性和可理解性
3. 健壯性和避免錯誤:
除了確保模型布局的一致性和清晰的可讀性,建模風格指南同樣強調模型的健壯性,并避免易出錯的建模模式。這些指南旨在提升生成代碼的可測試性和質量。比如,一個設計不當的模型可能導致功能問題。此處考慮一個有三個操作數的乘積運算模塊;根據信號流的順序和數據類型,此操作可能會產生不同的結果,從而潛在地導致錯誤。為了避免這樣的問題,應當采用級聯(cascade)方式進行建模操作,即根據要求明確定義操作的步驟順序。通過將以上所有推薦考慮在內并應用風格指南,最終的模型的健壯性和可靠性更加優秀,功能性顯著提升,并且降低出錯的可能性。
強數據類型:信號和接口的數據類型需強類型化,因為不一致的數據類型會導致代碼效率低下、精度降低、或范圍違規。
如何實現更好的模型?
在MBD流程中,提高模型質量對于交付成功的最終產品至關重要。MES Model Examiner (MXAM)和MES Model & Refactor (MoRe)是實現這一目標必不可少的工具。值得一提的是,現在MoRe已集成在所有MXAM用戶許可證中,用戶獲得了使用高級建模功能的權限。
MXAM提供全面的靜態分析,確保模型符合AUTOSAR和ISO 26262等標準。它評估模型結構和度量指標,并提供檢查建模規范的最優方法。這有助于保持模型布局和設計的一致性,使模型在視覺上清晰易讀。同時,MXAM還能自動修復違背建模規范的地方,避免”魔法常量“和確保命名慣例清晰明確,提升模型的可讀性和可理解性。
MoRe與MXAM相輔相成,通過在Simulink中自動創建符合建模規范的模型布局,顯著降低模型重構時間,并提升一致性。這樣自動化幫助最大程度上減少手動錯誤,提高模型的健壯性和可靠性。通過確保以級聯(cascade)方式進行建模操作,MoRe降低了功能問題出現的可能性,使模型健壯性提升,并且無錯誤。
MXAM和MoRe可共同簡化開發流程,確保創建模型的設計一致、易于理解、健壯且不易出錯。這樣的集成最終會帶來更高質量的軟件開發和更高效的工作流程。
-
信號
+關注
關注
11文章
2804瀏覽量
77103 -
MES
+關注
關注
5文章
934瀏覽量
29887 -
MBD
+關注
關注
0文章
25瀏覽量
9017
發布評論請先 登錄
相關推薦
基于labview的小車測試系統軌道建模與實現
木雕的掃描建模如何實現?
網絡管理服務行為建模與實現
Magma推出下一代知識產權參數特征化及建模工具
輕松實現Apache Tomcat集群負載均衡
![<b class='flag-5'>輕松</b><b class='flag-5'>實現</b>Apache Tomcat集群負載均衡](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
在MATLAB/simulink中建模時的兩種不同實現方式
MATLAB/simulink中兩種實現建模方式的優勢
新型數據知識驅動的元宇宙建模框架方案
![新型數據<b class='flag-5'>知識</b>驅動的元宇宙<b class='flag-5'>建模</b>框架方案](https://file1.elecfans.com/web2/M00/82/AC/wKgZomRcmMGAAQdEAAANzvF9viE206.png)
評論