《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 面向?qū)ο蠊こ棠0鍞?shù)據(jù)模型研究

面向?qū)ο蠊こ棠0鍞?shù)據(jù)模型研究

2008-08-22
作者:王 軍1,肖冬榮1, 劉曉平2

  摘? 要: 根據(jù)冷沖模CAD系統(tǒng)的設(shè)計(jì)特點(diǎn),將面向?qū)ο?/a>" title="面向?qū)ο?>面向?qū)ο?/a>思想與模板的知識(shí)表達(dá)方式相融合,提出了面向?qū)ο蠊こ棠0?建立了設(shè)計(jì)與制造活動(dòng)的有機(jī)聯(lián)系,實(shí)現(xiàn)了幾何信息與制造信息的集成和分離的對(duì)立統(tǒng)一,將復(fù)雜對(duì)象、層次結(jié)構(gòu)及動(dòng)態(tài)的數(shù)據(jù)結(jié)構(gòu)" title="數(shù)據(jù)結(jié)構(gòu)">數(shù)據(jù)結(jié)構(gòu)用相對(duì)簡(jiǎn)單且組織嚴(yán)密的方式組織起來(lái)。

  關(guān)鍵詞: 數(shù)據(jù)模型? 面向?qū)ο蠊こ棠0? 冷沖模

?

  隨著計(jì)算機(jī)輔助設(shè)計(jì)(CAD)的迅速發(fā)展,集成化CAD系統(tǒng)的研制與開發(fā)成為當(dāng)今計(jì)算機(jī)集成制造系統(tǒng)(CIMS)環(huán)境下CAD的發(fā)展方向。產(chǎn)品的設(shè)計(jì)制造過(guò)程實(shí)質(zhì)是對(duì)信息的采集、傳遞、加工和處理過(guò)程,其本質(zhì)體現(xiàn)在以信息集成為特征的技術(shù)集成和人的集成兩方面[1]。信息集成是指將CAD/CAM/CIMS工程設(shè)計(jì)中涉及的數(shù)據(jù)和信息(尤其是圖形數(shù)據(jù)、結(jié)構(gòu)化" title="結(jié)構(gòu)化">結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化非圖形信息)集中起來(lái)管理。由于工程設(shè)計(jì)過(guò)程的特殊性,設(shè)計(jì)過(guò)程是一個(gè)不斷反復(fù)、試探、選擇、完善的過(guò)程,會(huì)面臨大量需要組織的設(shè)計(jì)數(shù)據(jù)和試驗(yàn)數(shù)據(jù);同時(shí)還會(huì)因?yàn)橥辉O(shè)計(jì)對(duì)象的多個(gè)版本而產(chǎn)生大量的重復(fù)數(shù)據(jù),這些都給數(shù)據(jù)組織帶來(lái)了很大的困難。因此如何及時(shí)、有效地組織和管理工程數(shù)據(jù)成為工程設(shè)計(jì)人員" title="設(shè)計(jì)人員">設(shè)計(jì)人員迫切需要解決的問(wèn)題。

  傳統(tǒng)的數(shù)據(jù)模型工程設(shè)計(jì)中沒(méi)有足夠的能力表達(dá)工程數(shù)據(jù)的全部語(yǔ)義結(jié)構(gòu),表達(dá)工程數(shù)據(jù)的數(shù)據(jù)模型應(yīng)當(dāng)具有以下幾個(gè)方面的特性:

  ·隨著工程設(shè)計(jì)的逐步深入,設(shè)計(jì)人員能夠定義新的數(shù)據(jù)類別,并對(duì)已有的數(shù)據(jù)類別進(jìn)行改進(jìn)和重新定義;

  ·可以允許定義靜態(tài)和動(dòng)態(tài)的數(shù)據(jù)種類,靜態(tài)實(shí)體屬于設(shè)計(jì)環(huán)境的一部分,可用它創(chuàng)建表示設(shè)計(jì)對(duì)象的動(dòng)態(tài)實(shí)體;

  ·在提供基本數(shù)據(jù)結(jié)構(gòu)的同時(shí),可以建立設(shè)計(jì)中數(shù)據(jù)結(jié)構(gòu)的抽象數(shù)據(jù)類型;

  ·提供描述復(fù)雜對(duì)象的數(shù)據(jù)描述標(biāo)準(zhǔn)框架,使得不同的設(shè)計(jì)者從不同的角度描述同一設(shè)計(jì)對(duì)象時(shí),它們的視圖是相關(guān)的;

  ·在數(shù)據(jù)模型里可以按照一定的格式描述任意一個(gè)產(chǎn)品設(shè)計(jì)信息及其語(yǔ)義信息,滿足設(shè)計(jì)要求;

  ·滿足設(shè)計(jì)和生產(chǎn)要求的一切產(chǎn)品都能為數(shù)據(jù)模型所描述。

1 面向?qū)ο笈c模板

  模板的基本思想是從一組相似的事物中抽象出一種框架型的模式,任何一個(gè)類似的事物都可作為以模板為超類派生的實(shí)例[2]。將模板概念引入到工程CAD領(lǐng)域,這與工程CAD領(lǐng)域的設(shè)計(jì)特色有密切的關(guān)系。工程設(shè)計(jì)是設(shè)計(jì)人員具有創(chuàng)造性的思維活動(dòng),其特點(diǎn)具體表現(xiàn)在創(chuàng)造性、變異性、模式重復(fù)性、繪圖工作量大[3]等方面。采用工程模板的設(shè)計(jì)思想使設(shè)計(jì)人員在設(shè)計(jì)的不同階段都能按照自己的要求進(jìn)行操作;而面向?qū)ο竽P涂梢悦枋龊軓?fù)雜的事物,并能在統(tǒng)一概念化的基礎(chǔ)上處理有關(guān)數(shù)據(jù)[4]。因而把對(duì)面向?qū)ο竽P偷难芯亢蛯?duì)工程模板設(shè)計(jì)理論與方法學(xué)的研究結(jié)合起來(lái)設(shè)計(jì)面向?qū)ο蠊こ棠0?使產(chǎn)品數(shù)據(jù)信息模型可以從更本質(zhì)的基礎(chǔ)上建立起來(lái)。

  模板的應(yīng)用很廣泛,如在程序設(shè)計(jì)語(yǔ)言中(如VC++)引入了面向?qū)ο箢?函數(shù))模板用于支持程序設(shè)計(jì)的參數(shù)化、多態(tài)性。模板函數(shù)可以使某個(gè)類型范圍之內(nèi)的各種類型的對(duì)象達(dá)到一些相同或相似的功能,但這種類型要求參數(shù)個(gè)數(shù)相同,因而函數(shù)模板適用于函數(shù)名相同、算法相同、參數(shù)個(gè)數(shù)相同,只是類型不同的問(wèn)題[5]。與面向?qū)ο箢?函數(shù))模板相比,面向?qū)ο蠊こ棠0逵幸韵绿攸c(diǎn):

  ·描述數(shù)據(jù)的結(jié)構(gòu)信息采用半結(jié)構(gòu)化數(shù)據(jù)模式,不是對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行強(qiáng)制性的約束;

  ·可以利用工程模板的嵌套、層次結(jié)構(gòu)描述具有復(fù)雜語(yǔ)義的數(shù)據(jù)類型;

  ·數(shù)據(jù)模式的自描述性;

  ·可以支持產(chǎn)品全生命周期的信息建模。

2 面向?qū)ο蠊こ棠0宥x

?????? 定義1:TEMPLATE::=,其中:ID是模板的唯一標(biāo)識(shí),VERSION是工程設(shè)計(jì)的版本號(hào),OBJECTSET是對(duì)設(shè)計(jì)中的對(duì)象類集的描述,RULESET是對(duì)象之間的約束信息的定義描述,ASSEMBLY是零件裝配信息的描述,ARRANGESET描述對(duì)象之間的上下、左右相互間的位置信息,STORAGE將對(duì)象類集中對(duì)象進(jìn)行存儲(chǔ)。

  定義2:OBJECTSET::=[,,,,,],其中:NAME是對(duì)象類集中的對(duì)象類的名稱,VERSION是對(duì)象類的版本號(hào),INHERITCLASSNAME是該對(duì)象類超類的名稱,COMPOSEDCLASSNAME是被聚合類的名稱,ATTRIBUTES是對(duì)象類的屬性描述,RULES是對(duì)象類內(nèi)部屬性之間的約束描述;METHODS是對(duì)象類的方法描述。

  定義3:ATTRIBUTES::=[,],其中:ATTRIBUTENAME是屬性名稱,ATTRIBUTETYPE是屬性類型,VALUEEXPRESS是屬性求值表達(dá)式。

  定義4:METHODS::=[,,,],其中:METHODNAME是方法名,METHODATTRIBUTE是方法參數(shù)列表,LIBNAME是方法所屬動(dòng)態(tài)鏈接庫(kù)名稱,METHODIMPLEMENDS是方法內(nèi)部實(shí)現(xiàn)接口定義。

  定義5:RULES::=[,,],其中:KEYWORD為系統(tǒng)定義的關(guān)鍵字,ATTRIBUTE為對(duì)象屬性名,EXPRESSION為屬性求值表達(dá)式。

  定義6:ASSEMBLY::=[,,,],其中:KEYWORD為系統(tǒng)定義的關(guān)鍵字,OBJECT1、OBJECT2是對(duì)象類的名稱,EXPRESSION是對(duì)象間裝配信息表達(dá)式。

  定義7:ARRANGESET::=[,,,],其中:WAY是位置排列信息,XPOINT是距離中心點(diǎn)" title="中心點(diǎn)">中心點(diǎn)的X坐標(biāo),YPOINT是距離中心點(diǎn)的Y坐標(biāo),ZPOINT是距離中心點(diǎn)的Z坐標(biāo)。?????????

  定義8:STORAGE::=[,,],其中:CLASSTBLNAME是類表名,CLASSFLDNAMES是表中的各類對(duì)象的名稱,VERSION是版本信息。

  面向?qū)ο蠊こ棠0逋ㄟ^(guò)一組定義表示一個(gè)復(fù)雜的數(shù)據(jù)類型,它描述的是一種抽象數(shù)據(jù)類型。應(yīng)用抽象數(shù)據(jù)的概念可以從概念的高度,把握事務(wù)之間內(nèi)在的、實(shí)質(zhì)性聯(lián)系。面向?qū)ο蠓椒ㄟM(jìn)一步發(fā)展了抽象數(shù)據(jù)概念,引入了能把有關(guān)事物進(jìn)行分類、組織成層次的概括(Generalization)機(jī)制和把有關(guān)對(duì)象歸并在一起的聚集(Aggregation)機(jī)制。

  面向?qū)ο蠊こ棠0迥P途哂谐浞值娜嵝院涂蓴U(kuò)充性。在建模時(shí),利用類的封裝性、繼承性和多態(tài)性[6],采用面向?qū)ο蟮淖陨隙?、從概念抽象開始、逐步細(xì)化的方法。每個(gè)對(duì)象可以按照概括(G-關(guān)聯(lián))關(guān)系展開,深入分析,建立下層對(duì)象之間的聯(lián)系。

由于工程設(shè)計(jì)的特殊性,在工程設(shè)計(jì)過(guò)程中,不僅要考慮產(chǎn)品的幾何信息和制造信息,如零部件屬性、零部件之間的各種裝配位置關(guān)系、約束條件等,同時(shí)還應(yīng)當(dāng)從面向?qū)ο蟮乃枷肟紤]一個(gè)零件對(duì)象應(yīng)有的一些方法。例如對(duì)于鏈接件對(duì)象,它應(yīng)當(dāng)有可以將另幾個(gè)對(duì)象鏈接在一起的方法。這些方法都應(yīng)當(dāng)封裝在零件內(nèi)部,提供給外界一個(gè)接口。對(duì)于一個(gè)類,將它的所有實(shí)現(xiàn)方法放在一個(gè)DLL中,形成一個(gè)方法庫(kù),把該類的方法庫(kù)與每一個(gè)方法的源代碼均當(dāng)作非結(jié)構(gòu)化數(shù)據(jù)交給工程數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行存儲(chǔ)。

3 面向?qū)ο蠊こ棠0鍛?yīng)用

  以冷沖模CAD設(shè)計(jì)為例,用面向?qū)ο竽0褰M織模具設(shè)計(jì)中的各種工程設(shè)計(jì)信息,設(shè)計(jì)信息的面向?qū)ο蠊こ棠0鍞?shù)據(jù)模型如圖1所示。冷沖模是由模架、沖頭、鏈接件、凹模、墊板等元件組成。在面向?qū)ο蠊こ棠0迥P椭?不僅表示元件特征信息,而且描述了元件的位置分布關(guān)系、連接關(guān)系、操作關(guān)系等語(yǔ)義信息,明確地表示了元件之間的關(guān)聯(lián)信息。其中G-關(guān)聯(lián)(Generalization)用IS-A表示,A-關(guān)聯(lián)(Aggregation)用A表示。圖1中顯示的是零件聚集關(guān)系的展開,既可以在一類對(duì)象的共性上對(duì)其進(jìn)行分析和處理,也可以對(duì)其中的某個(gè)具體對(duì)象的個(gè)性進(jìn)行分析和處理。從數(shù)據(jù)模式中可以看出,從設(shè)計(jì)活動(dòng)一開始,面向?qū)ο竽0寰徒⒘嗽O(shè)計(jì)和制造活動(dòng)的有機(jī)聯(lián)系,實(shí)現(xiàn)了幾何信息與制造信息的集成和分離的對(duì)立統(tǒng)一。

?

?

  面向?qū)ο蠊こ棠0鍞?shù)據(jù)模型采用面向?qū)ο蠹夹g(shù)定義模板的組織結(jié)構(gòu),利用定義的模板描述語(yǔ)言(TDL)進(jìn)行工程設(shè)計(jì),一方面有效地組織工程設(shè)計(jì)中的各種數(shù)據(jù),另一方面能夠很好地模擬工程中的復(fù)雜對(duì)象,能表示其層次結(jié)構(gòu),支持動(dòng)態(tài)的數(shù)據(jù)結(jié)構(gòu),在設(shè)計(jì)對(duì)象這一較高層次上進(jìn)行管理。由于考慮了產(chǎn)品的設(shè)計(jì)工藝、制造工藝以及約束條件等信息,將設(shè)計(jì)中的各種信息、數(shù)據(jù)集成在面向?qū)ο蠊こ棠0逯?從而使得設(shè)計(jì)人員在進(jìn)行初期的功能設(shè)計(jì)和裝配設(shè)計(jì)時(shí)就能保證產(chǎn)品設(shè)計(jì)的可行性及合理性,并及時(shí)發(fā)現(xiàn)設(shè)計(jì)中存在的各種問(wèn)題;在設(shè)計(jì)結(jié)束階段形成了以模板的版本號(hào)為根目錄的整個(gè)產(chǎn)品的工程數(shù)據(jù),在試驗(yàn)中取得了良好的應(yīng)用效果。

  下面給出一個(gè)模板整體框架,主要以注釋方式給出模板含義的解釋。

  // 對(duì)象列表;

 ?   begin of object:

?????? ? inherit:

????????????? basebox:shangdianban,gudinban,

????????????? aomo:aomo,

????????????? chongtou:chongtou,

???????????????????? ……

????????????? part:

???????? upmojia:shangmojia,daozhu,??????????? //上模座由上模架和導(dǎo)柱組成

???????????????????? ……

???????? end of object

?????// 對(duì)象屬性集合段;

???   begin of attribute:

??????? default mobin.d 50?? ?? //模柄直徑的默認(rèn)值為50

?????? ? table luodin3.d mobin d3? d=mobin.d

????????????????????????????????????????? ? //螺釘3的d為模柄中的d3字段,條件為模柄d

???????? ……

  end of attribute

??? // 位置約束段;

??   begin of positon

????  luodin1 1, 95,45?? //以第一種方式排列距中心點(diǎn)x 坐標(biāo)95,y坐標(biāo)45

????  daohuald1 3, 30,0? //以第三種方式排列距中心點(diǎn)x 坐標(biāo)30,y坐標(biāo)0

????????????????????????????????????????????????

???????……

???????end of position

  // 裝配約束段;

?????? begin of assemble

? ??  ? luodin:luodin1 (shangmojia,shangdianban,gudinban)

????????????????????????????????????????? //表示螺釘1連接上模座、上墊板和固定板

??????????   ……

?????? ? end of assemble

????????????? ……

  //產(chǎn)品設(shè)計(jì)描述、版本等信息描述段;

????? begin of describe

???????? name:luoliaomo

????????????? version:1.1.1

????????????? designer:wangjun

????????????? designdate:2002-05-25

???????? ……

  end of describe

  本文通過(guò)面向?qū)ο蠊こ棠0褰?shù)據(jù)模型可以使設(shè)計(jì)人員節(jié)省大量的時(shí)間、減少工作量、統(tǒng)一設(shè)計(jì)風(fēng)格、設(shè)計(jì)標(biāo)準(zhǔn)化、確保效果與效率;同時(shí)建立了設(shè)計(jì)和制造過(guò)程中產(chǎn)品數(shù)據(jù)的統(tǒng)一模型,并在此基礎(chǔ)上建立面向?qū)ο蠊こ虜?shù)據(jù)庫(kù)處理的工程數(shù)據(jù)。設(shè)計(jì)人員可以通過(guò)面向?qū)ο蠊こ虜?shù)據(jù)庫(kù)系統(tǒng)對(duì)工程數(shù)據(jù)進(jìn)行及時(shí)、有效的管理。

?

參考文獻(xiàn)

1 宛延凱. 工程數(shù)據(jù)庫(kù)系統(tǒng)[M]. 北京:清華大學(xué)出版社,2000

2 劉曉平,韓江洪.工程CAD中的模板運(yùn)算與性質(zhì)研究[J].系統(tǒng)仿真學(xué)報(bào), 2000;12(6): 592~594

3 劉曉平,田景成,黃永紅.基于模板的工程CAD設(shè)計(jì)方法學(xué)研究. [J]計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),1999;(7):296~297

4 Alfons Kempe, Guido Moerkotte. Object-oriented database?management.Beijing:Tsinghua University Press,1998:423~440

5 Klahold P, Schlageter G, Wilkes W[C]. A general model?for version management in database proceedings of the?ACM SIGMOD Conference on Management of Data. Washington DC: Association for Computing Machinery,1998:319~327

6 嚴(yán)蔚敏,吳偉民. 數(shù)據(jù)結(jié)構(gòu)[M]. 北京:清華大學(xué)出版社,1992

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。