使用基于模型的設(shè)計(jì)測(cè)試程序開發(fā)智能設(shè)備
越來越多的智能設(shè)備正在進(jìn)入我們生活的角角落落,包括您的電腦、智能電話、最新的蘋果iPad等。而設(shè)備中的嵌入式軟件還在不停地促使您的汽車、洗衣機(jī)和電網(wǎng)向著智能化的方向發(fā)展。事實(shí)上,在我們的生活中,已經(jīng)越來越難找到不包含嵌入式軟件的大型電子設(shè)備了。
有誰(shuí)會(huì)想到,為了去一趟雜貨店,我們的汽車需要多少電子控制單元(ECU)不停地運(yùn)作?又有誰(shuí)會(huì)想到,今天的汽車所能帶給我們的舒適享受已將過去我們認(rèn)為煩惱、瑣碎的駕駛變成了一種美好的體驗(yàn)。然而,隨著基于軟件的設(shè)備變得更加普遍和復(fù)雜,嵌入式工程師越來越面臨著簡(jiǎn)化設(shè)備的設(shè)計(jì)和測(cè)試過程,實(shí)現(xiàn)設(shè)備缺陷可追溯性的巨大挑戰(zhàn)。
目前的嵌入式開發(fā)過程通常包括不同形式的設(shè)計(jì)仿真、驗(yàn)證、確認(rèn)和系統(tǒng)測(cè)試。在這些階段,設(shè)計(jì)和測(cè)試工具間很難過渡。這往往會(huì)造成需要將測(cè)試代碼、測(cè)試案例和仿真與I/O接口重新寫入到模型中。
此外,由于傳統(tǒng)設(shè)計(jì)工具也正變得越來越繁重,而模型和用例也日益復(fù)雜,我們很難將用于純仿真測(cè)試的多個(gè)模型聯(lián)結(jié)在一起。這些問題對(duì)企業(yè)在利潤(rùn)、人員需求、文檔化及產(chǎn)品上市時(shí)間等方面提出了挑戰(zhàn)。
實(shí)時(shí)測(cè)試軟件的角色
對(duì)之前開發(fā)過程中用到的設(shè)計(jì)和測(cè)試工具、模型以及仿真數(shù)據(jù)進(jìn)行復(fù)用,是目前嵌入式控制設(shè)備開發(fā)的一個(gè)趨勢(shì)。許多設(shè)計(jì)和測(cè)試工程師在整個(gè)開發(fā)過程中會(huì)積極地復(fù)用設(shè)計(jì)模型。然而,如果這些工程師在設(shè)計(jì)流程中也對(duì)測(cè)試進(jìn)行復(fù)用,那么就能進(jìn)一步實(shí)現(xiàn)更高的效率和質(zhì)量(如圖1所示)。
圖1 實(shí)時(shí)測(cè)試軟件幫助實(shí)現(xiàn)模型和測(cè)試任務(wù)在整個(gè)嵌入式設(shè)計(jì)流程中的復(fù)用
為了滿足這一需求,一種新型軟件——實(shí)時(shí)測(cè)試軟件誕生了。該軟件能夠幫助工程師在整個(gè)嵌入式設(shè)計(jì)流程中復(fù)用測(cè)試任務(wù),例如,激勵(lì)配置、測(cè)試序列、分析程序和需求跟蹤。所謂“實(shí)時(shí)”是指該軟件對(duì)嵌入式系統(tǒng)其余部分進(jìn)行建模,從而具備在真實(shí)環(huán)境中,對(duì)測(cè)試設(shè)備進(jìn)行測(cè)試固件的能力。
在設(shè)計(jì)流程的各個(gè)階段,從最初的產(chǎn)品定義一直到最終的系統(tǒng)測(cè)試,您可以通過使用相同的測(cè)試軟件組件來獲得更好的連續(xù)性。這對(duì)于診斷臨床故障而言尤為重要——由于特征采集和生產(chǎn)中的測(cè)試程序不同導(dǎo)致很難判斷故障原因的案例屢見不鮮。
例如,當(dāng)開發(fā)嵌入式控制軟件時(shí),激勵(lì)配置、分析程序以及其他模型在環(huán)(MIL)設(shè)計(jì)任務(wù)中使用到的組件將會(huì)被復(fù)用,以創(chuàng)建硬件在環(huán)(HIL)以及原型控制器的現(xiàn)場(chǎng)測(cè)試。
一旦這一階段完成,演進(jìn)的軟件測(cè)試組件將是HIL、子系統(tǒng)和系統(tǒng)集成測(cè)試系統(tǒng)開發(fā)的起點(diǎn)。
最終,在設(shè)計(jì)階段制造商所使用的生產(chǎn)測(cè)試計(jì)劃與原先設(shè)計(jì)階段的測(cè)試計(jì)劃具有相同的“DNA”。同樣地,在ASIC設(shè)計(jì)中,計(jì)算機(jī)輔助工程(CAE)工具使用的測(cè)試臺(tái)和分析儀將應(yīng)用于基于儀器的測(cè)試系統(tǒng)。最后,開發(fā)團(tuán)隊(duì)將以同樣的方式來生產(chǎn)和檢查結(jié)果。
這樣將使這些團(tuán)隊(duì)更快更高效地做出決策和調(diào)整,節(jié)省了時(shí)間成本和預(yù)算。這種方法不僅使得團(tuán)隊(duì)在應(yīng)對(duì)測(cè)試中出現(xiàn)問題時(shí)具有高度的靈活性和適應(yīng)能力,并且,當(dāng)由于中期項(xiàng)目需求變動(dòng)而產(chǎn)生更多測(cè)試用例,或在設(shè)計(jì)流程各階段中進(jìn)行故障追溯時(shí),這一方法也是很有幫助的。
然而,尤其需要注意的是,盡管實(shí)時(shí)測(cè)試軟件使得嵌入式設(shè)計(jì)和測(cè)試的效率有了顯著的提升,但在解決您的嵌入式設(shè)計(jì)和測(cè)試需求時(shí),您需要考慮到的絕對(duì)不僅于此。為了確保您開發(fā)需求的準(zhǔn)確性并保證您的設(shè)計(jì)可轉(zhuǎn)成真實(shí)的產(chǎn)品,除了聘請(qǐng)專家以外,您還應(yīng)該制定并遵循風(fēng)格指南和精細(xì)的流程。
有些公司已經(jīng)開始以全新的視角看待嵌入式開發(fā)程序,把測(cè)試組件作為開發(fā)過程中一個(gè)通用DNA。這樣的公司無疑將更具有競(jìng)爭(zhēng)力。設(shè)計(jì)完成后進(jìn)行的測(cè)試任務(wù)將會(huì)成為產(chǎn)品設(shè)計(jì)過程中不可缺少的一環(huán)。
盡管他們本身的目的不同,但隨后的測(cè)試組件將會(huì)共享一個(gè)通用的結(jié)構(gòu)。他們?cè)谀承r(shí)候會(huì)是之前步驟的克隆,在另一些情況下則是其他步驟的演變。這一關(guān)系將會(huì)擴(kuò)展目前項(xiàng)目的通用需求到測(cè)試組件和過程的實(shí)際復(fù)用。這將大大節(jié)省成本、時(shí)間和人力,同時(shí)終端用戶可以從最新的軟件設(shè)備中獲得更佳的品質(zhì)。