賓士北美研發中心透過汽車軟體質量工具提升嵌入式軟體的安全性

MES模賽思發表於2021-03-16

賓士北美研發中心透過汽車軟體質量工具提升嵌入式軟體的安全性

梅賽德斯-賓士北美研發中心(MBRDNA)是如何運用MES M-XRAY®工具軟體來提升其基於模型的軟體設計流程的。

作為世界上最著名的汽車製造商之一的研發部門,MBRDNA的開發團隊一直以來在不斷尋找最高效和最有效的方法和流程,為其開發用於尖端汽車功能的安全軟體,如E-Drive控制器。但是,向現有的軟體程式裡新增功能,同時又要保持它的可理解性、可維護性和可測試性是一項挑戰。即便使用軟體模型,也需要先進的工具和流程作為輔助,才能實現這一目標。

汽車控制軟體的持續改進:重構的必要性

MBRDNA尤其希望提升其E-Drive元件的控制軟體的效能。 在美國密歇根州雷德福的團隊已將基於模型的開發作為其設計嵌入式軟體的主要開發方法。作為它的一部分,軟體模型是開發過程中的基本工件–對功能完整性和預期功能覆蓋率的驗證主要在軟體模型層級進行。作為對流程的持續改善的一個方面,現有的用於生產的軟體模型會定期進行改進,以合併越來越多的功能。 MBRDNA的E-Drive軟體模型是電子驅動系統控制器的基礎。它管理著如電子驅動器的扭矩和牽引力等功能。該控制器軟體還用於48V系統,純電驅動系統和燃料電池專案等領域。

MBRDNA的策略是首先實現軟體的基本功能。隨著更加複雜的需求和其他專案利益相關者,如新開發人員、測試人員和校準人員的參與,MBRDNA確定了“管理複雜度”的必要性,以便使複雜的軟體模型相對容易理解,並促進團隊之間的有關直接溝通。軟體模型變得越來越大,這成為審查基本模型的主要原因。軟體模型功能測試團隊經常需要特別投入額外的精力來測試軟體模型及其包含的軟體單元。對測試團隊來說,將特定的需求追溯到模型的相關子系統也是非常耗時的。

MBRDNA決定建立一個全面的軟體模型重構專案,以應對這種不斷增加的測試和跟蹤工作。

開發一個軟體模型重構的系統方法

MBRDNA首先定義了一組軟體模型重構的目標。其主要目標的是透過降低模型的複雜度來提高模型的可測試性和可理解性。 MBRDNA希望降低子系統級別和整個軟體模型整合級別的複雜度。MBRDNA遵循ISO 26262安全標準,因此他們必須確保單元和模型的結構良好且不包含過於複雜的部件,因為這經常會導致測試出現問題。過於複雜的部件必須分解成不太複雜和較小的單元–最好是每個子系統只包含一個專用功能。 另一個目標是識別潛在的庫元素,這將進一步降低模型的整體複雜度。MBRDNA的做法是將自動化水平推向最高。為此,MBRDNA開始著手尋找模型架構增強工具來支援和監控重構結果。作為確定的軟體模型設計流程的一部分,他們的長期打算是驗證此類工具是否有助於體系架構的持續監控和最佳化。

尋找合適的汽車軟體開發工具

MES M-XRAY®(MXRAY)工具軟體被選中支援模型重構專案。MXRAY可計算每個子系統的軟體模型的本地複雜度,並提供有關整體模型複雜度的資訊。此工具還向使用者指出所謂模型的熱點。熱點是模型的子系統,應該被修改和重構。為了進一步最佳化MXRAY的功效,MBRDNA利用該工具的靈活性,為他們的特定環境進行了個性化定製。BRDNA在MXRAY的配置中特別新增了特定功能程式碼塊並定義了自定義縮放因子。鑑於這種簡單的可配置性,該工具可提供一系列度量指標,精確地識別MBRDNA模型中有問題的部分。該工具還可進行定性和定量分析。定量分析包含軟體模型的全域性整體複雜度分析。該資訊在“重新架構流程”和軟體進一步模組化的過程中是必要的,其中整體複雜度用於確定哪個超大型軟體模型應該被分解成多個軟體模組。 定性分析為MBRDNA提供有關特定軟體模型中容易出錯的熱點的資訊。因此MBRDNA對本地子系統的複雜度,以及如何以智慧的方式限制複雜度的方法特別感興趣。

重構技術的應用

根據MXRAY提供的度量指標,MBRDNA開發並採用了一系列技術來重構被識別的軟體模型部件:

  • 系統地將過於複雜的子系統分解為一組不太複雜,功能相關的子系統。
  • 使用MXRAY的克隆檢測功能來檢測模型中重複使用的冗餘元素/程式碼塊(blocks)(例如:多項式(Polynoms)的程式碼塊 ),並將這些冗餘元素新增到MBRDNA特定的程式碼塊庫(block library)或引用的模型中。這樣做的目的是避免出現須單獨進行檢查和測試的冗餘模型元件。

使用軟體質量工具收穫的積極成果

MES M-XRAY的分析高度精確地指出了軟體模型中易出錯的熱點。根據MBRDNA的高階開發人員Humphrey Achiri的說法,“MXRAY大大提高了我們軟體模型的整體可讀性、可測試性和可維護性。” 此外,梅賽德斯-賓士的校準工程師們指出,它使得“在車輛測試期間,其測試軌道上的時間是一個限制因素,而MXRAY使得定位到最終軟體這件事變得更加容易。”對梅賽德斯-賓士的測試工程師們來說,設計MIL和SIL的測試用例也變得更加方便了(即易於進行基於需求的測試),因為單個需求與特定子系統中的實際實現更加一致。另外,由於單個子系統不太複雜,因此軟體的文件也變得更加簡單。

MBRDNA目前已經能夠實現其主要目標,即提高新一代混合動力汽車和純電動汽車軟體模組的可讀性、可測試性和可維護性。鑑於複雜的單個子系統的減少,軟體的文件也得以簡化。透過重構取得的數值結果包括:

  • 作為度量整體軟體模型的可理解性和可讀性的指標,整體複雜度已降低約10%。這意味著為理解、維護、測試和實施重構軟體模型所需的工作量大幅減少。
  • 區域性複雜度的測值也有了顯著的降低,而且對於一些軟體模型,複雜子系統的數量減少到了零。

在軟實力方面取得的成果:

  • 來自需求工程團隊的評論:“哇–這些軟體模型現在更容易理解和使用。” 因為該模型與MBRDNA的48V系統、純E-Drive系統和燃料電池專案具有額外相關性,因此對其複雜度的管理也被證明有益於版本管理。

此外,自動生成的程式碼沒有改變,這是因為模型中描述的功能未被修改。

鑑於取得的積極實際成果,開發流程的提升以及有利的內部反饋,MBRDNA為安裝MES M-XRAY®工具軟體並重構整個軟體模型所做的努力是一項很好的投資。重構專案的反饋和具體的實際效果都非常好。

對MBRDNA複雜度管理的前景展望

未來,MXRAY將為MBRDNA模型的持續最佳化和重構提供支援。在MBRDNA開發與重構控制器功能的大型軟體模型流程指南里將列出一組MXRAY檢查和度量指標作為團隊在監控整個開發流程的模型體系架構方面的最佳實踐。 MBRDNA還計劃將該工具整合到基於Jenkins技術的高度自動化持續整合構建流程中。 自評估開始以來,MXRAY自身也實現了一些重大提升。 藉助MXRAY工具軟體裡包含的一系列新功能,例如額外的不連貫不相關性和介面介面效率指標,“可以進一步簡化持續模型改進的流程”,MBRDNA的E-Drive軟體總監,Alexander Dolpp總結道。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983059/viewspace-2762998/,如需轉載,請註明出處,否則將追究法律責任。

相關文章