目前,嵌入式自動生成技術面臨著諸多挑戰。
在嵌入式軟件設計技術方面,主要表現在以下幾個方面:
(1)嵌入式系統越來越多采用SoC,帶來深度嵌入設計,平臺化需要軟/硬件同步設計。
(2)構件化需要研究適應嵌入式計算特征的構件表達和組合,解決異構嵌入式構件的可組合性分析以及構件組合與驗證等系統構造問題。
(3)網絡化使嵌入式系統呈現開發特性,多模式通信,多任務協同等使得傳統的并發計算模型難以刻畫網絡化嵌入式系統的行為。需要研究一種集成化計算模型。解決多計算模型的統一化語義以及多模型的互操作。
(4)嵌入式系統規模越來越大,系統狀態與任務行為呈現較強的動態性和演化性,靜態任務調度策略已不適應,系統行為難以預測,帶來新的可調度性分析問題。
在嵌入式系統設計技術方面,主要表現在以下幾方面:
(1)智能化進一步加劇系統狀態的動態自主演化,增加了系統的正確性和完備性等驗證難度。
(2)關鍵應用的實時性、可靠性、保險性等多維可信特性成為系統非功能特性設計的重點,嵌入式系統同樣存在行為可信問題,功能的正確性與完備性+時間約束、能源消耗、容錯能力等非功能需求,提出了適應非功能性的新型設計模型與驗證方法。例如,如何有效地驗證嵌入式實時軟件設計是否滿足給定的時間規約。
(3)嵌入式應用的普適化環境,對嵌入系統開發支援提出新的需求,如需要豐富的嵌入式接口仿真能力。
作為解決當前軟件危機的一個途徑,基于構件的開發在傳統的軟件行業開始了大量的研究和應用,采用構件開發的主要好處如下:
(1)只有少量的軟件部件需要從頭開發,可縮短整個軟件產品的開發時間,同時降低開發成本。
(2)通過重用已有的經過檢驗的軟件部件,提高了整個軟件產品的質量。
(3)可以減少需要維護的軟件部件(主要是新開發的軟件部件),降低軟件維護成本。