0 引言
大規模定制(Mass Customization,MC)的關鍵技術之一是盡可能減少產品的內部多樣化,用大量的標準件和通用件組成個性化的產品。為保證質量和降低成本,要求這些標準件和通用件盡可能由專業化的零件供應商提供。在這種背景下,產生了一種新的需求和協作模式:面向大規模定制的整機企業需要在產品設計時就快速得到各種價廉物美的標準件和通用件的數據;而專業化零件供應商需要讓盡可能多的企業在產品設計時就選用自己生產的零件。為了滿足雙方的需求,在網絡技術的推動下,一種新的系統基于Web的零件庫應運而生。
調查表明,80%的美國工程師希望零件供應商可以通過網絡提供現成的2維或3維計算機輔助設計(Computer Aided Design,CAD)零件文件;60%的受調查者承認他們傾向于選擇提供了此類服務的供應商;在被下載的3維模型文件中,大約80%~90% 的模型被加入到企業用戶的設計方案中,并被購買。
基于Web的零件庫系統是一種專業工程網站,它為零件供應商提供了一個存儲其所生產零件的技術說明文檔及CAD模型的平臺,并對零件的各種信息進行了詳細描述。產品設計人員在工程設計時,能夠通過該網站搜索需要的某些零件,并將得到的CAD文件下載到本地計算機,然后導入到自己的CAD設計軟件中使用。為滿足不同用戶的需求,不僅下載的CAD 文件以多種形式提供,而且提供DXF,JPG,GIF等格式的2維及虛擬現實建模語言(Virtual Reality Modeling Language,VRML)等格式的3維預覽功能。同時,網站還提供許多與零件相關的信息,如材質、型號和制造廠商等。對設計人員來說,可以加快產品設計,提高產品質量;對零件供應商來說,既滿足了客戶的要求,又達到了銷售和宣傳自己產品的目的。
基于Web的零件庫目前在國外已經有商品化的應用,例如,Web2CAD提供了4千多萬個機械零件CAD模型供用戶免費下載。國內零件庫的應用情況不盡如人意,現有的基于Web的零件庫數量不多,而且內容、功能和結構都與國外存在很大差距。
本文對基于Web的零件庫系統的設計與實現等相關問題進行了研究與探討,提出了一種可行的解決方案。
1 基于Web的零件庫的建立
1.1 零件族的構建
在面向MC的產品開發中,新零件的設計是以零件族為基礎的。零件族的建立過程是:對零件的幾何形狀進行相似性分析;在對零件功能、結構進行分析的基礎上,提出能滿足零件族變型要求的CAD模板。零件族可以減少零件種類,簡化零件庫,優化零件結構,而且可以使供應商形成較大的零件批量,取得規模經濟效益,為MC中的產品變型設計和配置設計奠定了良好的基礎。
根據GB/T17645142,零件族層次結構應被組織成一個具有單一繼承關系的樹狀結構(或稱零件樹),按分類層次的高低將零件族分為零件類屬族和零件相似族兩部分。零件類屬族的層次數目不受限制,而零件相似族位于零件族的最底層。
零件相似族是通過事物特性表和幾何圖形模板(即對應的零件相似族CAD模板) 來描述的,如圖1所示。幾何圖形模板描述了零件族的幾何圖形信息和拓撲信息,而零件的尺寸參數、材料和成本等非幾何信息(也是結構化數據)則借助事物特性表來表達。
德國標準化協會(DIN) 為建立CAD標準件庫,發布了標準件和通用件的DIN 4000標準,國際標準化組織(ISO)以此為基礎,制定了一個關于計算機可解釋的零件庫數據表達和交換的國際標準——ISO13584。目前,在零件庫的建立中還沒有解決的問題是:不同企業所建立的零件族間存在相似性,但在零件庫中并沒有很好地反映出來,零件庫的有序化程度較低,因而在搜索某種零件族時,不僅查詢工作量很大,難以查全,也不利于企業間進一步合作。
1.2 基于事物特性表的零件描述
事物特性指表征產品(包括部件和零件)幾何特性、功能特性和制造特性的信息集合。事物特性表是為建立零部件的數據庫而采用表格形式對零部件進行特性描述的ASCII文件。目前,基于事物特性表描述的零件主要以數據表的形式保存于數據庫中,稱為事物特性一覽表。
當完成創建零件相似族節點后,需要定義其事物特性表。創建零件相似族事物特性表時應該仔細分析零件的特性,以標準化、系列化和模塊化的原則為指導。事物特性表所描述的內容應該是使用最頻繁、最重要的特性,而不是所有特性。
1.3 基于語義特征的零件描述
以事物特性表的形式描述零件還不足以充分表達零件各方面的特征,特別是一些功能和工藝上的特征。因此,筆者以零件分類編碼系統JLBM-1為基礎,將語義編碼、層次結構的柔性編碼等結合進去,創建了一種新的零件特征描述方法,稱為零件語義特征描述。使用針對零件功能和結構的語義特征關鍵詞組合來描述零件,特別適合于描述企業中的非標準件。
圖2為基于語義特征的零件描述示意圖,該圖利用零件功能和結構的語義特征關鍵詞的組合來說明零件族的特點。這種描述方式可以與基于事物特性表的零件描述互為補充。
1.4 基于本體的零件描述
概念是人類在認識世界的過程中,對某個事物進行抽象和歸納后形成的理解,是人的頭腦中的抽象認知。而本體是對概念、概念之間關系的明確的規范化描述。本體的作用主要體現在信息檢索和知識共享等領域。用本體描述對象的重要意義在于“本體消除了對象描述的歧義”,使得諸多表達方式可以通過本體達到概念上的一致。
在Web零件庫中,每個企業自成體系地分別構建本企業的零件類屬族和零件相似族。由于企業中命名體系或標準的多樣化,導致了零件族名稱和結構的混亂。如圖3所示,墊圈有多種叫法。本文將這種現象稱為“概念的多種表稱”。
在開放、自組織的Web零件庫中,統一零件族結構和名稱顯然是不現實的。本文引入“關聯本體”的概念來解決這個問題。所謂關聯本體就是在零件族定義中,與某個零件族節點表達相同概念、具有不同名稱的本體。以圖3為例,將墊片作為本體表達的標簽,那么墊圈、瓦絲等則為關聯本體。由于本體可以明確概念之間的關系,關聯本體與本體進行關聯,即使不同企業的零件族結構有所不同,也不會影響本體庫中的概念關系。
因此,在Web零件庫中應用本體和關聯本體的概念,能夠部分地解決ISO 13584想要解決企業零件族統一描述的問題,可以大大提高根據零件族名稱進行檢索的查全率,有助于零件標準化。由于本體描述了概念之間的關系,如果引入本體推理引擎,還可以進行上下位推理和關聯推理等。
2 Web零件庫的總體設計
Web零件庫(WebParts Library,簡稱WebParts)是筆者開發的基于Web的零件庫系統,其主要構成如圖4所示。
圖 Web零件庫的主要構成
(1)零件庫管理系統 通過零件庫管理系統,供應商可以管理本企業的零件族,定義并編輯零件事物特性表,管理零件事物特性一覽表,給定零件族的語義特征描述等。
(2)零件信息庫與供應商信息庫 零件信息庫主要存放零件的各種結構化信息,如零件名稱和材料等;供應商信息庫中包括企業的登錄帳號、聯系人和電話等。這兩個信息庫實際上位于同一個數據庫中。
(3)零件相似族CAD文件/圖形庫 該庫實質上是零件相似族對應的零件CAD模型及2維示意圖在服務器硬盤上的集合。同時,供應商可以上傳WRL格式的零件文件,這樣,普通用戶就可以利用VRML插件直接在瀏覽器中進行旋轉、放大和縮小等瀏覽操作。
(4)零件CAD文件庫 具體的零件對應為零件族事物特性一覽表中的某一行數據,企業可以下載其對應的CAD文件,該CAD文件并不需要支持參數化,其尺寸一般已經限定。
(5)信息發布平臺 供應商和普通用戶可以分別在此發布某些特殊零件的供需信息。
(6)信息搜索引擎 支持Web零件庫中的查詢服務,可以支持基于本體的檢索。
(7)零件本體庫 本體庫是零件本體及其關系的集合,還包括關聯本體庫。
利用層次結構模型來描述Web零件庫,主要包括界面層、頁面服務器、業務邏輯層和數據層4個層次(如圖5)。
圖 Web零件庫的體系結構
3 零件本體的應用
企業零件族中的零件相似族相當于本體,則以事物特性表進行描述的具體零件為對應的實例。
3.1 本體建模工具和操作語言的選擇
根據對不同本體描述語言的支持,也可以簡單地將本體開發工具分為基于人工智能(Aritificial Intelligence,AI)的本體開發工具和基于Web的本體開發工具兩種。基于AI的本體開發工具包括Onto lingua和OntoSaurus等,基于Web的本體開發工具包括 Protégé和OntoEdit等。Protégé是一個開放源代碼工具,完全用Java實現。它實現了可視化本體編輯;支持多重集成,并能對數據進行一致性檢查;具有很強的可擴展性;輸出格式靈活多樣,包括可擴展標記語言(eXtensible Markup Language,XML)、資源描述框架(模式)(Description Framework(Schema),RDF(S))、OIL(ontology interface layer)、美國國防部高級研究計劃局Agent標記語言(DARPA Agent Markup Language,DAML)、DAML+OIL和Web本體描述語言(Web Onto logy Language,OWL)等;支持數據庫存儲本體和實例。Protégé基本上成為國內外眾多本體研究機構的首選工具。事實上,目前幾乎所有國外開發的本體建模工具都不支持中文本體,而選擇開放源代碼的Protégé有利于解決該問題。
Protégé適用于可視化創建本體,這是建立在Frame基礎上的,但是在具體的工程應用中,并不適合作為本體庫、實例庫動態添加和編輯的工具。WebParts中使用由HP實驗室Semantic Group開發的Jena對基于RDF(S)、DAML+OIL和OWL的本體進行操作。Jena實際上是一組Java應用程序接口(Application Programming Interface,API),能夠用來創建和操縱本體對象。Jena用對象類來表示圖、resource、property和literal,用于表達后三者的接口分別叫做Resource,Property和Literal,而圖被表示為一個model。Jena也是開放源代碼的。
ISO于2004年2月正式推薦OWL來描述本體。OWL具有3個子語言——OWL Lite,OWLDL和OWL Full。前者分別為后者的子集,OWLDL可以支持推理。WebParts使用OWL Full來表達本體和關聯本體。Protégé和Jena 都支持OWL描述的本體。
3.2 零件本體庫的構建
首先使用Protégé建立一個零件初始本體庫,以OWL文件保存本體。本體庫具有良好的開放性,在后續階段可以使用Jena API來讀寫本體庫。
為了降低本體庫建立的工作量和難度,零件本體僅描述零件的名稱和簡介,不對零件族提供關于功能、結構特征的本體描述,因此對于企業通用件僅建立一個通用件的大類。
3.3 零件關聯本體庫的實現和本體庫的擴展
零件關聯本體庫的構造和零件本體庫的擴展是在Web零件庫的應用中逐步實現的。
企業創建通用零件族時,輸入零件族節點的名稱和說明,然后根據需要進行零件族節點的語義特征描述。
3.4 基于本體的零件檢索
使用本體的目的是提高檢索的查全率,實現多種推理檢索。WebParts中的零件檢索并不是針對具體的零件實例,而是針對零件族的。
傳統的查詢以關鍵詞匹配和布爾查詢為主,無法實現同義概念(螺母、螺帽)、上下位概念(螺釘、內六角螺釘)的檢索,因而在WebParts中,提出多層次的檢索模型。
(1)零件語義特征匹配 根據零件的功能結構特征關鍵詞組合進行匹配查詢,得到滿足匹配條件的零件族本體關鍵詞。
(2)語義檢索 采用基于本體的語義檢索方式,能檢索出與用戶查詢中所表達的具有同義、上下位等語義關系的實例信息。語義檢索包括4個方面:①同義擴展檢索。如第1.4節所述,表達同一概念的零件族節點可能有多種名稱表達方式,分別為本體和關聯本體,同義擴展將有關本體的關聯本體檢索出來。②語義蘊涵檢索。本體概念之間存在上下位關系,蘊涵是下位關系。例如,用戶輸入“螺栓”,要求把所有符合條件的六角頭螺栓、內六角螺栓和沉頭螺栓等全列出來。③語義外延檢索。根據蘊涵檢索,輸入“六角頭螺栓”,外延檢索時需要把滿足條件的螺栓列出。④語義聯想檢索。概念的并列關系檢索,例如輸入“螺栓”,檢索“螺釘”,也就是將父節點本體的所有子類本體檢索出來。
(3)精確檢索 即精確匹配,通過前面的檢索過程,可以得到一個本體列表,通過這個本體列表逐一構建對應的零件族的樹,樹的底端是零件相似族,它與零件實例相對應。
在語義檢索中,WebParts的本體推理搜索引擎利用本體讀寫 API(jena ontology API)對以OWL文件格式保存的本體庫和關聯本體庫進行查詢操作。
4 Web零件庫中的關鍵技術
4.1 基于HTTP隧道的對象串行化通訊
在WebParts的客戶端,大量使用Java applet來完成零件樹的生成、事物特性表的定義與編輯,以及零件事物特性一覽表的顯示等功能,服務器則使用Java Servlet,因此WebParts主要的通訊問題存在于applet與Servlet之間。基于幾方面考慮,決定采用基于HTTP隧道的對象串行化通訊方式來實現applet與Servlet之間的數據交換。
(1)基于HTTP隧道的通訊過程
客戶端的applet首先要創建一個到服務器Servlet的HTTP鏈接(URLConnection),基于此打開一個輸出流DataOutputStream——即建立HTTP通訊隧道,然后將想要傳遞的參數以“?paramName=param Value¶mName2=paramValue2”的形式,通過當前打開的輸出流傳遞到服務器Servlet上。Servlet解析出來自客戶端的請求參數,執行相應的邏輯操作,將結果以序列化了的對象形式,通過基于HTTP隧道的輸入流DataInputStream返回到客戶端。通訊過程中,打開了的HTTP隧道將一直保持到通訊結束后才關閉。
(2)服務器通訊字典
客戶端傳遞參數是以”url?“的形式進行的,理論上可以傳遞多個參數/值對。在 WebParts中規定只傳遞兩個參數/值對“第一個參數表達需要執行的操作類型,即作為操作標志;第二個參數為具體內容,也可為空。因此,服務器需要建立一個通訊字典,根據來自客戶端的參數執行相應的邏輯操作,以flag和contentString分別標志第一參數和第二個參數的值。WebParts服務器中的通訊字典部分內容如表1所示。
表1 WebParts服務器通訊字典部分內容
4.2 數據緩存
為了提高系統的速度,降低服務器的響應壓力,在Web服務器啟動時,WebParts將大量常用數據加載到內存中,客戶通過網絡請求所需數據時,服務器不再檢索數據庫,而直接從內存中提取并返回給客戶端。
例如,WebParts系統中零件樹是從數據庫提取數據動態生成的,這個過程比較耗時。服務器以Hashtable的形式保存各種零件樹數據。用戶瀏覽某個企業的零件樹時,客戶端通過HTTP通訊隧道向服務器發送企業ID,服務器Servlet直接從Hashtable中獲取并返回。另一方面,通過查詢零件關鍵詞直接生成零件樹,企業用結構化查詢語言(Structured Query Language,SQL)為關鍵詞保存查詢結果,第二次查詢時可以直接利用以往的查詢結果,不需要再進行復雜的數據庫查詢操作。
5 系統實現案例
WebParts采用Java語言開發,Web服務器采用開放源代碼的Tomcat,這樣能夠很好地集成Protégé和Jena。
(1)零件族、事物特性表的創建與編輯
以標準件族為例,系統管理員在零件領域專家的指導下可以通過Web頁面建立標準件族,可以為零件類屬族定義事物特性表,下層節點定義事物特性表時將自動繼承父節點的事物特性,對于創建好的事物特性表還可以進行編輯。
在零件族的構建過程中,根據當前節點的屬性給出不同的右鍵菜單,定義了事物特性表的節點新增“編輯事物特性表”、“添加零件”和“上傳零件族圖片”等菜單欄。
零件事物特性表“entSM L96”對應的是標準件中的單列角接觸球軸承。
(2)查詢零件
圖11顯示了通過企業名稱關鍵詞“軸承”檢索的結果顯示的頁面。點擊“零件相似族2維示意圖”,可以顯示對應的2維圖;點擊零件相似族3維示意圖;,可以瀏覽一個通過VRML顯示的軸承示意,還可進行放大、縮小、旋轉和平移等操作。
6 結束語
Web零件庫是一種基于網絡的支持MC的共享資源庫。Web零件庫能夠通過零件信息的大范圍共享,顯著提高零件的重用程度,整機企業能方便地利用標準件和通用件快速設計和制造出個性化產品;專業化零件供應商能有效地推銷自己的產品,擴大批量,降低成本。
筆者開發的Web零件庫系統(WebParts)的主要特色是:①提供了零件供應商與產品設計師之間信息集成的平臺。②在零件庫中采用事物特性表,使零件信息得到簡化和優化。③系統具有良好的開放性和自組織性。④系統采用了本體、關聯本體和基于語義特征的零件描述的概念,有效地解決了不同企業零件族之間的對應關系,使自組織建立的零件庫有序化,方便了用戶的使用,也為零件的標準化提供了方便。
當然,該系統還存在很多問題,需要在應用中進一步改進和完善,為21世紀的主流生產模式——大規模定制——提供強有力的支持服務。
(審核編輯: Doris)
分享