時間:2022-12-17 16:30:02 | 來源:信息時代
時間:2022-12-17 16:30:02 來源:信息時代
對象交換格式 : 一種說明語言,用于從一個或多個文件中裝載ODMS或?qū)DMS的當前狀態(tài)導出到文件中。對象交換格式可以用來在對象數(shù)據(jù)管理系統(tǒng)之間交換持久對象、傳播數(shù)據(jù)、提供文檔以及導出測試組件。
對象交換格式被設計成能支持與ODMG對象模型和對象定義語言的模式定義兼容的對象數(shù)據(jù)管理系統(tǒng),其設計還遵守美國國家信息技術(shù)標準委員會(national committee for information technology standards,NCITS)和機械CAD的PDES/STEP(使用STEP的產(chǎn)品數(shù)據(jù)交換,產(chǎn)品模型數(shù)據(jù)交換標準)等相關(guān)標準。
一個OIF文件是由一個或多個對象定義組成的,一個對象定義就是一個對象標識符(具有可選的物理簇集指示器)和一個類名(具有可選的初始化信息)。ODMG 3.0標準中OIF的主要內(nèi)容包括:
(1) ODMS狀態(tài)(ODMS states): 通過對象標識符、類型綁定、屬性值、到其他對象的鏈接這些項來刻畫包含在一個ODMS中的所有對象的狀態(tài),所有這些項都在OIF中說明。
(2)基本結(jié)構(gòu)(BASIC structure): 一個OIF文件中包含有對象的定義,每個對象定義說明了類型、屬性值及該對象與其他對象的關(guān)系。對象標識符是用對象標簽名來說明的,該對象標簽名在OIF文件中是唯一的,且在OIF文件的所有集合中可見,支持標簽名的循環(huán)使用。
(3)對象定義(object definition): 對象定義用來創(chuàng)建類的實例,對象標簽被用來在OIF文件的所有集合內(nèi)引用被定義的對象。對象定義具有可選的物理集聚指示器,用于創(chuàng)建物理上與某個持久對象接近的某個類的實例,物理接近是與實現(xiàn)無關(guān)的。若無集聚指示,則OIF中對象定義的順序決定集聚順序。
(4)屬性值初始化(attribute value initialization):對象屬性的任意一個子集可以顯式初始化,按照ODL定義的順序初始化所有屬性可采用簡單初始化格式,而要初始化具有相同屬性值集合的對象則可采用復制初始化格式。同時,支持用布爾文字、字符文字、整數(shù)文字、浮點數(shù)文字、字符串文字來相應初始化屬性值域為布爾類型、字符類型、整數(shù)類型、浮點數(shù)類型和字符串類型的屬性; 支持對結(jié)構(gòu)類型、多維屬性、集合屬性的初始化。對結(jié)構(gòu)類型的屬性的初始化與持久對象類似。
(5)鏈接定義(link definition): OIF中的鏈接定義用于說明對象間的關(guān)系,基數(shù)為1的鏈接關(guān)系可看作為屬性,用對象的標簽名來初始化?;鶖?shù)為多的鏈接關(guān)系可視為集合,用所有被鏈接對象的標簽名來初始化。在一個對象定義內(nèi)的鏈接定義是類型安全的,即一個對象標簽使用時其類型或子類型必須是關(guān)系的類型,如果一個對象標簽說明中其類型或子類型與關(guān)系中的類型不同,運行時會產(chǎn)生錯誤,OIF中也可以建立循環(huán)鏈接并在整個OIF文件集中可見。
(6)數(shù)據(jù)遷移(data migration):一個特定ODMS中的命名對象可以應用在使用前向聲明機制的OIF文件中。在這種情況下,使用對象名進行對象搜索、匹配類型等操作在現(xiàn)有的ODMS中進行。前向聲明在整個OIF文件中可見,可出現(xiàn)在文件中任意位置。
(7)命令行工具(command line utilities):每個支持OIF的ODMS都提供odmsdump和odmsload兩個實用工具,odmsdump用于創(chuàng)建特定ODMS的一個OIF表示,對象標簽名使用與實現(xiàn)相關(guān)的命名產(chǎn)生算法自動創(chuàng)建。odmsload用于裝載一個ODMS,用在文件中說明的對象來組裝ODMS。
由于對象交換格式的設計遵守NCITS和PDES/STEP等標準,因此對象交換格式在工程和設計領(lǐng)域的應用較為廣泛,并將在日益復雜的工程和設計領(lǐng)域的數(shù)據(jù)交換中起重要作用。
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。