圖8:器件驅動模塊庫。 |
模型覆蓋用來評估一個測試件的累積結果,以確定哪些功能模塊未被執(zhí)行,或者哪些狀態(tài)未被到達。源代碼語言(如C和C++)中建立了某些類型的覆蓋,但現在模型也可以進行覆蓋了。這項工作要求C語言所不需要(或不可能有)的新理論和新工具,因為這些語言沒有功能模塊或狀態(tài)這樣的構造。
修改條件/決策覆蓋(MC/DC)被FAA(美國聯邦航空管理局)認為是滿足安全關鍵系統(tǒng)所必需的最嚴格的覆蓋水平,F在,這種覆蓋在一種基于模型的設計框架和許多需要線控設計的場合中已經得到了實現。
5. 分布式結構設計
現代嵌入式系統(tǒng)包含一些分布式ECU,它們相互間通過一個象FlexRay這樣的容錯通信系統(tǒng)進行實時通信。寶馬(BMW)最新的DSC(動態(tài)穩(wěn)定性控制) 包含ABS作為其15個子功能之一。通過從DECOMSYS向單個子系統(tǒng)增加主機、任務和信號等網絡部件,嵌入式功能可以連接和映射到一個ECU結構之上。此外,它方便了OSEKtime/OS等時間觸發(fā)操作系統(tǒng)的任務激活時間行為的仿真。集群、主機、任務和連接是在MATLAB/Simulink環(huán)境下進行設計和仿真的。最后,整個設計與DECOMSYS::DESIGNER產品實現了無縫集成,可以與FlexRay xCDEF設計數據倉庫進行互動。
Vector 公司和Cadence公司提供的分布式網絡設計解決方案(分別為DaVinci和SysDesign)集成了Simulink/Stateflow的 Real-Time Workshop/Real-Time Workshop Embedded Coder,由子系統(tǒng)產生代碼,并將它們映射到結構上進行驗證。
產品代碼生成
模型經過驗證并且生效之后,就該產生代碼了。使用編譯器時,這個過程是簡單的。這里存在著各種不同的優(yōu)化設置和用戶配置選項。關鍵之處在于保持代碼的高效、精確并與原有的代碼或其他工具進行集成。另一個要點是保持代碼相對框圖的可追蹤性,以便進行檢查和驗證。
1. 代碼追蹤和檢查
圖7顯示了一個自動鏈接的HTML報告。當開發(fā)人員選擇代碼中的求和模塊時,它將把該模塊在框圖中進行高亮顯示。
2. 嵌入式目標集成
圖6*中的應用使用了速率轉換模塊。不過,它與商用RTOS之間也存在著直接的聯系,包括VxWorks 和各種OSEK產品。如圖7*所示,還需要集成設備驅動程序。
3. 硬件在環(huán)測試
控制器建立起來之后,就可以在環(huán)路中使用實時設備模型來執(zhí)行一系列開環(huán)和閉環(huán)測試了。有一種測試僅涉及處理器,稱作“處理器在環(huán)”測試。另一種測試使用實際建立的ECU硬件,叫做“硬件在環(huán)”測試。在這兩種測試中,都使用設備模型來對物理控制器進行測試。通過這一系列測試(或許與需求驗證中所用的是同種測試),控制器必須看來對于消費者是可以接受的。
4. 集成組件
在開發(fā)過程中,大部分軟件標準都要求需求追蹤能力,這或許源于其他需求工具。此外,還需要軟件配置管理(SCM)來對開發(fā)過程中的各種工件(artifact)進行存儲、版本維護和查找。由報告生成工具產生的文檔將確保管理者、消費者和供應商能夠看到模型。SCM的接口如圖8*所示。
本文小結
當整個軟件工程化過程行為得到支持時,將會推動軟件的進步。但是,僅僅進行局部的、支離破碎的改進是不足夠。本文介紹了基于模型的設計和產品代碼生成的一個完整的軟件工程化框架,并且還給出了具體的方法和工具,意在表明它并非僅僅是一種理論,而是既實用又有效。
參考文獻
[1]www.mathworks.com
[2] www.ieee.org
[3] B. Aldrich, "Using model coverage analysis to improve the controls development process," AIAA 2002
[4] "Software considerations in airborne systems and equipment certification," RTCA/DO-178B, RTCA Inc., Dec. 1992
[5] Dr. Michael von der Beeck, ARTIST Industrial Seminar, Paris, 23.4.2002 http://www.artistembedded.org/PastEvents/Kickoffs/BMW.pdf
[6] www.decomsys.com
[
7] Paul Yih, Jihan Ryu, J. Christian Gerdes, Modification of Vehicle Handling Characteristics via Steer-by-Wire, Dept. of Mechanical Engineering, Stanford University





