車珂珉
沈陽鐵路機械學校信息技術部,遼寧 沈陽 110036
算法密集型系統的測試過程是昂貴耗時的。研究顯示,嵌入式系統中所出現的大部分問題在系統的總體規劃階段就已形成,但卻要等到開發階段才可能被發現。這些問題是項目延期和成本提高的主要原因。對于算法密集型系統,包括帶有通信、音頻、視頻、圖象處理和導航功能的系統,隨著系統復雜性的提高,系統開發的延期和成本會不斷擴大。
我們首先對目前算法驗證過程的低效易錯的原因做扼要分析。在傳統的設計工作流程中,總體算法設計師提出設計規范及要求,然后將規范說明書遞交給硬件和軟件研發團隊。而每個團隊分別研發各自的測試方法,來驗證自己的產品在功能上的正確性。這些測試方法通常都是依據工程師們自己對規劃書的理解而專門和臨時搭建的,由于工程師們通常缺乏正確理解規范書所需要的實用知識和工具,因此他們在實現規劃書的過程中就可能出現問題。另一種情況是總體算法設計師也許缺乏經驗和工具,他們不能保證完全清楚實際應用中的所有要求和可能遇到的問題。在開發過程的晚期,他們經常會發現他們的總體算法在實際環境中并不理想。同時,每個團隊也是采用各自的工具和工作流程來研制數字、RF/模擬等硬件和軟件的,這進一步限制了系統性能在這些交叉領域中測試效果,不同團隊所研制的產品之間經常出現難以預料的相互影響。因此,系統測試只能等到整個設計流程的末期,即在系統整合的時候進行,而這個時候要對設計做出修改是十分困難和昂貴的。由于大多數錯誤是在系統規劃階段造成的,傳統的硬件、軟件和ESL工具不能解決這些問題,因為它們已假定系統規劃書已經充分和準確掌握設計要求。
為了縮短設計周期、減少設計成本、避免上述情況的發生,實現系統早期測試和快捷測試是十分必要的。系統測試問題必須把整個流程的各環節聯系起來,在整個設計過程的開始階段加以解決。為達到這個目的,在此我們就幾種有效途徑作出分析。
基于模型的設計為系統早期測試提供了較好的方法。這種方法為系統的算法設計、模擬、定型和分析提供了一整套工具。利用這些工具,可以把算法和測試整合到系統模型中。系統模型成為系統規劃書的基礎,所有團隊以這樣的規劃書作為設計參考和檢測基準。這種方法針對所有團隊提出了共享的、清晰的設計要求。采用基于模型的設計方法對系統和各部件性能進行早期驗證具有如下優點:
1)通過模擬,可以盡早發現在設計和部件整合中出現的問題,并容易糾正;
2)為了確保規劃書滿足設計要求,檢測和設計可以協同研發;
3)在各部件研制過程中,不斷以模型做基準,消除了人為的檢測誤差并減少了理解錯誤;
4)設計者可以迅速評估利弊、部件之間的相互影響和系統性能指標。
早期驗證的方法目的在于及早解決導致產品延期的關鍵原因,可使工程師在系統規劃階段發現和糾正錯誤。有關研究表明,這可以系統的開發時間和成本節省一半,并提高了設計質量。
測試工作的自動化對于系統研發周期和成本降低也十分重要。采用基于模型的設計方法同樣為此提供了快捷的途徑。實現測試工作自動化,對于算法設計師而言,不只是意味著工作量的減輕,更多的是設計思想的進步。他們能夠利用他們已經使用的工具和各個研發團隊配合工作,對現有的測試工作實現自動化。由于算法設計師在檢測自己的工作時,已經開發了測試平臺,這樣便可以借助算法和系統?;ぞ咧械淖詣踊涌谥貜屠眠@個平臺,在此基礎上,?;ぞ呃脧V泛使用的硬件模擬器和嵌入式軟件工具來完成協同仿真。這樣的協同仿真可以代替手工和基于腳本的比對技巧,使其實現自動化。測試平臺的重復使用極大減少檢測工作量,同時也允許各團隊更有效利用現有工具和設計流程。
傳統設計過程中存在的另一個問題是軟件、數字和模擬硬件等研制團隊采用各自不同的工具和流程,這種情況就會限制跨專業的設計和驗證,問題只有在系統整合階段才暴露出來。為解決這種情況,就必須在設計流程的最初階段完成驗證工作?;谀P偷脑O計方法通過虛擬整合、在同一環境下對系統各個部分進行仿真,有效地解決了上述情況。這種跨專業建模的方法可以使設計者在設計早期對設計質量、部件之間的相互影響和系統指標作出評估。
跨專業建模和仿真可以把離散型的數字部件建模和連續型的模擬部件的建模結合到一起,也可以把時序和邏輯控制、有限狀態設備、事件驅動模擬和定點模擬結合起來。設計者可以從抽象的模型入手,捕捉系統運行狀況并驗證設計要求。隨著工作的進行,設計者可以不斷改進模型以求達到時序和位真的精確。通過在虛擬整合中采用跨專業建模的方法,工程師可以觀察到部件如何影響整體系統的性能,不必成為每個專業的專家。他們可以更快捷發現能夠滿足或超越設計要求的方法,提早處理那些通常要在系統整合期才發現的問題。
綜上所述,在現代系統設計中,構建完善的系統模型,實現早期、快捷、跨專業的系統檢測驗證是縮短設計周期、節省成本、提高設計質量的重要手段,這在實踐中得到了充分的證明。
[1]魏洪興.嵌入式系統設計師教程[M].北京:清華大學出版社,2006,8.
[2]佚名.嵌入式系統設計與實例開發.北京:清華大學,2009-9-25.