前言
在基於模型的開發(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可共同簡化開發流程,確保建立模型的設計一致、易於理解、健壯且不易出錯。這樣的整合最終會帶來更高質量的軟體開發和更高效的工作流程。
注:本文轉載自MES模賽思 ,作者MES模賽思