基於模型化之車用軟體程式開發

作者:

吳世翔

刊登日期:2019/06/28

前言
隨著車用軟體開發的日益複雜及安全規範的需求,為了兼顧程式設計的開發效率與維護成本,各大車廠均需要一套可完整實現開發流程之工具鏈(Toolchain)。模型化程式設計(Model Based Design, MBD)做為現代程式設計常用之框架,同時具有可讀性(Readability)、可追朔性(Traceability)及可重用性(Reusability)的特性,此三項特性使模型化程式設計涵蓋從程式架構開發、軟體功能驗證到軟體維護及移植過程中所需之軟體開發工具。
模型化程式設計方法著重在開發周期及流程,完整的工具鏈可實現如圖1(a)所示之V模型(V-model)開發流程,V模型中標示的6個步驟均有其相對應的工具來進行工作展開,以下將介紹每個工作項目的主要目標及模型化程式設計方法所帶來之優勢。軟體需求(Software Requirements): 此階段會將開發初期的功能需求以及安全規範以正式文件的形式列表,並對每個需求編列序號組成一份完整的軟體開發功能需求文件,此需求文件即可匯入模型化開發工具方便開發人員追蹤開發進度。軟體架構(Software Architecture):軟體架構的設計對於整個軟體的開發時程會有極大的影響,軟體架構規定著各個軟體元件的模組化程度及其介面,合適的架構有利於軟體開發的分工及移值。模型化開發工具以其圖型化之使用介面,可有效地加快軟體架構的成型以利於開發者對各個功能模組進行分類及實現。軟體細部設計及實現(Software Detail Design and Implementation): 根據軟體架構中制定的各模組功能及介面搭配功能需求文件,實現各個演算法或是控制法則,開發者在此過程中可搭配模型化開發工具的模型檢測工具使用,此工具會針對模型執行效率、資料型態轉換及變數命名規則等的標準規範來評估整體模型的表現。軟體單元測試(Software Unit Testing): 任何軟體開發架構均會要求開發者對各個軟體單元(Unit)或是元件(Component)進行測試以符合功能需求。 模型化開發方法最大的優勢就在於其驗證工具可將軟體單元測試自動化並且可視化,此特性可讓開發者快速地針對各個軟體單元之運行邏輯進行測試及除錯。軟體整合測試(Software Integration Testing): 所有軟體單元進行單元測試後可進一步進行軟體整合測試,根據軟體架構中所制定的模組範圍進行功能測試,在整合測試時若搭配受控體的模型,即可在個人電腦中實現模型在環(Model-in-the-Loop, MiL)測試,此測試可驗證軟體在運行時的暫態行為。

圖1 模型化程式設計開發模型及流程

 

…本文未結束

更完整的內容 歡迎訂購 2019年7月號 436期

機械工業雜誌‧每期240元‧一年12期2400元

我要訂購