• 
    

    
    

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

      基于ODX數(shù)據(jù)庫(kù)的核心-值繼承-PARENT-REF研究綜述

      2018-11-01 01:17:12
      汽車(chē)電器 2018年10期
      關(guān)鍵詞:子類(lèi)面向?qū)ο?/a>數(shù)據(jù)結(jié)構(gòu)

      李 澳

      (吉利汽車(chē)研究院電子電器開(kāi)發(fā)中心電子電氣架構(gòu)室,浙江 寧波 315336)

      1 ODX數(shù)據(jù)庫(kù)

      隨著汽車(chē)電子電器技術(shù)高速發(fā)展,汽車(chē)的控制和網(wǎng)絡(luò)變得越來(lái)越復(fù)雜,同時(shí)對(duì)于汽車(chē)的診斷要求也越來(lái)越高。診斷數(shù)據(jù)的定義越來(lái)越多,但是在當(dāng)前診斷數(shù)據(jù)傳輸?shù)倪^(guò)程中大部分汽車(chē)主機(jī)廠還是使用傳統(tǒng)的word、excel、pdf等文件格式進(jìn)行數(shù)據(jù)的交換,這樣的傳輸導(dǎo)致傳輸過(guò)程中的數(shù)據(jù)改變、數(shù)據(jù)理解的差異甚至數(shù)據(jù)的丟失時(shí)有發(fā)生,這就需要在控制器供應(yīng)商再到主機(jī)廠最終到診斷設(shè)備的開(kāi)發(fā)中有一套完整定義的數(shù)據(jù)格式文件,這就使得ODX數(shù)據(jù)庫(kù)的誕生。

      ODX數(shù)據(jù)庫(kù)是以UML進(jìn)行模型創(chuàng)建,以XML的Schema語(yǔ)言進(jìn)行描述。規(guī)范整個(gè)診斷運(yùn)用的數(shù)據(jù)字段、數(shù)據(jù)的格式以及數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系,標(biāo)準(zhǔn)化的數(shù)據(jù)格式定義使得數(shù)據(jù)的傳輸更加安全和高效。除了上述的特點(diǎn)外,ODX還有一個(gè)重大的改善對(duì)于診斷數(shù)據(jù)的管理,就是充分利用已有數(shù)據(jù)避免重復(fù)開(kāi)發(fā),冗余數(shù)據(jù),這就引出了ODX的另一個(gè)核心值繼承。

      2 ODX的值繼承

      軟件開(kāi)發(fā)方法的發(fā)展過(guò)程中出現(xiàn)的一次重要變革C++語(yǔ)言的出現(xiàn),將面向過(guò)程的開(kāi)發(fā)轉(zhuǎn)變成了面向?qū)ο蟮姆绞?,這一次的變革使得軟件開(kāi)發(fā)的方法實(shí)現(xiàn)了跨越式的發(fā)展。面向?qū)ο蟮乃枷氤闪塑浖_(kāi)發(fā)的重要思想,包含了三大特性:封裝性、多態(tài)性、繼承性。如圖1所示。

      ODX的UML建立數(shù)據(jù)模型采用了面向?qū)ο蟮乃枷?。ODX數(shù)據(jù)結(jié)構(gòu)將面向?qū)ο蟮姆椒ê驮\斷數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建進(jìn)行了高度整合。

      圖2展示了ODX-D層的繼承關(guān)系,從一般性到特殊性的繼承關(guān)系。

      從圖2繼承關(guān)系中,PROTOCOL具有一般性,ECU VARIANT具有特殊性。在CAN網(wǎng)絡(luò)UDS車(chē)型診斷數(shù)據(jù)開(kāi)發(fā)中,UDS定義的基礎(chǔ)服務(wù)在PROTOCOL為CAN中進(jìn)行了描述,這些服務(wù)適用于PROTOCOL層級(jí),具備高度的通用性;ECU VARIANT是根據(jù)某一個(gè)具體的控制器進(jìn)行診斷數(shù)據(jù)的定義,除了滿足基本的CAN PROTOCOL定義的服務(wù)以外,還需要定義具體的診斷數(shù)據(jù),因此將一般性數(shù)據(jù)定義在高層級(jí),特殊性低層級(jí)通過(guò)繼承高層級(jí)的屬性同時(shí)獲取高層級(jí)的屬性,高層級(jí)的屬性能夠覆蓋更多特殊性低層級(jí)的屬性需求,避免數(shù)據(jù)重復(fù)開(kāi)發(fā)和便捷維護(hù)。

      圖1 面向?qū)ο蟮娜筇匦?/p>

      圖2 診斷層繼承關(guān)系

      3 ODX的值繼承PARENT-REF實(shí)現(xiàn)方式

      ODX的值繼承方式只存在于診斷層,值繼承通過(guò)以下的方式實(shí)現(xiàn)。

      符合值繼承診斷層對(duì)象的范圍:DIAG-COMM (its specializations);DIAG-VARIABLE;GLOBAL-NEG-RESPONSE;DOP-BASE (its specializations);TABLE;FUNCT-CLASS;VARIABLE-GROUP;ADDITIONAL-AUDIENCE;STATECHART;UNIT-GROUP。

      3.1 診斷層PARENT-REF繼承關(guān)系模型及方法

      值繼承體現(xiàn)在診斷層,診斷層具有面向?qū)ο蟮睦^承關(guān)系,如圖2所示。特殊層級(jí)具有繼承特性,下面介紹如何通過(guò)PARENT-REF進(jìn)行定義繼承關(guān)系。ECUVariant繼承父類(lèi)BASEVariant的定義通過(guò)PARENT-REF引用進(jìn)行值繼承,體現(xiàn)在ODX的XML的Schema定義。如圖3所示。

      圖3 ECU-Variant schema

      3.1.1 診斷層繼承關(guān)系模型分析

      圖4為整個(gè)診斷層級(jí)的繼承模型,通過(guò)PARENT-REF說(shuō)明繼承關(guān)系。

      圖4 診斷層級(jí)繼承關(guān)系

      在一對(duì)診斷層對(duì)象之間,可能存在PREANT-REF值繼承關(guān)系或IMPORT-REF導(dǎo)入關(guān)系,禁止對(duì)同一對(duì)診斷層對(duì)象存在兩種關(guān)系。IMPORT-REF導(dǎo)入關(guān)系不在此篇中論述。通過(guò)UML模型展示了診斷層級(jí)的繼承關(guān)系,各個(gè)繼承關(guān)系的實(shí)現(xiàn)方式和約束規(guī)則。表1規(guī)定了診斷層的繼承規(guī)則。

      下面通過(guò)具體的XML Schema可以體現(xiàn)各層繼承和PARENT-REF的關(guān)系。如圖5~圖8所示。

      表1 值繼承關(guān)系

      圖5 PROTOCOL-REF與 PARENT-REF

      圖6 ECU-SHARE-DATA-REF與PARENT-REF

      圖7 FUNCTIONAL-GROUNP-REF與PARENT-REF

      圖8 BASE-VARIANT-REF與 PARENT-REF

      PARENT-REF引導(dǎo)的值繼承數(shù)據(jù)結(jié)構(gòu),下面兩種形式展示了Schema的結(jié)構(gòu)特性,通過(guò)PARENT-REF對(duì)父類(lèi)層進(jìn)行可繼承對(duì)象的值繼承。

      3.1.2 診斷層繼承PARENT-REF的結(jié)構(gòu)

      1) PARENT-REF Schema結(jié)構(gòu)分解 (圖9)。

      圖9 PARENT-REF Schema結(jié)構(gòu)分解

      2) PARENT-REF Text形式 (圖10)。

      圖10 PARENT-REF Text形式

      3) PARENT-REF XML Text結(jié)構(gòu)。

      上述兩種形式體現(xiàn)PARENT-REF通過(guò)引用“ODXLINKATTR”來(lái)實(shí)現(xiàn)繼承,“ODXLINK-ATTR”是ODX中極為重要的引用 ODXLINK概念的屬性,對(duì)于ODXLINK將在后續(xù)進(jìn)行專(zhuān)題的分析。在Schema結(jié)構(gòu)中體現(xiàn)了ODXLINKH和ODXLINK-ATTR的關(guān)系,如圖11所示。

      圖11 ODXLINKH和ODXLINK-ATTR的關(guān)系

      3.1.3 值繼承PARENT-REF實(shí)現(xiàn)方式

      1)診斷繼承的兩個(gè)層級(jí)在同一文件中,通過(guò)在ECUVARIANT定義ID-REF即可引用當(dāng)前文檔中的父類(lèi)對(duì)象,如果在BASE-Variant中定義10 01服務(wù),則在ECU-Variant中即進(jìn)行繼承,繼承的對(duì)象不能超出對(duì)象范圍。

      2)診斷繼承的兩個(gè)層級(jí)在不同的文件中,圖12中Schema描述的BASE-Variant通過(guò)ID-REF、DOC-REF、DOC-TYPE聯(lián)合定義繼承層。BASE-VARIANTS中的PARENT-REFS中的PARENT-REF的FUCTION-GROUP的文件由內(nèi)部對(duì)象繼承。

      圖12 PARENT-REF繼承方式

      3.2 值繼承PARENT-REF的消除繼承

      在通過(guò)面向?qū)ο蟮乃枷脒M(jìn)行對(duì)象繼承時(shí),當(dāng)其中某一具體的對(duì)象不需要繼承的時(shí)候,通過(guò)NOT-INHERITED關(guān)鍵結(jié)構(gòu)段進(jìn)行ODX值繼承PARENT-REF消除繼承的創(chuàng)建,從而實(shí)現(xiàn)單一對(duì)象的消除繼承關(guān)系。如圖13所示。

      圖13 繼承關(guān)系中的消除繼承NOT-INHERITED

      通過(guò)圖13模型中可以了解到整個(gè)消除繼承4種不同對(duì)象消除繼承的定義。同時(shí)通過(guò)上述3.1.1診斷層繼承的Schema數(shù)據(jù)結(jié)構(gòu)中,亦可見(jiàn)消除繼承在PARENT-REF繼承的結(jié)構(gòu)。

      3.3 PARENT-REF值繼承的重寫(xiě)

      在面向?qū)ο笏枷胫校宇?lèi)對(duì)象繼承父類(lèi)對(duì)象,當(dāng)子類(lèi)對(duì)象中不能消除繼承對(duì)象,同時(shí)需要改變子類(lèi)對(duì)象定義,此時(shí)需要進(jìn)行對(duì)象重寫(xiě)同名稱(chēng)的對(duì)象。

      重寫(xiě)特性為:①重寫(xiě)對(duì)象的優(yōu)先級(jí)高于繼承對(duì)象;②重寫(xiě)對(duì)象具有與繼承對(duì)象同樣的SHORT-NAME;③重寫(xiě)對(duì)象在D-SERVER中是可見(jiàn)的,但是繼承對(duì)象是不可見(jiàn)的。

      在圖14的PRARENT-REF值繼承體系中,BASE-VARIANT的OBJECT A對(duì)象被ECU-VARIANT繼承,但是ECUVARIANT重寫(xiě)了OBJECT A為OBJECT A’。OBJECT A’可見(jiàn)和可用于D-sever中。OBJECT A將不可見(jiàn)。

      圖14 PRARENT-REF值繼承體系的重寫(xiě)

      3.4 PARENT-REF值繼承的多重繼承

      在面向?qū)ο笏枷胫?,?dāng)子類(lèi)對(duì)象同時(shí)繼承來(lái)自多個(gè)父類(lèi)的同一SHORT-NAME對(duì)象時(shí),子類(lèi)的對(duì)象就產(chǎn)生了多重繼承。下面解釋多重繼承的關(guān)系。

      在圖15的PRARENT-REF值繼承體系中,PROTOCOLVARIANT和 FUNCTION-GROUP中的OBJECT A對(duì)象同時(shí)被BASE-VARIANT繼承,出現(xiàn)多重繼承在BASE-VARIANT。由于FUNTION-GROUP越特殊,PROTOCOL越一般,F(xiàn)UNCTION-GROUO具有更高的優(yōu)先有效,因此BASE-VARIANT中的OBJECT A’可見(jiàn)和可用于D-sever中,OBJECT A將不可見(jiàn)。

      圖15 PARENT-REF值繼承的多重繼承

      4 結(jié)語(yǔ)

      1)ODX數(shù)據(jù)庫(kù)中值繼承思想使得診斷數(shù)據(jù)能夠在ECU和ECU變種之間進(jìn)行診斷數(shù)據(jù)的重用,構(gòu)建診斷數(shù)據(jù)的開(kāi)發(fā)架構(gòu)。

      2)通過(guò)值繼承PARENT-REF可以保證數(shù)據(jù)結(jié)構(gòu)的合理性和穩(wěn)定性。

      3)通過(guò)面向?qū)ο蟮乃枷雽⑵?chē)診斷數(shù)據(jù)庫(kù)開(kāi)發(fā)進(jìn)行了高度融合,使得控制器數(shù)據(jù)結(jié)構(gòu)更加規(guī)范,對(duì)于ECU開(kāi)發(fā)避免了數(shù)據(jù)拷貝帶來(lái)的錯(cuò)誤。

      4)本文的研究結(jié)論,對(duì)通過(guò)ODX創(chuàng)建診斷數(shù)據(jù)庫(kù)和設(shè)備解析ODX數(shù)據(jù)庫(kù)的設(shè)計(jì)和使用也有參考價(jià)值。

      猜你喜歡
      子類(lèi)面向?qū)ο?/a>數(shù)據(jù)結(jié)構(gòu)
      卷入Hohlov算子的某解析雙單葉函數(shù)子類(lèi)的系數(shù)估計(jì)
      面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開(kāi)發(fā)
      關(guān)于對(duì)稱(chēng)共軛點(diǎn)的倒星象函數(shù)某些子類(lèi)的系數(shù)估計(jì)
      面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      高職高專(zhuān)數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
      河南科技(2014年10期)2014-02-27 14:09:03
      《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
      河南科技(2014年5期)2014-02-27 14:08:57
      玛沁县| 深州市| 蒙自县| 金坛市| 新竹市| 当涂县| 股票| 郁南县| 千阳县| 宿松县| 通城县| 长葛市| 洛阳市| 竹山县| 宁陵县| 长垣县| 定安县| 库尔勒市| 东乡县| 太白县| 微山县| 兴城市| 屏东市| 宜昌市| 江源县| 大化| 嘉鱼县| 东至县| 泰兴市| 梅州市| 泗洪县| 昆明市| 柏乡县| 延津县| 仙游县| 秭归县| 石渠县| 甘洛县| 孙吴县| 南川市| 怀化市|