發(fā)布日期:2022-07-14 點擊率:40
近來,有報道稱包括Denso、Motorola和Toyota在內(nèi)的不同行業(yè)的多家公司都在產(chǎn)品代碼方面取得了成功。這項技術正日益成為軟件下一波演進發(fā)展中的一個重要組成部分。雖然總體而言,它對軟件工程化過程的影響已為業(yè)界所了解,但卻并沒有十分清楚地確立起來。對于早前類似演進發(fā)展(包括從機器代碼發(fā)展到匯編代碼,再發(fā)展到源代碼)的參與者而言,這一點尤為明顯。
圖1:查看一個軟件過程的普通方法是借助于V形圖。
隨著抽象與自動化程度的日益提高,新的過程、方法和工具接踵而來。瀑布式過程已讓位于螺旋式方法和迭代方法。實時方法已經(jīng)出現(xiàn)并正在取代靜態(tài)流程設計。新的工具也出現(xiàn)了,如包含有調(diào)試器、優(yōu)化編譯器和自動測試工具的IDE(集成開發(fā)環(huán)境)。
不過,由于難以使用、缺乏了解或是工具支持不足的原因,并非每一種好的思想都 能開花結(jié)果。有跡象表明,這些方法和工具對于主流產(chǎn)品應用并非總是實用。例如,用驗證來確保軟件正確性的正規(guī)方法是使用一種全世界只有極少數(shù)專家才真正懂得的語言編寫的。此外,1980年代的實時用例工具可以輔助設計,但并未提供一條產(chǎn)生最終代碼的簡便途徑。
圖2:用控制系統(tǒng)方框圖來表示反饋控制。
在早期應用階段,產(chǎn)品代碼生成的效果相當不錯,這主要是由于其實用性。不過,其進一步的發(fā)展還需要依靠集成過程、方法和工具的支持。一種新的過程只有在具備了所需支持方法和工具的條件下才會成功。如果這些條件有所欠缺,那么對一個公司成熟的嵌入式系統(tǒng)進行重新設計的努力就不會是可行和實用的。
本文給出了主要面向產(chǎn)品代碼生成的這樣一個框架:
* 基于模型的設計
* 建模、仿真、快速原型、產(chǎn)品代碼生成、模型測試和覆蓋、在環(huán)測試
* 開發(fā)工具、驗證與生效(V&V)工具、集成工具
模型的設計過程
圖3:創(chuàng)建一個系統(tǒng)模型來表示所需的行為特性。
通過提供一個共同的圖形規(guī)范和分析環(huán)境,基于模型的設計可以支持控制/DSP系統(tǒng)工程師和軟件開發(fā)人員的需要。在這個過程中,模型被創(chuàng)建并用來規(guī)定系統(tǒng)數(shù)據(jù)、接口、反饋控制邏輯、離散/狀態(tài)邏輯和實時行為。
基于模型的設計被應用在幾乎每個需要嵌入式控制系統(tǒng)的行業(yè)之中。而在大型汽車電子控制單元(ECU)等嵌入式應用的開發(fā)過程中,其應用更為廣泛。DSP和通信應用也采用這種方法,但它們更強調(diào)建模和原型,而不是產(chǎn)品代碼生成。