嵌入式系統(tǒng)開(kāi)發(fā)工具發(fā)展(11)
中航一集團(tuán)軟件可靠性管理與測(cè)評(píng)中心主任 劉斌教授
嵌入式系統(tǒng)的廣泛應(yīng)用引發(fā)了對(duì)嵌入式軟件質(zhì)量的深入討論。目前,軟件測(cè)試仍然是保證質(zhì)量與可靠性的最有力手段。
測(cè)試越來(lái)越重要
2002年的歐洲阿麗亞娜5火箭的第一次鑒定發(fā)射失敗是由于軟件故障引起。美國(guó)F16 由于軟件問(wèn)題導(dǎo)致首航時(shí)間耽誤了一年。今年2月,12架美國(guó)F-22戰(zhàn)斗機(jī)在飛向日本沖繩時(shí),由于過(guò)了國(guó)際日期變更線,導(dǎo)航系統(tǒng)出現(xiàn)紊亂,不得不返回到夏威夷空軍基地。回來(lái)發(fā)現(xiàn)是軟件缺陷導(dǎo)致。國(guó)外某軍艦運(yùn)行了850個(gè)小時(shí),故障120多次,軟件故障占70%;致命故障12次,其中軟件原因占70%。
因此,隨著軟件在系統(tǒng)中的比例加大,軟件缺陷不是孤立問(wèn)題,是故障引起的主要來(lái)源。因?yàn)檐浖谡麄€(gè)系統(tǒng)中承擔(dān)的任務(wù)越來(lái)越多,同時(shí)軟件是人腦智慧的思維產(chǎn)物,容易出現(xiàn)缺陷。詳細(xì)地說(shuō),軟件缺陷產(chǎn)生的原因,從軟件需求分析看,對(duì)軟件認(rèn)識(shí)不充分占整個(gè)軟件的20%;設(shè)計(jì)缺陷占30%;編碼類缺陷占35%;其他來(lái)自軟件文檔。
但是與GESTE同類的、專用于武器裝備軟件測(cè)試的國(guó)外技術(shù)對(duì)中國(guó)是封鎖的。CATC(中航一集團(tuán)計(jì)算機(jī)軟件可靠性管理與測(cè)評(píng)中心)1996年成立,當(dāng)時(shí)是95國(guó)家重點(diǎn)課題,2001年研制成果工程化,2003年該中心的GESTE研制成功,目前推出的GESTE2.0面向多個(gè)國(guó)家重點(diǎn)型號(hào),并且向民用發(fā)展。
軟件開(kāi)發(fā)的門(mén)道
寫(xiě)了25萬(wàn)行代碼,除了Web編碼外都是自己寫(xiě)的。CATC的優(yōu)勢(shì)是依托學(xué)校,每年由碩士、博士在相關(guān)領(lǐng)域研究。主要采用三級(jí)研發(fā)體制,老師做基礎(chǔ)預(yù)研,然后是本中心進(jìn)行工程化、商品化。學(xué)生做的東西好,但質(zhì)量難以保證。工程化后使可靠性大大提高。這個(gè)過(guò)程花了6年時(shí)間。
在主持開(kāi)發(fā)測(cè)試軟件的過(guò)程中,有兩點(diǎn)時(shí)刻提醒著我。IBM的工程師布魯克斯所寫(xiě)的《人月神化》,堪稱軟件工程的經(jīng)典圖書(shū)。在《人月神話》中,作者認(rèn)為一個(gè)產(chǎn)品變成商品至少要花9倍的工作量,第二個(gè)時(shí)刻提醒我,設(shè)計(jì)師都希望把所有的好東西積壓在新產(chǎn)品里面,但也可能導(dǎo)致大量的質(zhì)量問(wèn)題,因此要注重把只有工程化的東西放進(jìn)去,如果想法好但沒(méi)有經(jīng)過(guò)三級(jí)認(rèn)證,堅(jiān)決不放進(jìn)去。工程化這個(gè)步驟一定不能省。
集成軟件工程師經(jīng)常失敗,是因?yàn)檐浖こ滩皇呛?jiǎn)單的多少人月就可以做出來(lái)。
提倡在人們重視硬件的同時(shí),軟件絕不能偏廢。很多人對(duì)軟件有誤解,認(rèn)為軟件什么人都能編,大學(xué)畢業(yè)生就可以了。但是我相信人的思想是最難把握,思想改變?nèi)说拿\(yùn)。就像共產(chǎn)主義信仰改變?nèi)艘粯樱皇腔疖?chē)、飛機(jī)改變我們。做一個(gè)軟件不難,但是穩(wěn)定、安全、可靠,并有大量的支持很難。
GESTE2.0
由于嵌入式軟件具有軟硬件結(jié)合密切、實(shí)時(shí)性較強(qiáng)以及接口復(fù)雜等特點(diǎn),針對(duì)嵌入式系統(tǒng)的軟件測(cè)試更側(cè)重于利用仿真原理進(jìn)行的系統(tǒng)測(cè)試。GESTE(通用嵌入式軟件仿真測(cè)試環(huán)境)產(chǎn)品基于半實(shí)物仿真測(cè)試原理,提供了對(duì)嵌入式軟件進(jìn)行系統(tǒng)測(cè)試的全套解決方案,并具有良好的通用性、實(shí)時(shí)性、可擴(kuò)展性以及易用性。
GESTE2.0在如下領(lǐng)域?qū)崿F(xiàn)了更大突破:仿真測(cè)試環(huán)境的構(gòu)建與測(cè)試環(huán)境集成;測(cè)試的執(zhí)行效率進(jìn)一步提高;加強(qiáng)了測(cè)試過(guò)程的管理;改進(jìn)數(shù)據(jù)收集融合算法;進(jìn)一步提高可擴(kuò)展性。
GESTE的面市打破了國(guó)外對(duì)我國(guó)在相關(guān)領(lǐng)域的技術(shù)壟斷和封鎖,填補(bǔ)了我國(guó)實(shí)時(shí)嵌入式軟件缺乏通用仿真測(cè)試環(huán)境的空白,對(duì)于相關(guān)領(lǐng)域之快速定制需求亦具有革新意義。目前,除去航空、航天、船舶、兵器和電子等相關(guān)領(lǐng)域的成功實(shí)踐,CATC亦在積極拓展尋求與更廣泛領(lǐng)域軟件企業(yè)的合作,2008年北京奧林匹克運(yùn)動(dòng)會(huì)即是新近成功涉足之成功案例之一,未來(lái),還將面向汽車(chē)、通信、民航業(yè),以及所有有大型嵌入式軟件應(yīng)用的地方。
評(píng)論