淺談嵌入式軟件系統(tǒng)設(shè)計(jì)中的正交性
2.2 正交嵌入式系統(tǒng)的好處
本文引用地址:http://www.ex-cimer.com/article/87715.htm正交思想幾乎觸及到自然科學(xué)的各個(gè)領(lǐng)域,利用該思想來(lái)進(jìn)行嵌入式軟件系統(tǒng)設(shè)計(jì)同樣存在諸多優(yōu)點(diǎn)。
圖5 FaultSPI任務(wù)調(diào)用方式
(1) 方便單元測(cè)試
在整個(gè)軟件開發(fā)周期中,軟件的測(cè)試工作占據(jù)著相當(dāng)重要的比例,甚至?xí)^(guò)整個(gè)周期的50%。倘若等到所有代碼都編寫完成之后才開始測(cè)試工作,那么,軟件系統(tǒng)不同層面以及各個(gè)任務(wù)模塊中的眾多Bug,常常會(huì)使程序員無(wú)法理清思路,從而不能判斷問(wèn)題的根源。所以在進(jìn)行系統(tǒng)集成測(cè)試之前,應(yīng)該將各個(gè)模塊的Bug減少到最低,這也就需要在編寫各個(gè)模塊時(shí),進(jìn)行有效的單元測(cè)試。而保證單元測(cè)試順利有效進(jìn)行的前提是,該模塊有很高的獨(dú)立性,這也正是正交性解決的問(wèn)題。圖6所示為嵌入式軟件系統(tǒng)的測(cè)試流程。
圖6 嵌入式軟件系統(tǒng)測(cè)試流程
(2) 更易于維護(hù)
常常有軟件系統(tǒng)維護(hù)的人員發(fā)現(xiàn)了系統(tǒng)存在的問(wèn)題,卻不敢輕易改動(dòng),特別是系統(tǒng)底層部分。原因很簡(jiǎn)單:系統(tǒng)一直運(yùn)行良好,沒有出錯(cuò),而且由于沒有完整的文檔說(shuō)明,擔(dān)心改動(dòng)之后會(huì)出現(xiàn)新的問(wèn)題。這種憂慮折射出的是:程序員對(duì)眼前軟件系統(tǒng)是否具備較好正交性的疑慮。所以一個(gè)具有較好正交性的嵌入式軟件系統(tǒng),能夠讓軟件維護(hù)人員更快、更順利地接手,提高維護(hù)效率的同時(shí)保證很高的正確性。
(3) 便于移植
硬件的更新速度相當(dāng)之快,要降低產(chǎn)品升級(jí)成本、加快升級(jí)速度,必須讓軟件系統(tǒng)具備很好的可移植性,特別是嵌入式軟件系統(tǒng)中與硬件沒有直接關(guān)聯(lián)的應(yīng)用層部分。一個(gè)正交嵌入式系統(tǒng)正好從垂直方向保證了系統(tǒng)各層之間的獨(dú)立性,很好地將應(yīng)用層與物理層分離開來(lái)。
(4) 便于協(xié)同開發(fā)
DSP與ARM較傳統(tǒng)MCU的優(yōu)勢(shì)之一,是使用了流水線技術(shù),使指令能并行執(zhí)行。對(duì)于軟件,同樣希望能并行協(xié)同開發(fā)。正交嵌入式系統(tǒng)各個(gè)模塊相互獨(dú)立,只要定義好各模塊的接口,軟件開發(fā)人員并不需要等待其他模塊完成就能開展工作。圖7所示為正交嵌入式軟件系統(tǒng)的開發(fā)模式。
正交的嵌入式軟件系統(tǒng),能夠非常方便地將系統(tǒng)分為互不干擾的獨(dú)立模塊。每個(gè)軟件開發(fā)人員或開發(fā)團(tuán)隊(duì)負(fù)責(zé)不同的模塊,并行地開展工作。開發(fā)人員在開發(fā)過(guò)程中能夠互相溝通(如圖7中虛線箭頭所示),甚至可以隨時(shí)協(xié)助同伴攻克難題。
圖7 正交軟件系統(tǒng)開發(fā)模式
3 小結(jié)
在眾多研究領(lǐng)域,人們很早就開始借助正交性思想來(lái)幫助解決種種問(wèn)題。從歐氏空間線性變換到經(jīng)典力學(xué)中物體受力分析,從傅里葉變換到信號(hào)處理,從小波分析到地震勘探、量子場(chǎng)論、信號(hào)處理(包括圖像和語(yǔ)音)、機(jī)械故障診斷以及JPEG2000標(biāo)準(zhǔn)的制定。這些都是借助正交性思想,將對(duì)象分成多個(gè)相對(duì)獨(dú)立的部分,進(jìn)而對(duì)各部分單獨(dú)進(jìn)行研究,從而化繁為簡(jiǎn)。在嵌入式軟件設(shè)計(jì)中,也存在類似的思想,正交的嵌入式軟件系統(tǒng)能夠降低系統(tǒng)各模塊間的依賴性,從而使系統(tǒng)更易于維護(hù)、方便測(cè)試,也更加容易實(shí)現(xiàn)系統(tǒng)的移植。從軟件開發(fā)過(guò)程的角度來(lái)看,正交性思想還能夠幫助研發(fā)團(tuán)隊(duì)并行作業(yè)、協(xié)同開發(fā),減少了等待時(shí)間,大大提高開發(fā)效率,因此該思想值得軟件設(shè)計(jì)人員探討和利用。
李興鶴(碩士),主要研究領(lǐng)域?yàn)榍度胧较到y(tǒng)、RFID技術(shù)、變頻技術(shù)、電梯控制系統(tǒng);
古俊銀(博士、高級(jí)工程師),主要研究領(lǐng)域?yàn)樽冾l驅(qū)動(dòng)技術(shù)、新能源技術(shù)、嵌入式系統(tǒng);
宋吉波(工程師),主要研究領(lǐng)域?yàn)樽冾l驅(qū)動(dòng)技術(shù)、嵌入式系統(tǒng)、電梯控制系統(tǒng);
馬艷玲(碩士、軟件工程師)、
吳蕓(軟件工程師),主要研究領(lǐng)域?yàn)榍度胧较到y(tǒng),變頻技術(shù)。
評(píng)論