新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式線控駕駛系統開發過程中設計和測試考慮

        嵌入式線控駕駛系統開發過程中設計和測試考慮

        作者: 時間:2013-11-12 來源:網絡 收藏
        由于有了基于模型的設計,使得開發大量的汽車嵌入式系統時,可以由模型自動生成最終編譯的軟件。不過,這項工作需要一個軟件工程框架的支持。本文使用(steer-by-wire system)作為實例,給出了設計汽車嵌入式系統的過程、方法和測試工具的一個框架。

        近來,有報道稱包括Denso、Motorola和Toyota在內的不同行業的多家公司都在產品代碼方面取得了成功。這項技術正日益成為軟件下一波演進發展中的一個重要組成部分。雖然總體而言,它對軟件工程化過程的影響已為業界所了解,但卻并沒有十分清楚地確立起來。對于早前類似演進發展(包括從機器代碼發展到匯編代碼,再發展到源代碼)的參與者而言,這一點尤為明顯。

        隨著抽象與自動化程度的日益提高,新的過程、方法和工具接踵而來。瀑布式過程已讓位于螺旋式方法和迭代方法。實時方法已經出現并正在取代靜態流程設計。新的工具也出現了,如包含有調試器、優化編譯器和自動測試工具的IDE(集成開發環境)。

        不過,由于難以使用、缺乏了解或是工具支持不足的原因,并非每一種好的思想都能開花結果。有跡象表明,這些方法和工具對于主流產品應用并非總是實用。例如,用驗證來確保軟件正確性的正規方法是使用一種全世界只有極少數專家才真正懂得的語言編寫的。此外,1980年代的實時用例工具可以輔助設計,但并未提供一條產生最終代碼的簡便途徑。

        在早期應用階段,產品代碼生成的效果相當不錯,這主要是由于其實用性。不過,其進一步的發展還需要依靠集成過程、方法和工具的支持。一種新的過程只有在具備了所需支持方法和工具的條件下才會成功。如果這些條件有所欠缺,那么對一個公司成熟的嵌入式系統進行重新設計的努力就不會是可行和實用的。

        本文給出了主要面向產品代碼生成的這樣一個框架:

        * 基于模型的設計
        * 建模、仿真、快速原型、產品代碼生成、模型測試和覆蓋、在環測試
        * 開發工具、驗證與生效(VV)工具、集成工具

        模型的設計過程

        通過提供一個共同的圖形規范和分析環境,基于模型的設計可以支持控制/DSP系統工程師和軟件開發人員的需要。在這個過程中,模型被創建并用來規定系統數據、接口、反饋控制邏輯、離散/狀態邏輯和實時行為。

        基于模型的設計被應用在幾乎每個需要嵌入式控制系統的行業之中。而在大型汽車電子控制單元()等嵌入式應用的開發過程中,其應用更為廣泛。DSP和通信應用也采用這種方法,但它們更強調建模和原型,而不是產品代碼生成。

        為了滿足這些不同的應用,基于模型的設計過程必須解決等安全關鍵系統的需求。它還必須產生最終的、可執行的代碼,而且必須特別緊湊、快速和能夠追蹤。這是由于在大批量生產的中,必須使用低成本的定點微控制器部件和DSP。

        基于模型的設計適合任何過程框架環境,包括那些在IEEE軟件工程化標準中描述過的過程框架。

        IEEE Std. 730適用于任何通用軟件項目。為了很好地理解它的過程框架,有必要回顧一下它對“關鍵性”項目文檔所列出的需求。

        IEEE Std. 730需求包括:

        * 軟件需求規范(SRS)
        * 軟件設計描述(SDD)
        * 軟件驗證與生效計劃(SVVP)
        * 軟件驗證與生效報告(SVVR)
        * 用戶文檔
        * 軟件配置管理計劃(SCMP)
        * 包括軟件項目管理計劃(SPMP)在內的其他文檔

        newmaker.com
        圖1:查看一個軟件過程的普通方法是借助于V形圖

        查看一個軟件過程的普通方法是借助于圖1所示的V形圖。這個圖對應著大部分工程化過程,不過在開發生命周期中,這個過程是迭代性的,有許多反復的步驟。圖中的軟件過程包括以下幾個組成部分:

        * 開發 (需求、設計、編碼和集成)
        * 驗證和生效(VV)
        * 集成 (軟件配置管理、需求可追蹤性和文檔)

        基于模型的設計非常注重過程迭代、早期測試和開發過程中的重用,這使得它既獨特而又功能強大。這一過程的內在實用性體現在V形圖的底部,產品代碼生成是來自設計的一種自動過渡。

        在基于模型的設計中,方框圖或狀態圖模型可以用作系統和軟件需求、軟件設計,或者在稍作假設變換之后,用作源代碼。這個過程的另外一個獨特之處是,它在最終編譯之前要進行廣泛的驗證和生效操作。早期驗證和生效的好處很明顯:它將大大減少在最終系統集成和測試期間發現的bug數目,返工次數也會更少。

        開發方法與工具

        在軟件工程化過程中,采用了基于模型的設計方法

        開發方法包括:1. 行為建模;2. 詳細軟件設計;3. 分布式結構設計;4. 產品代碼生成;5. 嵌入式目標集成。驗證與生效方法包括:1. 仿真與分析;2. 快速原型;3. 模型測試與覆蓋;4. 代碼追蹤與檢查;5. 硬件在環(HIL,Hardware-In-the-Loop)測試。集成方法包括:1. 源控制接口;2. 需求管理接口;3. 報告生成。

        下面給出了對各種開發方法的簡潔描述,并提供有例子和工具支持信息。注意這里給出的所有工具都是商業上可以獲得的。其后的部分討論了開發行為,并包含有關鍵的驗證與生效方法。最后,本文將通過集成組件來進行總結。

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黄龙县| 綦江县| 醴陵市| 孝感市| 永靖县| 禄丰县| 建德市| 湛江市| 鄂尔多斯市| 临高县| 曲麻莱县| 福海县| 吉林市| 海伦市| 卓资县| 兴隆县| 北辰区| 华池县| 鸡泽县| 乌拉特后旗| 龙口市| 青州市| 闵行区| 丰台区| 筠连县| 黑山县| 临潭县| 宜兴市| 丘北县| 蛟河市| 连平县| 平安县| 海伦市| 松滋市| 陆川县| 乐至县| 比如县| 永福县| 岳阳市| 莱西市| 宿松县|