ASAM ODS

歷史

ODS是由ASAM開發(fā)的第一個(gè)標(biāo)準(zhǔn)之一,達(dá)到追溯到1990年初。該標(biāo)準(zhǔn)的發(fā)起者和主要貢獻(xiàn)者是寶馬,戴姆勒和保時(shí)捷。寶馬部署了首批用于風(fēng)洞的ODS服務(wù)器安裝之一,但其他早期版本的ODS并未獲得廣泛的市場認(rèn)可。這改變與ODS 3.0的釋放在90的端個(gè)。第一批商用設(shè)備可從獨(dú)立供應(yīng)商處獲得。ODS開始被用作歐洲汽車工業(yè)試驗(yàn)臺(tái)的測試數(shù)據(jù)管理系統(tǒng)。該標(biāo)準(zhǔn)迅速發(fā)展并在2003年通過5.0版本進(jìn)行了多次擴(kuò)展,例如面向?qū)ο蟮腁PI,基于XML的數(shù)據(jù)交換格式(ATFX)以及用于NVH和測試床校準(zhǔn)的應(yīng)用程序特定數(shù)據(jù)模型。2013年版本5.3.0包含一個(gè)新的總線數(shù)據(jù)數(shù)據(jù)模型。在2017年的主要版本6.0中,ASAM使用超文本傳輸??協(xié)議為客戶端 - 服務(wù)器通信和Google協(xié)議緩沖區(qū)添加了現(xiàn)代Web服務(wù)API,用于數(shù)據(jù)序列化。新的API顯著簡化了通過互聯(lián)網(wǎng)的通信,是實(shí)現(xiàn)大數(shù)據(jù)系統(tǒng)ODS的重要一步。

動(dòng)機(jī)

汽車工業(yè)中的測試系統(tǒng)在調(diào)試和操作方面是昂貴的。此外,它們產(chǎn)生了大量數(shù)據(jù)。在早期的90 個(gè)測試自動(dòng)化系統(tǒng)供應(yīng)商提供他們自己的數(shù)據(jù)評估工具,作為自動(dòng)化系統(tǒng)的一部分,在數(shù)據(jù)存儲(chǔ)解決方案上運(yùn)行 這些系統(tǒng)是專有的,并根據(jù)客戶需求量身定制。因此,存在許多不同的系統(tǒng),這些系統(tǒng)大多彼此不兼容。存儲(chǔ)的數(shù)據(jù)通常只能由生成數(shù)據(jù)的人員訪問和理解。具有數(shù)據(jù)模型,API和數(shù)據(jù)交換格式的各種工具使得重用測試結(jié)果變得非常困難。需要使用包裝器API來鏈接不同的工具,從而導(dǎo)致工具鏈的不穩(wěn)定性。數(shù)據(jù)轉(zhuǎn)換器必須將數(shù)據(jù)轉(zhuǎn)換為不同的格式,這可能會(huì)導(dǎo)致意外的修改,重新解釋或丟失數(shù)據(jù)。

除了這些問題,最關(guān)鍵的問題是數(shù)據(jù)模糊。如果數(shù)據(jù)的命名,范圍和語義沒有很好地定義,那么用戶就不能信任數(shù)據(jù)甚至誤解數(shù)據(jù)。例如,在NVH應(yīng)用區(qū)域中,響度水平(phon)的測量取決于聲壓級和頻率的選擇。響度水平測量可以遵循標(biāo)準(zhǔn)化輪廓以獲得相等的響度,并且可以使用具有特定閾值參數(shù)的濾波器。在NVH專家可以正確解釋響度測量數(shù)據(jù)之前,需要知道這樣的元數(shù)據(jù)。此外,他們需要有關(guān)測試的附帶數(shù)據(jù),例如麥克風(fēng)的位置和類型。測試數(shù)據(jù)的創(chuàng)建者通常使用測量通道的名稱來描述這樣的伴隨數(shù)據(jù)。助記符,縮寫和字母代碼用于通過測量通道的名稱傳達(dá)元信息。如果這些代碼沒有明確和系統(tǒng)地記錄,那么這些測試數(shù)據(jù)的消費(fèi)者必須推測這些名稱的含義。在很長一段時(shí)間內(nèi),這種名稱編碼方案引起了巴比倫維度的混亂。其他錯(cuò)誤來源是使用不同的數(shù)據(jù)類型,物理單位或縮放公式,這進(jìn)一步導(dǎo)致對測量值的誤解。所有這些潛在的陷阱都可能導(dǎo)致代價(jià)高昂的重新測試,或者甚至更糟糕的回收已發(fā)布產(chǎn)品。在很長一段時(shí)間內(nèi),這種名稱編碼方案引起了巴比倫維度的混亂。其他錯(cuò)誤來源是使用不同的數(shù)據(jù)類型,物理單位或縮放公式,這進(jìn)一步導(dǎo)致對測量值的誤解。所有這些潛在的陷阱都可能導(dǎo)致代價(jià)高昂的重新測試,或者甚至更糟糕的回收已發(fā)布產(chǎn)品。在很長一段時(shí)間內(nèi),這種名稱編碼方案引起了巴比倫維度的混亂。其他錯(cuò)誤來源是使用不同的數(shù)據(jù)類型,物理單位或縮放公式,這進(jìn)一步導(dǎo)致對測量值的誤解。所有這些潛在的陷阱都可能導(dǎo)致代價(jià)高昂的重新測試,或者甚至更糟糕的回收已發(fā)布產(chǎn)品。

ODS通過具有明確定義的語義的數(shù)據(jù)模型的規(guī)范解決了數(shù)據(jù)解釋的問題。這樣可以避免對現(xiàn)有測試數(shù)據(jù)進(jìn)行冗余測試和誤解。此外,在一個(gè)數(shù)據(jù)模型中,相同的測試數(shù)據(jù)使用相同的標(biāo)簽,數(shù)據(jù)類型,單位和轉(zhuǎn)換方法。幾乎沒有誤解的余地。標(biāo)準(zhǔn)化的API和數(shù)據(jù)交換文件格式進(jìn)一步避免了上述包裝API和數(shù)據(jù)轉(zhuǎn)換器,從而節(jié)省了開發(fā)成本和由于不穩(wěn)定的工具鏈和降低的數(shù)據(jù)質(zhì)量而導(dǎo)致的時(shí)間損失。

標(biāo)準(zhǔn)化測試數(shù)據(jù)庫還有許多其他優(yōu)點(diǎn)。如果測試床操作員和開發(fā)專家有足夠的數(shù)據(jù)來停止進(jìn)一步測試,他們可以更容易地確定。此外,由于原型越來越稀缺并且測試臺(tái)被預(yù)訂了幾個(gè)月,測試臺(tái)的用戶可以提前測試數(shù)據(jù),并在以后需要時(shí)輕松檢索。數(shù)據(jù)可供跨職能團(tuán)隊(duì)使用,例如NVH和發(fā)動(dòng)機(jī)任務(wù)組團(tuán)隊(duì),他們必須聯(lián)合調(diào)查生產(chǎn)車輛中意外高噪聲水平的現(xiàn)場問題。ODS服務(wù)器通過跨部門邊界提供數(shù)據(jù)來促進(jìn)協(xié)作,并允許不同專業(yè)的專家對其進(jìn)行明確的解釋。

應(yīng)用領(lǐng)域

ODS標(biāo)準(zhǔn)側(cè)重于持久存儲(chǔ)和檢索數(shù)據(jù)。它廣泛涵蓋了測試領(lǐng)域的所有用例,主要與測試自動(dòng)化系統(tǒng)結(jié)合使用。ODS服務(wù)器首先用于底盤測功機(jī),動(dòng)力總成測功機(jī),NVH測試實(shí)驗(yàn)室和碰撞測試實(shí)驗(yàn)室。

該標(biāo)準(zhǔn)允許創(chuàng)建特定于應(yīng)用程序的數(shù)據(jù)模型,從而可以涵蓋廣泛的測試應(yīng)用程序。ODS服務(wù)器的典型應(yīng)用領(lǐng)域是制動(dòng)器,減震器,燃料噴射器,催化轉(zhuǎn)換器和其他汽車部件的部件試驗(yàn)臺(tái)。質(zhì)量保證測試臺(tái)使用ODS服務(wù)器存儲(chǔ)原始數(shù)據(jù)和分類數(shù)據(jù)。此外,ODS服務(wù)器從氣候室,風(fēng)洞,壓力和耐久性試驗(yàn)臺(tái),水力脈沖測試系統(tǒng),試驗(yàn)地面車輛測試和公路上的車隊(duì)測試中捕獲測量數(shù)據(jù)。最近,ODS已被用于測試替代推進(jìn)系統(tǒng)的部件,例如電動(dòng)機(jī),電池和電力電子設(shè)備的測試。ODS的另一個(gè)優(yōu)勢是能夠?qū)y試數(shù)據(jù)與UUT數(shù)據(jù)(被測單元)相結(jié)合,

大型OEM使用企業(yè)范圍的ODS數(shù)據(jù)庫,例如,一個(gè)ODS服務(wù)器系統(tǒng)用于整個(gè)引擎開發(fā)區(qū)域??梢元?dú)立于誰生成數(shù)據(jù)來檢索數(shù)據(jù)。在某些地區(qū),原始數(shù)據(jù)量太大,無法由人類查看和評估。自動(dòng)客戶端應(yīng)用程序可以瀏覽數(shù)據(jù)模型,檢索數(shù)據(jù),評估結(jié)果,生成測試報(bào)告和歸檔數(shù)據(jù),而無需人工干預(yù)。通用ODS客戶端可以使用來自不同供應(yīng)商的ODS服務(wù)器,而無需進(jìn)行大量集成。

ODS還用于制造商/供應(yīng)商關(guān)系中的測試數(shù)據(jù)交換。這通常需要通過文件交換數(shù)據(jù)??梢砸苑蟈ML的文件格式導(dǎo)出ODS數(shù)據(jù)庫的內(nèi)容或部分內(nèi)容。格式包含ODS數(shù)據(jù)模型和測試數(shù)據(jù)。文件的接收者可以通過XML導(dǎo)入器導(dǎo)入數(shù)據(jù),并且能夠正確地理解和存儲(chǔ)他們自己的數(shù)據(jù)處理工具或數(shù)據(jù)庫中的數(shù)據(jù)。

技術(shù)內(nèi)容

數(shù)據(jù)模型

ODS中的數(shù)據(jù)模型提供存儲(chǔ)位置和數(shù)據(jù)含義。后者非常重要。如果已知以下信息,則只能正確理解和應(yīng)用測試數(shù)據(jù)(→每個(gè)問題下面給出相應(yīng)的基本模型元素):

  • 我的數(shù)據(jù)在哪里?
    →AoMeasurement
  • 測試了什么?
    →AoUnitUnderTest
  • 使用了什么測試設(shè)備?
    →AoTestEquipment
  • 進(jìn)行了哪項(xiàng)測試?
    →AoTestSequence
  • 測試的目的是什么?
    →AoAny
  • 哪個(gè)人參加了考試?
    →AoUser
  • 測試是在什么時(shí)候進(jìn)行的?
    →AoMeasurement - measurement_start,measurement_end

從ODS服務(wù)器查詢測試數(shù)據(jù)的用戶能夠獲得這些問題的答案。此先決條件是一個(gè)有意義且定義明確的應(yīng)用程序模型。雖然這種應(yīng)用程序模型的定義是用戶在設(shè)置ODS服務(wù)器時(shí)的責(zé)任,但ODS標(biāo)準(zhǔn)為此作業(yè)提供了幾種幫助:

  • 基礎(chǔ)模型:應(yīng)用程序模型的基礎(chǔ)和參考。
  • 預(yù)定義的應(yīng)用程序模型:為客戶特定的應(yīng)用程序模型的定義提供一個(gè)起點(diǎn)。給出測試對象幾何,NVH測試,測試臺(tái)校準(zhǔn)數(shù)據(jù),總線數(shù)據(jù),測試工作流程。

基礎(chǔ)模型

基本模型可以視為測試數(shù)據(jù)的粗略數(shù)據(jù)分類?;灸P偷脑卦谡Z法和語義方面是明確定義的。元素的語法定義確保所有ODS客戶端都可以讀取它們。元素的語義定義確保每個(gè)客戶端以相同的方式理解它們。

ODS基礎(chǔ)模型

這將通過一個(gè)例子來說明: AoMeasurementQuantity 是一個(gè)基本元素,它表示在測量矩陣中組織為一列的測量物理量的值。這是AoMeasurementQuantity的“含義”或“語義” ,允許客戶正確解釋和分類數(shù)據(jù)。AoMeasurementQuantity 還有其他屬性,用于定義其數(shù)據(jù)的語法。例如,屬性數(shù)據(jù)類型 描述測量值的位級存儲(chǔ)格式(例如DT_BOOLEAN,DT_BYTE或DT_FLOAT等),屬性 維度描述矩陣列中的值的數(shù)量。這是“格式”或“語法”,允許客戶端正確讀取和處理數(shù)據(jù)。

此外,基本模型描述了元素之間的關(guān)系。例如,AoMeasurementQuantity引用AoPhysicalDimension,它是表示有關(guān)數(shù)量類型(例如力或溫度)的信息的基本元素。它還引用了 AoUnit,它是表示單元信息的基本元素,例如Newton或Kelvin。有了這些信息,客戶現(xiàn)在可以很好地了解如何解釋和處理從ODS服務(wù)器收到的數(shù)據(jù)。例如,客戶端現(xiàn)在知道如何正確轉(zhuǎn)換數(shù)據(jù)以使物理單位匹配(防止將攝氏度與開爾文進(jìn)行比較)并對相同類型的數(shù)據(jù)進(jìn)行分類(防止在同一圖表中顯示溫度數(shù)據(jù)和強(qiáng)制數(shù)據(jù))。

下表簡要介紹了基本模型的元素。

元件 描述
AoTest
AoSubTest
AoMeasurement
用于組織測量和相應(yīng)的輸入/輸出數(shù)據(jù)。
AoSubmatrix
AoLocalColumn
是存儲(chǔ)測試結(jié)果的基本元素。
AoQuantity
AoQuantityGroup
用于保存可能與數(shù)據(jù)庫中保留的任何或所有測試相關(guān)的物理量的信息。
AoMeasurementQuantity 表示測量中使用的數(shù)量。
AoUnit
AoUnitGroup
AoPhysicalDimension
用于保存結(jié)果值(普通數(shù)字)與相應(yīng)單位之間關(guān)系的信息,從而允許正確的算術(shù)運(yùn)算或關(guān)系運(yùn)算。
AoUnitUnderTest
AoUnitUnderTestPart
包含有關(guān)已測試內(nèi)容的信息。
AoTestEquipment
AoTestEquipmentPart
包含有關(guān)使用了哪些設(shè)備的信息。
AoTestSequence
AoTestSequencePart
包含有關(guān)在測試期間處理了哪些步驟序列的信息。
AoTestDevice 包含有關(guān)使用哪個(gè)測試設(shè)備的信息。
AoUser
AoUserGroup
是否用于處理安全方面的基本元素。
AoLog 用于記錄目的。
AoParameter
AoParameterSet
可以用于例如通過僅存儲(chǔ)幾個(gè)元素使用的信息來避免冗余。
AoNameMap,AoAttributeMap 保存應(yīng)用程序元素的別名,例如,用于不同語言的名稱。指定應(yīng)用程序?qū)傩缘膭e名。
AoAny 是一個(gè)不具有特定含義的基本元素,可用于存儲(chǔ)不符合其他基本元素含義的信息。

實(shí)際上,基本模型不直接用作數(shù)據(jù)庫的模型。對于此目的,它通常過于通用。但是,基本模型用作父項(xiàng)以派生特定的應(yīng)用程序模型。應(yīng)用程序模型的元素始終具有對基本模型元素的引用,從而賦予其基本模型元素的含義。

應(yīng)用模型

應(yīng)用模型涵蓋特定應(yīng)用領(lǐng)域,如NVH測試或發(fā)動(dòng)機(jī)測試。它們來自基本模型并定義,哪些基本模型元素確實(shí)在數(shù)據(jù)庫中使用。應(yīng)用程序模型的每個(gè)元素引用定義良好的基本模型的元素,從而為數(shù)據(jù)添加含義。

因此,在ODS中構(gòu)建應(yīng)用程序模型意味著將特定于應(yīng)用程序的元素映射到基本模型的元素。例如,“發(fā)動(dòng)機(jī)”試驗(yàn)臺(tái)測試具有“進(jìn)氣歧管”,“活塞”和“發(fā)動(dòng)機(jī)缸體”部件的發(fā)動(dòng)機(jī)。我們將“引擎”映射到基本模型元素 AoUnitUnderTest ,并將組件“進(jìn)氣歧管”,“活塞”和“引擎塊”映射到 AoUnitUnderTestPart。此外,我們希望測量每個(gè)組件的溫度并將數(shù)據(jù)存儲(chǔ)在ODS數(shù)據(jù)庫中。因此,我們將元素“進(jìn)氣歧管”,“活塞”和“發(fā)動(dòng)機(jī)缸體”鏈接到“測量”(它映射到基本模型元素: AoMeasurement)。“ )?!癟emperatureInstantaneous”應(yīng)引用“Kelvin”(基本模型元素: AoUnit),其引用“溫度”(映射到基本模型元素: AoPhysicalDimension)。

應(yīng)用程序模型元素到基本模型元素的映射示例

查詢應(yīng)用程序模型的客戶端應(yīng)用程序仍然可以通過與基本模型的關(guān)系來理解特定應(yīng)用程序數(shù)據(jù)模型元素的含義。這允許符合ODS標(biāo)準(zhǔn)的數(shù)據(jù)庫的用戶為其特定的測試用例創(chuàng)建定制的應(yīng)用程序數(shù)據(jù)模型,并且客戶端應(yīng)用程序仍然能夠正確處理來自此類定制數(shù)據(jù)庫的數(shù)據(jù),因?yàn)樗玫幕A(chǔ)具有明確定義的語法和語義模型元素。

除了那些基本關(guān)系之外,應(yīng)用程序模型的設(shè)計(jì)者可以引入應(yīng)用程序元素之間的新關(guān)系。他還可以添加特定于其測試用例的屬性。因此,應(yīng)用程序模型可以具有附加關(guān)系屬性,這些屬性在基礎(chǔ)模型中不存在。對于客戶來說,它們?nèi)匀皇强梢岳斫獾?,因?yàn)樗鼈兇嬖谟谠氐纳舷挛闹校厥冀K與基本模型有關(guān)。

繼續(xù)上面的示例,我們想要記錄被測引擎所屬的客戶。因此,我們添加對“Engine”的引用,該引用指向元素“Customer”(映射到基本模型元素: AoUser)。基本模型中不存在此關(guān)系。我們可以進(jìn)一步向我們的應(yīng)用模型元素“進(jìn)氣歧管”添加屬性“重量”和“材料”,并對其他組件“活塞”和“發(fā)動(dòng)機(jī)缸體”執(zhí)行相同的操作。這允許將重量和材料信息存儲(chǔ)到被測單元。

ODS標(biāo)準(zhǔn)包含五個(gè)針對特定應(yīng)用領(lǐng)域的預(yù)先指定的應(yīng)用模型:

  • 測試對象幾何
  • NVH測試
  • 試驗(yàn)臺(tái)校準(zhǔn)數(shù)據(jù)
  • 公交數(shù)據(jù)
  • 測試工作流程

ISO 22240規(guī)定了第六個(gè)型號,其名稱為“車輛安全信息模型”(VSIM),它標(biāo)準(zhǔn)化了車輛安全測試的數(shù)據(jù)存儲(chǔ)。該型號符合ODS標(biāo)準(zhǔn),但由ISO擁有,因此不包含在ASAM ODS標(biāo)準(zhǔn)中。

使用這樣的應(yīng)用程序模型保證客戶端以相同的方式以相同的數(shù)據(jù)格式存儲(chǔ)相同的信息,因此存儲(chǔ)的信息的含義通??梢杂刹煌目蛻舳死斫狻nA(yù)先指定的應(yīng)用程序模型是隨時(shí)可用的,但是,用戶可以通過添加特定于公司的項(xiàng)目來定制它們以滿足其需求。

應(yīng)用程序模型僅提供有關(guān)要存儲(chǔ)和檢索的數(shù)據(jù)結(jié)構(gòu)的元信息。它們需要在ODS服務(wù)器上實(shí)例化為數(shù)據(jù)庫。這允許存儲(chǔ)和檢索實(shí)際數(shù)據(jù),即客戶端應(yīng)用程序然后可以創(chuàng)建應(yīng)用程序模型元素的特定實(shí)例并開始在其屬性中存儲(chǔ)值。此外,客戶端甚至可以在實(shí)例化數(shù)據(jù)模型中的兩個(gè)實(shí)例之間創(chuàng)建新的實(shí)例屬性和新關(guān)系,這些實(shí)例在底層應(yīng)用程序模型中不存在。

物理數(shù)據(jù)庫模型

ODS標(biāo)準(zhǔn)規(guī)定了如何最初構(gòu)建數(shù)據(jù)庫以便以兼容的方式物理存儲(chǔ)數(shù)據(jù)。該標(biāo)準(zhǔn)側(cè)重于關(guān)系數(shù)據(jù)庫,因?yàn)檫@是業(yè)界最常用的數(shù)據(jù)庫技術(shù)。

使用關(guān)系數(shù)據(jù)庫存儲(chǔ)信息需要指定數(shù)據(jù)庫中必須有哪些表,需要具有哪些列,哪些表?xiàng)l目必須是唯一的(因?yàn)樗鼈冇米麈I)等等。符合ODS標(biāo)準(zhǔn)的數(shù)據(jù)庫清楚地區(qū)分了有關(guān)應(yīng)用程序模型的元信息和另一方的實(shí)際值。它們存儲(chǔ)在不同的表中。

有關(guān)應(yīng)用程序模型的元信息存儲(chǔ)在三個(gè)靜態(tài)表中。

內(nèi)容
SVCENT:應(yīng)用程序模型元素表 為每個(gè)元素保留唯一ID,名稱,對基本模型元素的引用以及存儲(chǔ)應(yīng)用程序元素實(shí)例的表的名稱。
SVCATTR:應(yīng)用程序模型屬性表 包含所有應(yīng)用程序元素的應(yīng)用程序?qū)傩粤斜硪约八袉蜗騕1,n]應(yīng)用程序關(guān)系。對于屬性,該表允許按名稱標(biāo)識屬性,它們屬于哪個(gè)應(yīng)用程序模型元素,以及(如果可用)它們屬于哪個(gè)基本模型元素。對于關(guān)系,該表包含目標(biāo)元素的ID。此外,該表包含屬性值的數(shù)據(jù)類型和存儲(chǔ)屬性值的列名。
SVCREF:應(yīng)用程序關(guān)系表 包含所有雙向[n,m]應(yīng)用程序關(guān)系。

應(yīng)用程序模型實(shí)例的值存儲(chǔ)在實(shí)例表中。

內(nèi)容
包含實(shí)例屬性的表 包含添加到實(shí)例的屬性和關(guān)系,因此在應(yīng)用程序模型中不存在。
包含雙向[n,m]相關(guān)類型的實(shí)例關(guān)系的表 包含將元素實(shí)例相互關(guān)聯(lián)的矩陣。
包含實(shí)例及其屬性的表 由SVCENT和SVCATTR引用,并包含每個(gè)屬性的實(shí)際值。
包含安全信息的表 包含用于限制對實(shí)例,元素和屬性的訪問以及提供訪問控制模板的表。

been

該標(biāo)準(zhǔn)定義了三種不同的API來訪問數(shù)據(jù)庫。它們從服務(wù)器上的數(shù)據(jù)庫的實(shí)際實(shí)現(xiàn)中抽象客戶端訪問。此外,API命令允許檢索實(shí)際測試數(shù)據(jù)并訪問關(guān)于應(yīng)用程序模型的元信息。元信息允許客戶端解釋和理解應(yīng)用程序模型,從而允許它使用不同的ASAM ODS數(shù)據(jù)模型。

歷史上第一個(gè)ASAM ODS接口規(guī)范使用RPC(遠(yuǎn)程過程調(diào)用),而今天的一些實(shí)現(xiàn)仍然基于RPC-API?;贑ORBA體系結(jié)構(gòu)(公共對象請求代理體系結(jié)構(gòu))的面向?qū)ο蟮腛O-API繼承了RPC-API。出于兼容性原因,兩個(gè)舊API仍包含在ASAM ODS中。

從版本6.0.0開始,ODS包含使用超文本傳輸??協(xié)議的Web服務(wù)API。新的HTTP-API還使用Google Protocol Buffers規(guī)范來序列化應(yīng)用程序數(shù)據(jù)。HTTP-API包括OO-API和RPC-API的大部分功能,并且能夠在典型的通信場景中替換它。新的API顯著簡化了通過Internet進(jìn)行的客戶端 - 服務(wù)器通信,是實(shí)現(xiàn)大數(shù)據(jù)系統(tǒng)ODS的重要一步。訪問ASAM ODS的推薦方法是使用HTTP-API。

HTTP-API的主要特征是:

  • 基于REST架構(gòu)風(fēng)格
  • 符合W3C HTTP 1.0標(biāo)準(zhǔn)
  • 通過Google Protocol Buffers 3.0(proto3)進(jìn)行二進(jìn)制和JSON數(shù)據(jù)序列化
  • 更改事件的W3C SSE通知
  • 可用于反向代理

HTTP-API由30種方法組成,用于在客戶端應(yīng)用程序和ODS服務(wù)器之間建立基于Web服務(wù)的請求 - 響應(yīng)類型的通信。大多數(shù)方法都使用POST命令,因?yàn)榇嗣钭訦TTP 1.0以來就已存在,甚至更老的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)也支持此命令。此外,POST命令允許以proto3格式有效傳輸方法參數(shù)。API的三種方法使用HTTP的DELETE和GET命令。

API方法的主體可以有兩種替代內(nèi)容類型,用于以序列化格式傳輸結(jié)構(gòu)化數(shù)據(jù):

  • Proto3:推薦且最有效的數(shù)據(jù)序列化格式
  • JSON:protobuf消息的JSON表示

客戶端和服務(wù)器之間的每個(gè)通信會(huì)話通過連接標(biāo)識符(conI)來識別,該連接標(biāo)識符由服務(wù)器生成,作為對“POST {baseURI} / ods”命令的響應(yīng)。所有后續(xù)命令都包含連接標(biāo)識符。

HTTP-API方法具有基本結(jié)構(gòu)“HTTP-Command”,“Path”和“Action”。Action包含ASAM ODS中指定的實(shí)際功能。API定義了常用功能的二十四種標(biāo)準(zhǔn)方法,例如打開和關(guān)閉與服務(wù)器的連接,讀/寫/修改實(shí)例數(shù)據(jù)(即元數(shù)據(jù)和測量數(shù)據(jù)),修改應(yīng)用程序模型,客戶端處理的功能交易和其他功能。事務(wù)由一系列動(dòng)作組成,這些動(dòng)作就像它們只是一個(gè)動(dòng)作一樣,從而確保數(shù)據(jù)的一致性。如果一個(gè)事務(wù)的操作沒有完全完成,則可以回滾服務(wù)器,確保在事務(wù)開始之前的原始條件。下表列出了所有標(biāo)準(zhǔn)方法,并提供了Action的簡要說明。

HTTP命令 路徑 行動(dòng) 描述
POST 基本URI {} / ODS 請求連接ID以在客戶端和服務(wù)器之間建立通信會(huì)話。
刪除 基本URI {} / ODS / CONI {} 關(guān)閉會(huì)話。
POST 基本URI {} / ODS / CONI {} / 背景閱讀 檢索全部或部分上下文變量(指定服務(wù)器設(shè)置的名稱 - 值對)。
POST 基本URI {} / ODS / CONI {} / 上下文更新 設(shè)置一個(gè)或多個(gè)上下文變量的值。
POST 基本URI {} / ODS / CONI {} / 數(shù)據(jù)讀取 通過本地列的“值”,“標(biāo)志”和“generation_parameters”讀取實(shí)例數(shù)據(jù),例如屬性值,關(guān)系和測量數(shù)據(jù)。
POST 基本URI {} / ODS / CONI {} / valuematrix閱讀 讀取完整測量或其子集的質(zhì)量數(shù)據(jù)。
POST 基本URI {} / ODS / CONI {} / 數(shù)據(jù)創(chuàng)建 創(chuàng)建新實(shí)例,設(shè)置屬性值和關(guān)系。
POST 基本URI {} / ODS / CONI {} / 數(shù)據(jù)更新 修改新實(shí)例,設(shè)置屬性值和關(guān)系,寫入海量數(shù)據(jù)。
POST 基本URI {} / ODS / CONI {} / 數(shù)據(jù)拷貝 復(fù)制實(shí)例。
POST 基本URI {} / ODS / CONI {} / 數(shù)據(jù)刪除 刪除一個(gè)或多個(gè)實(shí)例。
POST 基本URI {} / ODS / CONI {} / NM-關(guān)系讀 通過n:m關(guān)系獲取與給定實(shí)例相關(guān)的所有實(shí)例的列表。
POST 基本URI {} / ODS / CONI {} / NM-關(guān)系寫 設(shè)置,添加或刪除實(shí)例與其他實(shí)例的n:m關(guān)系。
POST 基本URI {} / ODS / CONI {} / 交易創(chuàng)建 此方法啟動(dòng)事務(wù)。
POST 基本URI {} / ODS / CONI {} / 交易提交 此方法用于向ODS服務(wù)器發(fā)出信號,表明當(dāng)前事務(wù)中的所有活動(dòng)都已提交,并且客戶端希望服務(wù)器在ODS數(shù)據(jù)存儲(chǔ)中使所有結(jié)果更改持久化。
POST 基本URI {} / ODS / CONI {} / 交易中止 如果客戶希望回滾當(dāng)前事務(wù)中的所有活動(dòng),則可以由客戶端調(diào)用此方法。
POST 基本URI {} / ODS / CONI {} / 模型讀 此方法檢索當(dāng)前存儲(chǔ)在ODS服務(wù)器上的應(yīng)用程序模型。
POST 基本URI {} / ODS / CONI {} / 模型刪除 此方法允許完全刪除應(yīng)用程序元素或從應(yīng)用程序元素或兩個(gè)應(yīng)用程序元素之間的應(yīng)用程序關(guān)系中刪除應(yīng)用程
POST 基本URI {} / ODS / CONI {} / 模型更新 此方法允許在ODS服務(wù)器上創(chuàng)建新的并修改現(xiàn)有應(yīng)用程序模型及其部件。
POST 基本URI {} / ODS / CONI {} / 模型檢查 此方法允許確定當(dāng)前在ODS服務(wù)器上保存的應(yīng)用程序模型是否符合ASAM ODS的規(guī)則。
POST 基本URI {} / ODS / CONI {} / basemodel閱讀 此方法允許從ODS服務(wù)器檢索ASAM ODS基本模型。
POST 基本URI {} / ODS / CONI {} / Asampth創(chuàng)建 該方法可用于確定應(yīng)用程序元素的特定實(shí)例的ASAM路徑。
POST 基本URI {} / ODS / CONI {} / Asampth排解 如果只知道其ASAM路徑,則此方法允許檢索應(yīng)用程序元素的實(shí)例。
POST 基本URI {} / ODS / CONI {} / 文件訪問 此方法可用于檢索用于訪問文件,blob和字節(jié)流的URI。
POST 基本URI {} / ODS / CONI {} / 文件控制 此方法可用于控制文件或?qū)⑵鋸腛DS服務(wù)器的控制中刪除。

該標(biāo)準(zhǔn)還定義了六種特殊方法來注冊客戶端以從服務(wù)器接收事件通知和安全管理。如果出現(xiàn)以下情況,服

  • 已插入新的應(yīng)用程序元素實(shí)例(新)
  • 已修改應(yīng)用程序元素的現(xiàn)有實(shí)例(修改)
  • 已刪除應(yīng)用程序元素的現(xiàn)有實(shí)例(DELETE)
  • 應(yīng)用程序模型已被修改(MODEL)
  • 修改了消耗臭氧層物質(zhì)安全的任何設(shè)置(安全)

服務(wù)器可以通過客戶端生成的唯一接收者標(biāo)識符{recI}來標(biāo)識特定客戶端。下表列出了所有特殊方法,并提供了Action的簡要說明。

HTTP命令 路徑 行動(dòng) 描述
POST 基本URI {} / ODS / CONI {} / 安全讀 該方法允許將關(guān)于ACL條目(訪問控制列表)的信息檢索到應(yīng)用程序元素,或者檢索應(yīng)用程序元素的一個(gè)或多個(gè)屬性或關(guān)系或應(yīng)用程序元素的一個(gè)或多個(gè)實(shí)例。
POST 基本URI {} / ODS / CONI {} / 安全更新 此方法允許將ACL條目附加到應(yīng)用程序元素,或應(yīng)用程序元素的一個(gè)或多個(gè)屬性或關(guān)系或應(yīng)用程序元素的一個(gè)或多個(gè)實(shí)例,或修改或刪除現(xiàn)有的ACL條目。
POST 基本URI {} / ODS / CONI {} / 初始權(quán)利 此方法允許設(shè)置,刪除或修改一組特定于會(huì)話的ACL模板。
POST 基本URI {} / 事件/ {} RECI 此方法允許客戶端向ODS服務(wù)器注冊一組事件。
刪除 基本URI {} / 事件/ {} RECI 此方法允許客戶端從ODS服務(wù)器取消注冊。
得到 基本URI {} / 事件/ {} RECI 此方法允許POOL模式客戶端從ODS服務(wù)器檢索一組事件。一旦客戶端注冊為ODS服務(wù)器上的事件接收器,該服務(wù)器就會(huì)收集所有匹配的事件并將它們存儲(chǔ)在特定于接收器的持久事件池中。每次客戶端調(diào)用此方法并通過唯一{recI}引用接收器時(shí),ODS服務(wù)器將檢索當(dāng)前在該接收器的事件池中的所有事件,并在響應(yīng)主體中返回它們。

ODS提供了更多功能,使客戶端 - 服務(wù)器訪問高效安全:

  • 混合模式服務(wù)器:ODS使用ASAM MDF二進(jìn)制文件格式等外部文件來存儲(chǔ)海量數(shù)據(jù)。不是將這些數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,而是在那里引用外部文件。通過API完全抽象對數(shù)據(jù)的訪問,即客戶端訪問外部文件中的數(shù)據(jù)的方式與訪問數(shù)據(jù)庫內(nèi)部存儲(chǔ)的數(shù)據(jù)的方式完全相同。這使得存儲(chǔ)大量數(shù)據(jù)對客戶端透明,并且對服務(wù)器非常有效。
  • 查詢:客戶端請求可以通過一組關(guān)系('>','<','='等)和邏輯('AND','OR','NOT'等)運(yùn)算符縮小,從而簡化訪問大量數(shù)據(jù)。

文件描述格式

該標(biāo)準(zhǔn)定義了ATF格式(ASAM傳輸格式),這是一種基于文本的描述格式,用于工具之間基于文件的數(shù)據(jù)交換。ATF允許傳輸完整的應(yīng)用程序模型以及具有其屬性,關(guān)系和值的實(shí)例。

該規(guī)范允許將信息拆分為一組通過包含機(jī)制鏈接在一起的單個(gè)文件。此外,文件格式允許以二進(jìn)制格式傳輸海量數(shù)據(jù),例如通過ASAM MDF。否則這些數(shù)據(jù)將出現(xiàn)在AoLocalColumn中。該標(biāo)準(zhǔn)不是將大量數(shù)據(jù)作為文本存儲(chǔ)在ATF中,而是非常有效,而是允許在ATF中描述數(shù)據(jù)的結(jié)構(gòu),然后包含對MDF文件的引用。因此,ATF和二進(jìn)制文件(如MDF / MD4)可用于在不同的ODS應(yīng)用程序之間非常有效地傳輸大量數(shù)據(jù)。

ATF描述格式有兩種變體。經(jīng)典的ATF / CLA格式是一種非基于XML的描述格式,由于遺留原因仍然保留在標(biāo)準(zhǔn)中,但預(yù)計(jì)在未來的標(biāo)準(zhǔn)修訂版中不會(huì)更新。相同的信息也可以通過較新的ATF / XML描述格式傳輸,該格式最好用于新工具,并將在未來的ODS標(biāo)準(zhǔn)修訂版中進(jìn)一步開發(fā)。

ATF / CLA使用純ASCII文本,并且仍然受到市場上大多數(shù)可用的ODS工具的支持。它有一個(gè)簡單的五層結(jié)構(gòu):

  • 版本:提供有關(guān)ATF / CLA版本的信息。
  • 文件(可選):提供一起構(gòu)建完整ATF / CLA文件的物理文件列表。
  • Applelem:是應(yīng)用程序模型元素的描述,可以為將要由此ATF / CLA文件傳輸?shù)拿總€(gè)元素重復(fù)。
  • Instelem(可選):是應(yīng)用程序模型元素實(shí)例的描述,可以對此ATF / CLA文件傳輸?shù)拿總€(gè)實(shí)例重復(fù)。
  • Endfile:標(biāo)記ATF文件的結(jié)尾。

ATF / XML使用UTF8字符集。與ATF / CLA相比,XML允許更詳細(xì)地自動(dòng)驗(yàn)證文件內(nèi)容。此外,市場上有大量用于查看,編輯和處理XML文件的XML工具。此外,ATF / XML由五個(gè)頂級元素組成:

  • 文檔:包含有關(guān)文件來源和一些描述文本的一般信息。
  • BaseModelVersion:提供此文件中用于應(yīng)用程序模型的基本模型的ODS版本號。
  • 文件:包含二進(jìn)制數(shù)據(jù)的外部文件列表。
  • ApplicationModel:包含特定于應(yīng)用程序的數(shù)據(jù)模型的描述,包括元素及其相互之間的關(guān)系。
  • InstanceData:包含應(yīng)用程序模型的實(shí)際值。也可能包含對包含值的外部二進(jìn)制文件的引用。
ATF / XML文件的結(jié)構(gòu)

優(yōu)點(diǎn)和優(yōu)勢

消耗臭氧層物質(zhì)標(biāo)準(zhǔn)的主要好處是擺脫數(shù)據(jù)庫,API和描述格式可能具有的多樣性,并將這些變化的最佳行業(yè)實(shí)踐與一種標(biāo)準(zhǔn)相結(jié)合。ODS的主要優(yōu)點(diǎn)之一是所有用戶都能安全地理解測量數(shù)據(jù)。這是通過語義定義良好的數(shù)據(jù)模型實(shí)現(xiàn)的。測量數(shù)據(jù)通過元數(shù)據(jù)進(jìn)行修改,這些元數(shù)據(jù)包括其來源,傳感器,傳感器位置,測量方法,環(huán)境條件以及數(shù)據(jù)采集環(huán)境的其他描述性數(shù)據(jù)。此數(shù)據(jù)可以與UUT的詳細(xì)信息相關(guān)聯(lián),例如版本和配置。即使數(shù)據(jù)的用戶可能在測試期間不存在,這可能發(fā)生在半年前,并且UUT不再存在,測試數(shù)據(jù)仍然可以理解并且可以使用。測試不必重復(fù),項(xiàng)目可以繼續(xù)進(jìn)行而不會(huì)延遲。

對數(shù)據(jù)的訪問完全從其來源中抽象出來,例如,它獨(dú)立于設(shè)計(jì)和執(zhí)行測試的人員,獨(dú)立于用于生成測量值的設(shè)備,獨(dú)立于ODS服務(wù)器供應(yīng)商并且獨(dú)立于服務(wù)器和客戶端之間的IT和通信基礎(chǔ)設(shè)施。ODS建立了一個(gè)真正的,企業(yè)化的數(shù)據(jù)存儲(chǔ)和檢索基礎(chǔ)設(shè)施。

另一個(gè)重要方面是根據(jù)法律要求對數(shù)據(jù)進(jìn)行長期存檔的能力。ASAM ODS通過標(biāo)準(zhǔn)化技術(shù)確保長期穩(wěn)定性。這通常被OEM,認(rèn)證機(jī)構(gòu)或法律機(jī)構(gòu)接受為證明。

此外,長期歸檔可能變得非常昂貴。例如,現(xiàn)代發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)每天能夠產(chǎn)生數(shù)TB的數(shù)據(jù)。但是,并非所有數(shù)據(jù)都在以后使用。ODS允許跟蹤數(shù)據(jù)是否實(shí)際訪問過以及訪問過誰。這允許僅將數(shù)據(jù)移動(dòng)到相關(guān)人員或開發(fā)工具實(shí)際使用的長期存檔。

行業(yè)采用

如今,ODS通常是企業(yè)級存儲(chǔ)和檢索測試相關(guān)數(shù)據(jù)的綜合系統(tǒng)的一部分。該標(biāo)準(zhǔn)被德國原始設(shè)備制造商廣泛使用,包括啟動(dòng)該標(biāo)準(zhǔn)的寶馬,戴姆勒和保時(shí)捷。奧迪于1999年開始實(shí)施基于ASAM ODS的“測量數(shù)據(jù)管理”項(xiàng)目,并在2008年之前將系統(tǒng)軟件的主要部分移至開源項(xiàng)目。截至2012年,有30家公司參與該項(xiàng)目。

openMDM標(biāo)志

自O(shè)S 3.0以來,一些ODS服務(wù)器供應(yīng)商已經(jīng)發(fā)展并提供COTS產(chǎn)品。存在工程服務(wù)提供商和系統(tǒng)集成商來建立全面的數(shù)據(jù)庫解決方案,這些解決方案可以獨(dú)立工作,也可以與其中一個(gè)ODS服務(wù)器供應(yīng)商建立戰(zhàn)略聯(lián)盟。一些服務(wù)提供商專門針對特定應(yīng)用領(lǐng)域,例如NVH。標(biāo)準(zhǔn)和可用的工具可以被認(rèn)為是成熟和穩(wěn)定的。

歐洲和北美的消耗臭氧層物質(zhì)的采用率不斷增加。自2011年以來,ASAM支持美國的一個(gè)區(qū)域項(xiàng)目組,該項(xiàng)目組正在開發(fā)一種用于對ODS服務(wù)器進(jìn)行Web訪問的標(biāo)準(zhǔn)。這項(xiàng)工作將進(jìn)一步利用消耗臭氧層物質(zhì)在北美的地位。

可交付成果清單

該標(biāo)準(zhǔn)包括以下可交付成果:

  • 標(biāo)準(zhǔn)文件
  • XML模式文件
  • EXPRESS模式文件
  • Google Protocol Buffers定義文件
  • IDL接口定義文件
  • ONC RPC接口定義文件
  • C ++,C#,Java和Python中的HTTP-API示例代碼
  • ATF和ATFX示例文件

下載

Example_ATF_CLA.atf 經(jīng)典非XML格式的ATF文件示例。
Example_ATF_XML.atfx XML格式的ATF文件示例。
Example_Geometry.atfx XML格式的ATF文件示例,包含來自測試對象幾何應(yīng)用程序模型的數(shù)據(jù)。

<header class="asam-blue" style="box-sizing: border-box; display: block; color: rgb(0, 110, 165);">

進(jìn)一步閱讀

  • 基于Petri網(wǎng)并由ASAM ODS存儲(chǔ)的汽車測試數(shù)據(jù)分析工作流程; 雷納巴茨; IEEE / ICIT; 2009年; ISBN:9781424435074
  • 對汽車測試和數(shù)據(jù)分析中基于工作流程的信息管理的貢獻(xiàn); 雷納巴茨; IEEE / ICIT; 2010; ISBN:9781424456963

外部鏈接

轉(zhuǎn)自:https://www.asam.net/standards/detail/ods/wiki/
參考:https://www.highqsoft.com/asam-ods-solutions/
工具下載:https://www.highqsoft.de/highqsoft.serveftp.net/download/downloads.html

*ASAM ODS 5.3 JAVA 類庫
https://pan.baidu.com/s/1J3CwzAJvUdAxtFIQwz4yQw

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容