新聞中心

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

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

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

在現(xiàn)在這個時代,最復(fù)雜的汽車可能擁有超過100個微處理器、超過1億的編碼行數(shù)(LOC)。而且目前我們還沒看到任何跡象表明:這種不斷增長的軟件發(fā)展勢頭未來會受到遏制。令人驚訝地是,甚至許多資金短缺的公司,也在試圖用機(jī)器而不是人類來解決這項(xiàng)技術(shù)挑戰(zhàn)。其實(shí)生成很久以前就應(yīng)用于這個行業(yè)了,現(xiàn)在看來,它正處于迫切需要突破的臨界點(diǎn)。生成工具,有利于使設(shè)計原形進(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)芯片時,自動編碼將成為主流,”MathWorks公司汽車行業(yè)部經(jīng)理Wensi Jin說;“對于混合動力車相關(guān)項(xiàng)目而言,這種方式很適用,不需要和海量的修改代碼打交道?!?

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

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

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

自動編碼的好處

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

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

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

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

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

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

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

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

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

挑戰(zhàn)隨之而來

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

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

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

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

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

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

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

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

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

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

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

自動編碼帶動測試自動化

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

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

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

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

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


關(guān)鍵詞: 自動模式 自動代碼 ACG

評論


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

關(guān)閉