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