• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于汽車電子實(shí)時(shí)系統(tǒng)的健康監(jiān)控模塊實(shí)現(xiàn)

      2016-05-14 10:33:51李自清
      軟件工程 2016年7期
      關(guān)鍵詞:汽車電子健康管理計(jì)算機(jī)軟件

      李自清

      摘 要:隨著汽車整車安全性、經(jīng)濟(jì)性等方面的發(fā)展,本文結(jié)合汽車電子軟件平臺(tái)化的需求,建立了車控實(shí)時(shí)系統(tǒng)健康管理方法理論架構(gòu)和流程體系,實(shí)現(xiàn)了面向汽車電子實(shí)時(shí)系統(tǒng)的健康監(jiān)控管理模塊。本文中的健康監(jiān)控模塊通過(guò)AUTOSAR/OSEK系統(tǒng)服務(wù)API獲取車控實(shí)時(shí)系統(tǒng)運(yùn)行時(shí)任務(wù)、資源、事件、中斷等軟件狀態(tài)信息,通過(guò)環(huán)境和應(yīng)用系統(tǒng)狀態(tài)檢測(cè)器讀取運(yùn)行環(huán)境信息和車控應(yīng)用對(duì)象的狀態(tài)信息,利用相應(yīng)的hook函數(shù)實(shí)現(xiàn)信息的監(jiān)測(cè)、收集和發(fā)送。

      關(guān)鍵詞:計(jì)算機(jī)軟件;汽車電子;實(shí)時(shí)系統(tǒng);健康管理;軟件監(jiān)控

      中圖分類號(hào):TP311.15 文獻(xiàn)標(biāo)識(shí)碼:A

      1 引言(Introduction)

      汽車電子技術(shù)已成為當(dāng)今汽車工業(yè)創(chuàng)新的主要手段。從信息處理的角度講,未來(lái)汽車將是一個(gè)具有交通功能的移動(dòng)信息終端。汽車的絕大多數(shù)功能將通過(guò)支持這個(gè)信息終端的汽車電子技術(shù)實(shí)現(xiàn),軟件在汽車價(jià)值中的比重越來(lái)越大。過(guò)去的汽車電子軟件子系統(tǒng)相對(duì)獨(dú)立,產(chǎn)生的故障也易于在小范圍內(nèi)隔離和處理。而隨著新一代汽車電子的發(fā)展,更大規(guī)模的互聯(lián)、更復(fù)雜的軟件功能為汽車故障處理帶來(lái)了巨大的挑戰(zhàn)。軟件健康管理(Software Health Management,SHM)從硬件的PHM發(fā)展而來(lái)[1]。軟件健康管SHM是一個(gè)基于實(shí)時(shí)在線監(jiān)測(cè)的反饋循環(huán)過(guò)程。常用的軟件故障恢復(fù)策略可分為冗余策略、恢復(fù)點(diǎn)策略、構(gòu)件修復(fù)策略、系統(tǒng)重構(gòu)策略[2]。文獻(xiàn)[3]闡述了一個(gè)面向安全關(guān)鍵系統(tǒng)軟件和傳感器集成健康管理系統(tǒng),其收集硬件傳感器、軟件傳感器、操作系統(tǒng)等多種來(lái)源的信息,使用貝葉斯網(wǎng)絡(luò)進(jìn)行融合分析;文獻(xiàn)[4]認(rèn)為安全系統(tǒng)的故障從產(chǎn)生階段、系統(tǒng)邊界現(xiàn)象原因、尺度、日標(biāo)、意圖、能力和持續(xù)八個(gè)方面分為16個(gè)基礎(chǔ)分類:開(kāi)發(fā)故障、操作故障、內(nèi)部故障、外部故障、自然故障、人為故障、硬件故障、軟件故障、惡意故障、非惡意故障、故意故障、非故意故障、意外故障、不適當(dāng)故障、持久故障、瞬時(shí)故障。文獻(xiàn)[5]采用狀態(tài)監(jiān)測(cè)器和環(huán)境監(jiān)測(cè)器,分別對(duì)軟件的內(nèi)部狀態(tài)信息和外部環(huán)境信息進(jìn)行監(jiān)測(cè);本文中以面向汽車電子的實(shí)時(shí)操作系統(tǒng)內(nèi)核為基礎(chǔ),對(duì)健康管理系統(tǒng)主要分為控制流、數(shù)據(jù)流、實(shí)時(shí)性這三個(gè)方面觸,因?yàn)槿魏我环矫娴倪`背都會(huì)造成系統(tǒng)的故障,因此目前主要從這三個(gè)方面并結(jié)合全局錯(cuò)誤處理機(jī)制進(jìn)行健康監(jiān)控管理的設(shè)計(jì)和實(shí)現(xiàn)。首先,本文對(duì)健康監(jiān)控管理系統(tǒng)進(jìn)行總體設(shè)計(jì)和描述;其次,本文對(duì)控制流、數(shù)據(jù)流、實(shí)時(shí)性和全局錯(cuò)誤處理機(jī)制的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行闡述;最后,對(duì)本文中所提到的健康管理系統(tǒng)進(jìn)行總結(jié)。

      2 健康管理系統(tǒng)總體架構(gòu)(General framework of

      health management system)

      健康管理是一個(gè)系統(tǒng)性的過(guò)程,是提高實(shí)時(shí)系統(tǒng)可靠性和安全性的重要保障,它通過(guò)在故障診斷基礎(chǔ)上結(jié)合更多的信息進(jìn)行故障預(yù)測(cè)、預(yù)防和恢復(fù),提高系統(tǒng)可靠性并降低運(yùn)行維護(hù)成本[6]。在汽車電子軟件領(lǐng)域已經(jīng)得到廣泛關(guān)注和應(yīng)用的AUTOSAR標(biāo)準(zhǔn)[7]需求規(guī)范文檔4.0版本中已明確指出了健康管理的重要性,本文擬結(jié)合汽車電子軟件標(biāo)準(zhǔn)體系A(chǔ)UTOSAR/OSEK[8]等規(guī)范,研究面向汽車電子的實(shí)時(shí)系統(tǒng)健康管理;文獻(xiàn)[9]的健康監(jiān)控通過(guò)對(duì)三個(gè)健康監(jiān)控表的管理來(lái)實(shí)現(xiàn):系統(tǒng)健康監(jiān)控表,模塊健康監(jiān)控表和分區(qū)健康監(jiān)控表。

      本文針對(duì)汽車電子系統(tǒng)的領(lǐng)域需求,參照AUTOSAR/OSEK規(guī)范,提出了一種面向汽車電子實(shí)時(shí)操作系統(tǒng)的健康監(jiān)控管理方法[10]。其架構(gòu)的健康管理系統(tǒng)的總體設(shè)計(jì)思路如圖1所示。

      該健康管理系統(tǒng)基于汽車電子領(lǐng)域主流處理器平臺(tái),面向汽車電子的實(shí)時(shí)操作系統(tǒng)內(nèi)核進(jìn)行擴(kuò)展,主要包括健康監(jiān)控、故障處理、自主容錯(cuò)等部分。本文重點(diǎn)對(duì)健康監(jiān)控模塊進(jìn)行了設(shè)計(jì)實(shí)現(xiàn),通過(guò)對(duì)實(shí)時(shí)系統(tǒng)的數(shù)據(jù)流、控制流、實(shí)時(shí)性的監(jiān)控,并結(jié)合全局錯(cuò)誤處理機(jī)制實(shí)現(xiàn)有效管理,實(shí)時(shí)監(jiān)管汽車電子軟件系統(tǒng)的健康狀態(tài),降低系統(tǒng)運(yùn)行的錯(cuò)誤風(fēng)險(xiǎn)。

      3 健康監(jiān)控管理設(shè)計(jì)思路(Design of health

      monitoring management)

      面向汽車電子的實(shí)時(shí)操作系統(tǒng)的健康管理模塊主要從控制流、數(shù)據(jù)流、實(shí)時(shí)性,以及全局錯(cuò)誤處理模塊進(jìn)行闡述,健康管理模塊的功能邏輯設(shè)計(jì)如圖2所示。

      3.1 數(shù)據(jù)流監(jiān)控

      對(duì)于一個(gè)函數(shù)來(lái)說(shuō),傳入?yún)?shù)的正確與否直接影響著該函數(shù)的執(zhí)行結(jié)果,因此在函數(shù)執(zhí)行前對(duì)傳入?yún)?shù)的檢測(cè)是必不可少的。由于每個(gè)函數(shù)需要檢測(cè)的內(nèi)容不同,同時(shí)每個(gè)函數(shù)的參數(shù)各異,本文通過(guò)分析,確定將函數(shù)檢測(cè)部分放在函數(shù)執(zhí)行代碼之前,由用戶來(lái)進(jìn)行檢測(cè)。通過(guò)提供一種全局的錯(cuò)誤處理機(jī)制,用戶檢測(cè)到錯(cuò)誤后,向ErrorManager報(bào)告錯(cuò)誤類型,由ErrorManager進(jìn)行統(tǒng)一處理。

      函數(shù)參數(shù)的檢測(cè)目前沒(méi)有和函數(shù)的執(zhí)行分離開(kāi)來(lái),主要是考慮到參數(shù)的作用域問(wèn)題。除了參數(shù)檢測(cè)之外,通過(guò)提供對(duì)全局關(guān)鍵數(shù)據(jù)的實(shí)時(shí)檢測(cè),提供統(tǒng)一的函數(shù)入口,具體檢測(cè)代碼由用戶來(lái)實(shí)現(xiàn)。這個(gè)功能的好處就是用戶可以在任何時(shí)間任何地方檢測(cè)全局關(guān)鍵數(shù)據(jù),不需要記住相關(guān)函數(shù),只需要向全局關(guān)鍵數(shù)據(jù)檢測(cè)函數(shù)中傳入變量即可。

      在全局錯(cuò)誤處理機(jī)制和全局關(guān)鍵數(shù)據(jù)的檢測(cè)外,同時(shí)提供關(guān)鍵數(shù)據(jù)的存取服務(wù)。可以實(shí)現(xiàn)在程序運(yùn)行的過(guò)程中動(dòng)態(tài)的保存某一個(gè)變量的值,隨時(shí)訪問(wèn)保存的數(shù)據(jù)。保存時(shí)用戶需要按照固定的結(jié)構(gòu)體進(jìn)行封轉(zhuǎn)(包括:函數(shù)名、變量名、變量類型、變量值),讀取時(shí)只需提供變量名和函數(shù)名(之所以要求同時(shí)提供變量名和函數(shù)名是為了防止變量名的重復(fù))。數(shù)據(jù)流監(jiān)控相關(guān)API描述如表1所示。

      3.2 控制流監(jiān)控

      從實(shí)時(shí)操作系統(tǒng)運(yùn)行的角度來(lái)觀察,任何任務(wù)的實(shí)質(zhì)就是若干函數(shù)的順序執(zhí)行。保證函數(shù)按順序執(zhí)行是完成任務(wù)的首要工作,因此控制流健康監(jiān)控的主要作用就是防止不合理任務(wù)調(diào)度,保證任務(wù)按序執(zhí)行。

      本文將任務(wù)(包括多干函數(shù))中函數(shù)的執(zhí)行看作是一個(gè)控制流,在運(yùn)行之前將每一個(gè)任務(wù)中的函數(shù)注冊(cè)到一個(gè)控制流(ControlFlow)中,該功能也可以通過(guò)配置工具來(lái)實(shí)現(xiàn)(因?yàn)槿蝿?wù)中函數(shù)的執(zhí)行順序是事前確定的)。在一個(gè)函數(shù)執(zhí)行之前,調(diào)用Hook函數(shù)檢測(cè)該函數(shù)的前驅(qū)是否已執(zhí)行,若已執(zhí)行就執(zhí)行該函數(shù),否則報(bào)錯(cuò);執(zhí)行完該函數(shù)之后調(diào)用Hook函數(shù)將其標(biāo)記為已執(zhí)行??刂屏鞅O(jiān)控相關(guān)API描述如表2所示。

      3.3 實(shí)時(shí)性監(jiān)控

      從實(shí)時(shí)操作系統(tǒng)的高安全性角度考慮,僅僅執(zhí)行順序正確以及得到正確的運(yùn)算結(jié)果還不夠,仍需保證每一個(gè)任務(wù)必須在規(guī)定的時(shí)間內(nèi)(deadline之前)得到執(zhí)行完畢,這樣才能保證整個(gè)系統(tǒng)的安全性。對(duì)于實(shí)時(shí)性的監(jiān)控,可利用該實(shí)時(shí)操作系統(tǒng)實(shí)現(xiàn)的時(shí)間保護(hù)機(jī)制完成。

      在操作系統(tǒng)配置工具中,針對(duì)每一個(gè)Task對(duì)應(yīng)生成一個(gè)Alarm,alarm名稱跟任務(wù)名一一對(duì)應(yīng)。同時(shí)配置好Alarm的回調(diào)函數(shù)(callback),該回調(diào)函數(shù)的參數(shù)中設(shè)置了TaskID,以及對(duì)應(yīng)的錯(cuò)誤等級(jí),發(fā)生錯(cuò)誤時(shí)由回調(diào)函數(shù)將發(fā)生錯(cuò)誤的TaskID,以及錯(cuò)誤等級(jí)報(bào)告給錯(cuò)誤管理器

      3.4 全局錯(cuò)誤管理機(jī)制

      前面分別對(duì)控制流監(jiān)控、數(shù)據(jù)流監(jiān)控和實(shí)時(shí)性監(jiān)控三方面做了闡述,本小節(jié)將具體闡述全局錯(cuò)誤管理機(jī)制。錯(cuò)誤類型分為系統(tǒng)級(jí)錯(cuò)誤和用戶級(jí)(控制流、數(shù)據(jù)流、實(shí)時(shí)性)錯(cuò)誤,錯(cuò)誤碼為四位十進(jìn)制正整數(shù)組成:第一位是錯(cuò)誤類型,后面三位為具體的錯(cuò)誤代碼。比如1002代表第一類錯(cuò)誤2號(hào)錯(cuò)誤。目前規(guī)定1代表系統(tǒng)級(jí)錯(cuò)誤、2代表控制流錯(cuò)誤、3代表數(shù)據(jù)流錯(cuò)誤、4代表實(shí)時(shí)性錯(cuò)誤。在啟動(dòng)健康監(jiān)控之前,需要定義好各種錯(cuò)誤的解決方案,當(dāng)在系統(tǒng)運(yùn)行過(guò)程中錯(cuò)誤管理中心接收到錯(cuò)誤報(bào)告時(shí),根據(jù)相應(yīng)的錯(cuò)誤類型調(diào)用不同的解決方案。

      全局錯(cuò)誤管理的好處在于將以前分散的錯(cuò)誤處理集中起來(lái),提高錯(cuò)誤處理的效率,同時(shí)便于管理。全局錯(cuò)誤管理機(jī)制的示例API如表4所示。例如當(dāng)需要更新某種錯(cuò)誤類型的解決方案時(shí),只需要更新全局錯(cuò)誤管理中對(duì)應(yīng)錯(cuò)誤的解決方案。

      and management function)

      健康監(jiān)控管理模塊的功能實(shí)現(xiàn)依據(jù)上述的健康監(jiān)控管理模塊的設(shè)計(jì)思路。在實(shí)現(xiàn)中采用了C語(yǔ)言實(shí)現(xiàn),在本文利用偽代碼描述了數(shù)據(jù)流監(jiān)控、控制流監(jiān)控、實(shí)時(shí)性監(jiān)控、全局錯(cuò)誤管理機(jī)制的實(shí)現(xiàn)框架。

      4.1 數(shù)據(jù)流監(jiān)控

      以全局關(guān)鍵數(shù)據(jù)為例,在數(shù)據(jù)流監(jiān)控實(shí)現(xiàn)中,為需要監(jiān)控的全局變量進(jìn)性統(tǒng)一編號(hào)。本文中的全局關(guān)鍵數(shù)據(jù)編號(hào)是在操作系統(tǒng)配置時(shí),將需要檢測(cè)的全局變量全部定義成宏。在需125要檢測(cè)指定的全局關(guān)鍵數(shù)據(jù)時(shí),需要將關(guān)鍵數(shù)據(jù)的ID作為參數(shù)傳入函數(shù)CheckGlobalVar,該函數(shù)根據(jù)不同的ID對(duì)關(guān)鍵數(shù)據(jù)監(jiān)測(cè)或調(diào)用回調(diào)函數(shù)進(jìn)行檢測(cè)和檢測(cè)結(jié)果反饋。CheckGlobalVar函數(shù)的實(shí)現(xiàn)如下所示:

      4.2 控制流監(jiān)控

      控制流的監(jiān)控主要監(jiān)控函數(shù)的執(zhí)行順序,為此需要為每一個(gè)函數(shù)執(zhí)行節(jié)點(diǎn)分配如表5所示結(jié)構(gòu),記錄整個(gè)函數(shù)的執(zhí)行序列。在執(zhí)當(dāng)前結(jié)點(diǎn)時(shí),首先檢測(cè)整個(gè)執(zhí)行流中該函數(shù)的前驅(qū)節(jié)點(diǎn)(第一個(gè)函數(shù)節(jié)點(diǎn)除外)是否已經(jīng)成功執(zhí)行,若成功執(zhí)行繼續(xù)執(zhí)行后續(xù)節(jié)點(diǎn),否則向系統(tǒng)發(fā)出執(zhí)行流紊亂警告,整個(gè)執(zhí)行流成功運(yùn)行完成后,需要對(duì)執(zhí)行流中的函數(shù)節(jié)點(diǎn)進(jìn)行釋放和復(fù)位。

      4.3 實(shí)時(shí)性監(jiān)控

      實(shí)時(shí)性監(jiān)控主要針對(duì)任務(wù)或者函數(shù)的執(zhí)行時(shí)間的監(jiān)控,該功能的實(shí)現(xiàn)需要借助實(shí)時(shí)系統(tǒng)的Alarm機(jī)制,因?qū)崟r(shí)系統(tǒng)的Alarm機(jī)制是建立在硬件定時(shí)器之上,保證了硬實(shí)時(shí)的要求。為了監(jiān)督任務(wù)或函數(shù)的執(zhí)行時(shí)間,需在任務(wù)或函數(shù)的執(zhí)行開(kāi)始和結(jié)束位置分別調(diào)用相應(yīng)的Hook函數(shù),如下所示,最終通過(guò)計(jì)算前后時(shí)間的差值,檢測(cè)任務(wù)或函數(shù)的執(zhí)行是否在指定時(shí)間范圍內(nèi)正常結(jié)束。

      4.4 全局錯(cuò)誤管理機(jī)制

      全局錯(cuò)誤管理機(jī)制將將數(shù)據(jù)流錯(cuò)誤、控制流錯(cuò)誤、超時(shí)錯(cuò)誤、系統(tǒng)錯(cuò)誤進(jìn)行分類,針對(duì)不同的錯(cuò)誤類型和錯(cuò)誤代碼采用不同的錯(cuò)誤處理策略,能夠盡早發(fā)現(xiàn)、并提交錯(cuò)誤報(bào)告給實(shí)時(shí)系統(tǒng),降低后續(xù)因臟數(shù)據(jù)、執(zhí)行流紊亂等錯(cuò)誤帶來(lái)系統(tǒng)運(yùn)行風(fēng)險(xiǎn)的進(jìn)一步放大。以下以偽代碼方式描述了全局錯(cuò)誤管理機(jī)制的策略選擇過(guò)程。針對(duì)具體的錯(cuò)誤的應(yīng)對(duì)策略可以根據(jù)需求進(jìn)行完善。

      本文提出了一種面向汽車電子實(shí)時(shí)系統(tǒng)健康管理理論架構(gòu)和流程體系,闡述了基于數(shù)據(jù)流、控制流、實(shí)時(shí)性和全局錯(cuò)誤處理的健康監(jiān)控管理模塊功能方案,實(shí)現(xiàn)了對(duì)汽車電子實(shí)控系統(tǒng)的健康監(jiān)管,在一定程度上降低了實(shí)時(shí)系統(tǒng)的錯(cuò)誤運(yùn)行風(fēng)險(xiǎn)。后續(xù)的健康管理相關(guān)算法和應(yīng)用研究,如基于人工智能的故障預(yù)測(cè)推理、基于服務(wù)的汽車CPS應(yīng)用等,都可以在此基礎(chǔ)上進(jìn)行有效的開(kāi)展。

      參考文獻(xiàn)(References)

      [1] FaezeEshragh,Mehdi Kargahi.Analytical architecture-based performability evaluation of real-time software systems[J].Journal of Systems and Software,2013,86(1):233-246.

      [2] 李寧波,等.嵌入式RTOS健康監(jiān)控技術(shù)研究[J].計(jì)算機(jī)工程,2009,35(3):260-262.

      [3] 陳光,等.服務(wù)軟件系統(tǒng)的健康管理綜述[J].計(jì)算機(jī)科學(xué)與探索,2013,7(7):577-591.

      [4] J Schumann,OJ Mengshoel,T Mbaya.Integrated Software and Sensor Health Management for Small Spacecraft[C].Fourth IEEE International Conference on Space Mission Challenges for Information Technology(SMC-IT 2011),2011:77-84.

      [5] A Avizienis,et al.Basic Concepts and Taxonomy of Dependable and Secure Computing[J].IEEE Transactions on Dependable and Secure Computing,2004,1(1):23.

      [6] Kai Wang,et al.A Prognostics and Health Management Based Method for Refurbishment Decision Making for Electromechanical Systems[J].IFAC-Papers OnLine,2015,48(3):454-459.

      [7] J Park,G Yoo,E Lee.A Reconfiguration Framework for Self-Healing Software[C].International Conference on Convergence and Hybrid Information Technology,2008:83-91.

      [8] AUTOSAR.AutomotiveopenSystemARchitecture[DB/OL].http://www.autosar.org,2014.

      [9] OSEK/VDX.OSEK/VDX Operating System Specification

      Version 2.2.2[S].http://www.osek-vdx.org,2014.

      [10] Michael Short,Michael J.Pont.Assessment of high- integrity embedded automotive control systems using hardware in the loop simulation[J].Journal of Systems and Software,2008,81(7):1163-1183.

      猜你喜歡
      汽車電子健康管理計(jì)算機(jī)軟件
      基于C語(yǔ)言的計(jì)算機(jī)軟件編程
      電子制作(2018年16期)2018-09-26 03:27:08
      淺談不同編程語(yǔ)言對(duì)計(jì)算機(jī)軟件開(kāi)發(fā)的影響
      電子制作(2018年1期)2018-04-04 01:48:36
      汽車電子專業(yè)現(xiàn)代學(xué)徒制的課程體系建設(shè)
      汽車電子技術(shù)中傳感器的應(yīng)用探討
      淺談基于C語(yǔ)言的計(jì)算機(jī)軟件程序設(shè)計(jì)
      電子制作(2017年24期)2017-02-02 07:14:40
      汽車電子ECU測(cè)試系統(tǒng)的研究與實(shí)現(xiàn)
      加速度傳感器在汽車電子上的應(yīng)用
      家庭醫(yī)生制度下高脂血癥患者社區(qū)健康管理探討
      基于物聯(lián)網(wǎng)的健康管理服務(wù)模式
      體質(zhì)辨識(shí)在社區(qū)糖尿病“治未病”健康管理中的應(yīng)用價(jià)值
      黄梅县| 秭归县| 中牟县| 于田县| 寿阳县| 鹿泉市| 南丰县| 永川市| 荔浦县| 瑞丽市| 晋城| 台安县| 凤台县| 罗山县| 阿拉善盟| 吉林市| 池州市| 瑞金市| 宜丰县| 松滋市| 石门县| 阳新县| 来安县| 吉木乃县| 贡觉县| 蕉岭县| 东兰县| 峡江县| 大姚县| 军事| 惠水县| 永安市| 永济市| 德江县| 龙岩市| 文化| 长寿区| 扶风县| 龙游县| 富川| 洪雅县|