新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 軟件向自動(dòng)模式轉(zhuǎn)化

軟件向自動(dòng)模式轉(zhuǎn)化

作者: 時(shí)間:2014-01-04 來源:網(wǎng)絡(luò) 收藏
汽車制造商們一直致力于將工業(yè)自動(dòng)化不斷推向新的高度?,F(xiàn)在,他們在設(shè)計(jì)進(jìn)程自動(dòng)化領(lǐng)域更花功夫。隨著軟件復(fù)雜性的增強(qiáng),他們將致力于在不犧牲穩(wěn)定性的前提下,將研發(fā)重心向生成()和縮短量產(chǎn)時(shí)間轉(zhuǎn)移。

在現(xiàn)在這個(gè)時(shí)代,最復(fù)雜的汽車可能擁有超過100個(gè)微處理器、超過1億的編碼行數(shù)(LOC)。而且目前我們還沒看到任何跡象表明:這種不斷增長的軟件發(fā)展勢頭未來會受到遏制。令人驚訝地是,甚至許多資金短缺的公司,也在試圖用機(jī)器而不是人類來解決這項(xiàng)技術(shù)挑戰(zhàn)。其實(shí)生成很久以前就應(yīng)用于這個(gè)行業(yè)了,現(xiàn)在看來,它正處于迫切需要突破的臨界點(diǎn)。生成工具,有利于使設(shè)計(jì)原形進(jìn)入量產(chǎn)。它們創(chuàng)造了易于維護(hù)的編碼,也有助于工程師創(chuàng)建復(fù)合系統(tǒng),快速進(jìn)入市場。

“當(dāng)人們將注意力轉(zhuǎn)向較大型項(xiàng)目、更復(fù)雜的運(yùn)算法則以及32位浮點(diǎn)芯片時(shí),自動(dòng)編碼將成為主流,”MathWorks公司汽車行業(yè)部經(jīng)理Wensi Jin說;“對于混合動(dòng)力車相關(guān)項(xiàng)目而言,這種方式很適用,不需要和海量的修改代碼打交道?!?

新興技術(shù)領(lǐng)域?qū)ψ詣?dòng)代碼生成特別感興趣—絕大多數(shù)的設(shè)計(jì)團(tuán)隊(duì)都采用編碼發(fā)生器,進(jìn)行免修改編程,比如為主動(dòng)安全和電動(dòng)轉(zhuǎn)向系統(tǒng)設(shè)計(jì)編碼?,F(xiàn)在,汽車制造商們在高級人機(jī)界面上應(yīng)用此技術(shù)的機(jī)會也越來越多。

“隨著越來越多的汽車采用圖形顯示和人機(jī)界面,汽車工業(yè)將采用更多工具手段,集中在圖形用戶界面設(shè)計(jì)、在實(shí)際設(shè)備上生成代碼,”微軟汽車組項(xiàng)目經(jīng)理Walter Sullivan說。

newmaker.com
Vector CANtech公司工程師用自動(dòng)編碼開發(fā)網(wǎng)絡(luò)軟件

自動(dòng)編碼的好處

軟件技術(shù)日益成為促進(jìn)汽車制造商差異化的關(guān)鍵—他們可以用軟件添加特色和功能。對于動(dòng)力傳動(dòng)系統(tǒng)而言,編程也很關(guān)鍵。適當(dāng)?shù)木幊棠軌蛱岣咝阅軈?shù)、燃料經(jīng)濟(jì)性,降低排放。自動(dòng)代碼生成的最大好處就是:機(jī)器編碼比人類快得多?!帮@著降低開發(fā)時(shí)間,”天合汽車公司電動(dòng)轉(zhuǎn)向系統(tǒng)高級軟件開發(fā)工程師Jon Chalmers說:“雖然開始時(shí)比較費(fèi)時(shí)間,但是到項(xiàng)目收尾時(shí),成效明顯?!?

眾多觀察家認(rèn)為:手動(dòng)編程已經(jīng)不再能夠滿足行業(yè)需求。多年前,匯編語言就開始給C語言讓位了。C語言將編程提高到一個(gè)更抽象的高度,讓開發(fā)者能夠在同一時(shí)間生成更多軟件,錯(cuò)誤更小。“基于模型的開發(fā)將超越C語言邁出一大步,”dSpace公司北美產(chǎn)品經(jīng)理DirkFleischer說?!案橄缶鸵馕吨粡?fù)雜,”自動(dòng)代碼生成工具,在最大程度上消除了一些普通編程錯(cuò)誤,比如上溢。

newmaker.com
天合汽車公司的工程師們發(fā)現(xiàn)使用自動(dòng)編碼很方便,比如應(yīng)用
在電動(dòng)轉(zhuǎn)向器上。

采用模型和編碼器,還有助于提高穩(wěn)定性。因?yàn)檐浖軌蛟谟布δ芡晟魄矮@得嚴(yán)格審核及修改?!霸陔娮釉O(shè)備硬件完備之前,設(shè)計(jì)師可以將自動(dòng)編碼軟件放在dSpace盒子中,進(jìn)行硬件在環(huán)測試,”Chalmer說:“還可以盡早調(diào)整運(yùn)算法則—這樣當(dāng)我們把盒子裝到汽車上時(shí),對其性能更有信心?!?

業(yè)內(nèi)對此技術(shù)的信心越來越強(qiáng),已經(jīng)將其進(jìn)一步擴(kuò)展到提高編碼效率的應(yīng)用上了。曾經(jīng)有負(fù)面觀點(diǎn)稱:編碼器會使軟件無法承受、力不從心,占用更大內(nèi)存和處理功能,超出汽車制造商的預(yù)期。

但是現(xiàn)在情況有所改變?!半S著自動(dòng)代碼生成工具日益完善,將逐漸接近手動(dòng)編碼實(shí)現(xiàn)的效果,”Vector CANtech公司內(nèi)嵌軟件高級項(xiàng)目工程師Ralf Fritz說。

許多程序員稱:機(jī)器生成代碼的效率僅比優(yōu)秀的手動(dòng)編碼高幾個(gè)百分點(diǎn)。對于許多在其新項(xiàng)目上用自動(dòng)代碼生成技術(shù)的公司而言,這個(gè)結(jié)果還算令人滿意。

自動(dòng)代碼生成不會產(chǎn)生額外工作。但是像許多新技術(shù)一樣,開始時(shí)比傳統(tǒng)項(xiàng)目需要花費(fèi)的時(shí)間長,也需要一定的培訓(xùn)或較高的實(shí)踐經(jīng)驗(yàn)。

“設(shè)定一項(xiàng)自動(dòng)編碼項(xiàng)目是比較復(fù)雜的,”天合汽車公司產(chǎn)品總工程師Richard Blachford說;“先確定一個(gè)項(xiàng)目,然后用工具以你想要的確定方式生成代碼。在此過程中,還需要一兩個(gè)對自動(dòng)編碼工具沒有抵觸情緒的軟件專家?!?

挑戰(zhàn)隨之而來

隨著自動(dòng)編碼在新領(lǐng)域得到更大應(yīng)用、在大多數(shù)系統(tǒng)設(shè)計(jì)里應(yīng)用更廣泛,免修改代碼也出現(xiàn)了—畢竟,沒人喜歡改來改去。將機(jī)器生成和手工編寫結(jié)合,對于那些在這個(gè)要求高可靠性工業(yè)工作的人而言,是一大挑戰(zhàn)。

只要在這個(gè)領(lǐng)域工作,就需要提高效率、盡快修改不合適的編碼。工具供應(yīng)商承認(rèn):在此領(lǐng)域還有很多工作需要去做,“今天我們所面對的重要障礙,就是在免修改環(huán)境下的自動(dòng)代碼生成工具集成,”Etas公司產(chǎn)品市場經(jīng)理VivekJaikamal說。

還有一些挑戰(zhàn)比較簡單,只要求盡可能減少耗費(fèi)時(shí)間。但是在復(fù)雜領(lǐng)域(比如動(dòng)力傳動(dòng)和安全領(lǐng)域),數(shù)據(jù)價(jià)值變動(dòng)頻繁,程序員必須想法子找到解決之道。

“必須搞清楚如何實(shí)現(xiàn)這樣的功能,這相對較簡單,”MathWorks公司內(nèi)嵌應(yīng)用經(jīng)理Tom Erkkinen說:“如果擁有大量的、還未清楚傳送出去的全球數(shù)據(jù),很難洞悉未來走向?!?

在設(shè)計(jì)進(jìn)程中,設(shè)計(jì)師們還必須面對一個(gè)挑戰(zhàn),即:需要程序員修改軟件。通常,程序員能夠找到容易修改的方式。但是絕大多數(shù)觀察家認(rèn)為:很少有人回應(yīng)這種需求,通過手動(dòng)編碼修改軟件。

“如果要消費(fèi)者自己修改,有時(shí)他們會覺得手動(dòng)的速度更快,”Vector CANtech公司內(nèi)嵌軟件產(chǎn)品線經(jīng)理Robert Miller說:“但是當(dāng)你在整個(gè)生命周期內(nèi)做修改,就需要重新生成代碼。如果采用手動(dòng)生成的話,這些變革通常不會實(shí)現(xiàn)。

當(dāng)編碼隨著供應(yīng)鏈移動(dòng)時(shí),這點(diǎn)特別重要。如果賣方手動(dòng)修改編碼,當(dāng)OEM商通過同一種編碼器查閱編碼時(shí),會改變其中記錄的信息,賣方對編碼的改動(dòng)可能丟失。

如果用人工進(jìn)行此類改動(dòng),原模型將不再呈現(xiàn)量產(chǎn)時(shí)的代碼信息。那么在后續(xù)項(xiàng)目中,軟件工程師就得不斷更新手動(dòng)修改過的軟件,還要決定是否使用原始模塊或修改過的原代碼。

“如果選擇質(zhì)量已經(jīng)過檢驗(yàn)的修改過的原代碼,功能模塊的價(jià)值將逐步消退,”Etas公司的市場副總裁Jeff Kessen說:“代碼生成后的修改,可能不會傳遞到新項(xiàng)目上?!?

修改自動(dòng)生成代碼,會擾亂進(jìn)程持續(xù)性,為重新使用帶來障礙?,F(xiàn)在,越來越多公司在整個(gè)開發(fā)周期均采用自動(dòng)編碼軟件。“但是還有很多公司不信任自動(dòng)編碼,所以他們用它作原型模塊,用手動(dòng)編碼量產(chǎn),”美國國家儀器公司硬件在環(huán)(HIL)和動(dòng)態(tài)測試產(chǎn)品經(jīng)理Chris Washington說:“隨著工具公司日益優(yōu)化代碼生成方式,這種情況將越來越少。”

newmaker.com
美國國家儀器公司專家認(rèn)為:編碼器使汽車系統(tǒng)測試更簡單

自動(dòng)編碼帶動(dòng)測試自動(dòng)化

絕大多數(shù)自動(dòng)代碼生成()的擁躉者,都致力于降低開發(fā)時(shí)間、增加軟件的再利用率。但是對于許多人來說,自動(dòng)代碼生成的一大關(guān)鍵好處,就是可以使開發(fā)者更容易地測試,確保耐用性。在建模過程中,自動(dòng)代碼生成使工程師更容易持續(xù)驗(yàn)證其理念和完成情況。

“所采用的實(shí)施方案越高級,就越能持續(xù)驗(yàn)證,”Chris Washington說:“這是獲得最大好處的關(guān)鍵?!弊詣?dòng)代碼生成的好處,會在設(shè)計(jì)和測試過程中一直保持下去。設(shè)計(jì)團(tuán)隊(duì)希望節(jié)省時(shí)間,對創(chuàng)造成果再加工。能夠采用已經(jīng)考驗(yàn)證明成效的測試,對于手動(dòng)設(shè)計(jì)團(tuán)隊(duì)非常重要。

“用自動(dòng)編碼來證明效用,是非常容易的,”MathWorks的WensiJin說:“還能再次利用自己的測試案例,大大提高生產(chǎn)率?!?

自動(dòng)代碼生成能夠滿足的各種需求中,驗(yàn)證軟件可靠性是非常重要的一項(xiàng)。消費(fèi)者希望其壽命能夠遠(yuǎn)超其他消費(fèi)類產(chǎn)品。在這個(gè)汽車開始決定乘客生死的時(shí)代,性能可靠有效的軟件,意義非常重要?!皩τ诎踩愊到y(tǒng),我們更關(guān)注驗(yàn)證進(jìn)程,而機(jī)器生成的代碼非常好用,”MathWork公司內(nèi)嵌應(yīng)用經(jīng)理Tom Erkkinen說。

自動(dòng)代碼生成還有一個(gè)好處,就是使工程師團(tuán)隊(duì)的工作更輕松,即使沒有在技術(shù)層面產(chǎn)生重大影響。它還能提供許多程序記錄,為開發(fā)商提供進(jìn)程報(bào)告?!白詣?dòng)記錄能夠減少檢查的麻煩,”VectorCANtech公司Steve Traicoff說。


評論


技術(shù)專區(qū)

關(guān)閉