車載信息系統(tǒng)的快速發(fā)展與可重用設(shè)計(jì)
同樣,制造商需要預(yù)先對(duì)下載進(jìn)行管理(例如根據(jù)車輛識(shí)別號(hào)分類),這樣用戶即可只下載適用于所用車型且車載系統(tǒng)支持的應(yīng)用和升級(jí)程序。最后,制造商還應(yīng)保證為互連汽車的車載系統(tǒng)持續(xù)提供的更改不會(huì)對(duì)現(xiàn)有應(yīng)用程序和功能造成任何影響。例如,在越野旅行時(shí),車主在下載了新導(dǎo)航應(yīng)用程序后不幸地發(fā)現(xiàn)其與媒體播放器不兼容。一點(diǎn)不足就會(huì)令車主對(duì)整個(gè)車輛生產(chǎn)線產(chǎn)生強(qiáng)烈的不良反饋。
面對(duì)這些挑戰(zhàn),解決方案的首要內(nèi)容就是同一個(gè)解決方案應(yīng)滿足HMI在快速發(fā)展、品牌重新定位和自定義方面的各種需求:這就需要一種能夠?qū)MI從其他基礎(chǔ)功能中獨(dú)立出來的系統(tǒng)架構(gòu)。解決方案的另一方面就是將可用資源獨(dú)立開來,以便新應(yīng)用程序能夠順利運(yùn)行,同時(shí)保證為系統(tǒng)中的重要進(jìn)程提供足夠的資源。
互聯(lián)汽車技術(shù)的架構(gòu)
為了測試這種方法的可行性,我們制作了可以將AdobeFlashHMI從基礎(chǔ)應(yīng)用程序匯總中獨(dú)立出來的架構(gòu),并設(shè)計(jì)了一系列小型的ActiONScript擴(kuò)展程序,以將HMI與基礎(chǔ)程序銜接起來。我們還為我們的PPS服務(wù)、QNXAviage多媒體技術(shù)套件以及QDB(QNX數(shù)據(jù)庫服務(wù)器)各創(chuàng)建了一個(gè)擴(kuò)展程序。
PPS是在松散耦合信息架構(gòu)中針對(duì)發(fā)布者和訂閱者提供的一種基于對(duì)象的服務(wù)。1根據(jù)實(shí)現(xiàn)服務(wù)的需要,任何PPS服務(wù)客戶端都可以是一個(gè)獨(dú)立的發(fā)布者、訂閱者,也可以同時(shí)是發(fā)布者和訂閱者。發(fā)布者和訂閱者只需能夠在PPS文件系統(tǒng)路徑名下的空間內(nèi)讀取和寫入對(duì)象及其屬性。當(dāng)然,訂閱者必須知道其感興趣的對(duì)象和屬性,而發(fā)布者則必須了解訂閱者可能感興趣的對(duì)象和屬性,但是,無論是發(fā)布者還是訂閱者都需要更多的了解系統(tǒng)的其他部分。寫入到永久存儲(chǔ)器的對(duì)象在重啟后仍可保留。
我們推出PPS服務(wù)是為了處理Adobe Flash應(yīng)用程序和所有數(shù)據(jù)源發(fā)布者組件之間的信息交換;這些組件包括Webkit(瀏覽器)、藍(lán)牙、GPS、音頻音量控制等。PPS信息處理模型提供的最主要優(yōu)勢在于組件之間的API更為一致且處于松散耦合網(wǎng)絡(luò)中。
而且PPS能讓我們?cè)诓唤佑|基礎(chǔ)應(yīng)用程序的情況下重新設(shè)計(jì)HMI.它允許我們?yōu)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/車載信息系統(tǒng)">車載信息系統(tǒng)添加新的組件(例如,車輛遠(yuǎn)程信息處理系統(tǒng)或ITS識(shí)別系統(tǒng)),而無需在其他信息范例方面浪費(fèi)開發(fā)時(shí)間。對(duì)于所有這些,我們需要知道的就是他們需要發(fā)布什么,以及他們需要從PPS中了解到哪些情況。此外,該架構(gòu)還能確保無需為了迎合新版本而對(duì)其他組件進(jìn)行不必要的更新。
圖3:自適應(yīng)分區(qū)擁有一系列規(guī)則用于保護(hù)特定的線程和線程組
我們選擇的技術(shù)可以在管理車載系統(tǒng)新程序產(chǎn)生的影響方面提供兩大技術(shù)優(yōu)勢(除了標(biāo)準(zhǔn)流程和內(nèi)存保護(hù))。首先,基于Adobe Flash的HMI使我們能夠在二級(jí)Flash播放器(其虛擬機(jī)作為"沙盒"使用)中運(yùn)行不受信任的程序。其次,QNX Neutrino RTOS提供有自適應(yīng)資源分區(qū)功能,這是一項(xiàng)獨(dú)特的動(dòng)態(tài)技術(shù),可以提供未使用的CPU時(shí)間來處理相應(yīng)的需求,同時(shí)保證關(guān)鍵流程對(duì)資源的需求。
為確保新引入的應(yīng)用程序不會(huì)為我們的系統(tǒng)帶來任何問題,我們選擇了采用二級(jí)Adobe Flash播放器。該播放器專門用于播放不受信任的應(yīng)用程序(也就是說,對(duì)于我們無法確定其安全性的應(yīng)用程序),可以獨(dú)立運(yùn)行該應(yīng)用程序,而不會(huì)對(duì)其他應(yīng)用程序或整個(gè)系統(tǒng)的可靠性和性能造成任何負(fù)面影響。
與所有的Flash播放器一樣,該二級(jí)播放器會(huì)在其獨(dú)立的虛擬機(jī)環(huán)境中運(yùn)行,這是因?yàn)槿绱瞬拍芘c系統(tǒng)中的其他應(yīng)用程序分離開來。二級(jí)播放器虛擬機(jī)環(huán)境中的程序不會(huì)擠占系統(tǒng)中主播放器或其他組件的資源需求。這一簡單實(shí)用的技術(shù)使我們能夠在虛擬環(huán)境中嘗試運(yùn)行任何Flash程序,而無需擔(dān)心導(dǎo)致系統(tǒng)崩潰。事實(shí)上,任何開發(fā)工程師都能夠編寫所需的應(yīng)用程序,并毫無危險(xiǎn)的在二級(jí)播放器中運(yùn)行它們。
分區(qū)
資源分區(qū)是操作系統(tǒng)中最常采用的做法,旨在保護(hù)不同應(yīng)用程序或應(yīng)用程序組不受彼此影響。它們就像是虛擬的墻壁一樣,可以避免一個(gè)應(yīng)用程序中斷另一個(gè)應(yīng)用程序,或擠占其資源。受分區(qū)保護(hù)的主要資源就是CPU時(shí)間,但是分區(qū)還可以用來保護(hù)其他共享資源,例如內(nèi)存或文件空間(磁盤或閃存)。
實(shí)時(shí)操作系統(tǒng)(RTOS)采用了自適應(yīng)分區(qū)技術(shù)。與傳統(tǒng)的固定式分區(qū)模型相比,自適應(yīng)分區(qū)更為靈活。它可以保證特定進(jìn)程的時(shí)間,就像傳統(tǒng)的分區(qū)方式一樣。但是,與傳統(tǒng)分區(qū)方法不同的是,這種技術(shù)更為靈活,自適應(yīng)分區(qū)可以根據(jù)運(yùn)行時(shí)間條件自動(dòng)調(diào)整分區(qū)。
本文小結(jié)
如今車載系統(tǒng)必須與跟得上消費(fèi)設(shè)備發(fā)展的快速步伐。使用Adobe Flash Lite用戶界面的系統(tǒng)通過PPS信息處理與基礎(chǔ)組件的通信,來構(gòu)建車載系統(tǒng)的經(jīng)驗(yàn)是最為高效的解決方案。它可以提供品牌化、本地化和自定義的用戶界面,而不會(huì)對(duì)基礎(chǔ)組件造成任何影響,同時(shí)還可以便捷地增加新應(yīng)用程序和組件(在開發(fā)過程中和后續(xù)使用中)。
評(píng)論