安 晶,陽 程,李青祝
(鹽城工學院 優(yōu)集學院,鹽城 224051 )
信息化已成為企業(yè)生存的關(guān)鍵,各種不同的PDM/PLM系統(tǒng)得到廣泛應用,目前國外的PDM/PLM系統(tǒng)大都價格昂貴,很多功能并不實用,不適合在一些中小企業(yè)中推廣,針對這種狀況,本文提出一種基于本體的產(chǎn)品結(jié)構(gòu)管理系統(tǒng)的框架模型, 并在系統(tǒng)層面上加以實現(xiàn),該系統(tǒng)已在鹽城某機床廠試用。系統(tǒng)的開發(fā)對提高鹽城地區(qū)中小企業(yè)產(chǎn)品結(jié)構(gòu)管理的效率,節(jié)約企業(yè)的生產(chǎn)成本具有重要意義。
產(chǎn)品數(shù)據(jù)管理(PDM)是以產(chǎn)品為核心,用于管理所有與產(chǎn)品相關(guān)的信息和過程的一種使用技術(shù)。它提供一個企業(yè)數(shù)據(jù)管理的集成框架,是企業(yè)信息化的基礎(chǔ)。作為PDM系統(tǒng)的重要組成部分,產(chǎn)品結(jié)構(gòu)管理以BOM(bi l l of mater ial)信息為其組織核心,把定義最終產(chǎn)品的所有工程數(shù)據(jù)與產(chǎn)品結(jié)構(gòu)關(guān)聯(lián)起來,實現(xiàn)對產(chǎn)品數(shù)據(jù)的有效組織、管理和控制。
本體是通過對于概念、術(shù)語及其相互關(guān)系的規(guī)范化描述,勾畫出某一領(lǐng)域的基本知識體系和描述語言。它屬于人工智能領(lǐng)域中的內(nèi)容理論,研究特定領(lǐng)域知識的對象分類、對象屬性和對象間的關(guān)系,為領(lǐng)域知識的描述提供術(shù)語。
OWL(Web Onto l ogy Language)作為一種本體建模語言,是W3C推薦的語義互聯(lián)網(wǎng)中本體描述語言的標準。針對不同的需求OWL有3個子語言:OWL-Li te、OWL-DL和OWL-Ful l,主要的分類依據(jù)是它們的表達能力。
OWL的基本元素:類、個體和屬性。
OWL規(guī)定,任何東西都是類owl:Thing的一個成員(實例)。因此,任何用戶定義的類都是owl:Thing類的子類。
Jena是惠普公司的一個項目,Jena為應用程序開發(fā)人員提供了一套java接口對本體進行操作。Jena主要由API、SPI組成。用戶編程只需使用API。Jena庫由包來管理,Jena API以接口方式定義??梢哉{(diào)用Jena API,構(gòu)建應用程序,實現(xiàn)RDF,OWL本體進行創(chuàng)建,修改,查詢以及推理操作。其功能包括:讀寫RDF數(shù)據(jù)、本體子系統(tǒng)、推理子系統(tǒng)、本體的持久化存儲、查詢模型等。
Protégé是由美國Stanford大學開發(fā)研制。它使用Java和開放資源作為操作平臺,可自己設(shè)置輸入格式,也可插入插件擴展特殊的功能。它提供一個圖形和交互式的知識本體設(shè)計和基于知識的開發(fā)環(huán)境。Protégé支持以文件或數(shù)據(jù)庫形式存儲知識本體。
參照PDM的國際標準,基于本體的產(chǎn)品結(jié)構(gòu)管理系統(tǒng)為B/S結(jié)構(gòu),其系統(tǒng)結(jié)構(gòu)如圖1。
圖1 體系結(jié)構(gòu)圖
系統(tǒng)結(jié)構(gòu)分為4層:數(shù)據(jù)層、應用層、表示層和客戶端層。數(shù)據(jù)層保存產(chǎn)品數(shù)據(jù)和用戶信息;應用層主要實現(xiàn)系統(tǒng)的功能邏輯,在接受調(diào)用請求后進行邏輯處理,可將處理結(jié)果保存到數(shù)據(jù)層,同樣也可從數(shù)據(jù)層取出數(shù)據(jù),經(jīng)過處理后,發(fā)送給表示層;表示層用來接收客戶端請求,然后調(diào)用應用層的功能模塊進行處理,并把處理結(jié)果返回到客戶端;客戶端層則用來提供應用的Web操作界面。
系統(tǒng)模塊主要包括2部分:用戶功能模塊和領(lǐng)域功能模塊。領(lǐng)域功能模塊的實現(xiàn)以Jena作為本體開發(fā)接口,主要有Item、Master_Form、Dataset、BOMLine、BOMView等類,每個類都有一些簡單屬性。本體模型主要類及類之間的關(guān)系說明如下:
Item(產(chǎn)品條目):表示真實世界中的一個產(chǎn)品、部件或零件對象等。
Master_Form:Form(表格)將各種屬性信息數(shù)據(jù)直接存入關(guān)系型數(shù)據(jù)庫中。Form與Item直接關(guān)聯(lián)。Form的屬性包括圖紙編號、中文名稱、材料、設(shè)計者等。
Dataset:用來管理(存放)應用軟件生成的數(shù)據(jù)(文件)的一種對象。
BOMView:一種具體定義Item(裝配件)信息的數(shù)據(jù)對象,它存放了該Item(裝配件)的裝配結(jié)構(gòu)。BOMView必須依附于It em。
BOMLine:當添加一個零組件到一個裝配件時,就是創(chuàng)建一個從零組件到上級裝配件的裝配關(guān)系,這個裝配關(guān)系的顯示為一個BOMLine。
系統(tǒng)所采用的層次結(jié)構(gòu)為自頂向下法:由某一領(lǐng)域中最大的概念開始,而后再通過添加子類將這些概念細化。Product St ructure Management包括以下幾個主要部分:BOMView、Mas ter_Form、BOMLine、Dataset、Item等,每個類有各自的子類。
在Protégé圖形界面環(huán)境下創(chuàng)建本體模型,系統(tǒng)的類圖如圖2。
圖2 本體模型類層次圖
類定義后,要描述類的屬性之間的內(nèi)在結(jié)構(gòu),其中子類繼承其父類的屬性,還要描述類中的個體成員與其它類之間的關(guān)系 。為了更形象的描述類及其屬性之間的關(guān)系,Protégé中通過Onto-Viz圖形工具顯示本體關(guān)系如圖3。
其中Item的幾個屬性Item_Name、Relat ion_Item_BOMView、Relation_Item_Dataset、Relat ion_Item_Maste_Form、Relat ion_Item_Par t_Class,后4個屬性分別定義Item類與BOMView、Dataset、Maste_Form、Par t_Class等類之間的關(guān)系。
圖3 類與屬性關(guān)系圖
本體模型完成后,可以用XML導出模型。以Dataset_Reference、Dataset_Tool、Dataset_Type和Dataset_Volume等。
系統(tǒng)實現(xiàn)所需功能模塊包括登陸、注冊、本體實例操作模塊等。
主要的類及其關(guān)系如圖4。JenaAct ion.java和JenaAc t ionForm.j ava實現(xiàn)信息的瀏覽和刪除。AddAct ion.java和MFAct ionForm.java實現(xiàn)信息的添加和修改。ClassJena.java用于讀寫本體模型。XML文檔中數(shù)據(jù)集為例,XML部分代碼如下:
圖4 系統(tǒng)主要類及其關(guān)系
rdf:resource="#PDM"/> rdf:ID="Dataset_Reference"> rdf:resource="#Dataset"/> rdf:ID="Dataset_Tool"> rdf:resource="#Dataset"/> rdf:ID="Dataset_Type"> rdf:resource="#Dataset"/> rdf:ID="Dataset_Volume"> rdf:resource="#Dataset"/> 首先定義一個元素的ID:Dataset,Dataset是PDM的一個子類,然后定義Da t a s e t的屬性: 本體模型讀寫功能的實現(xiàn)。 //類初始化和讀取OWL文件、在內(nèi)存中建立本體模型。 public class ClassJena { publ ic OntModel model; ClassJena() { model = Model Factory.createOntologyModel(OntModel Spec.OWL_DL_MEM, nul l); try { Fi le InputSt ream fs = new FileInputSt ream("E:\PDM_Model.owl"); model.read(fs, ""); fs.close(); } catch (IOException e) { System.err.println(e.toString()); } } 基于以上的系統(tǒng)設(shè)計和關(guān)鍵技術(shù)分析,本系統(tǒng)采用Protégé構(gòu)建產(chǎn)品結(jié)構(gòu)管理本體的類、屬性和實例,并將其導出為XML文檔,然后通過Jean本體開發(fā)接口工具包在NetBeans集成開發(fā)環(huán)境中采用JSP、St ruts技術(shù)實現(xiàn)對產(chǎn)品結(jié)構(gòu)的瀏覽、刪除、添加和修改等管理功能。系統(tǒng)采用4層B/S體系結(jié)構(gòu)將復雜的業(yè)務邏輯封裝到應用層,并從數(shù)據(jù)層和表示層分離出來,使系統(tǒng)具有良好的擴展性、開放性和可維護性。 系統(tǒng)開發(fā)環(huán)境:操作系統(tǒng):Windows XP;數(shù)據(jù)庫:MySQL;JSP服務器:Tomca t 6.0;瀏覽器:IE 6.0;開發(fā)工具:本體開發(fā)工具Protégé;本體開發(fā)接口工具包Jean;Net Beans 6.5集成開發(fā)環(huán)境; 以單級圓柱齒輪減速器產(chǎn)品結(jié)構(gòu)為例,如圖5。系統(tǒng)實現(xiàn)如圖6。 圖5 單級圓柱齒輪減速器產(chǎn)品結(jié)構(gòu) 圖6 系統(tǒng)實現(xiàn)主界面 通過參照PDM的國際標準確定系統(tǒng)中產(chǎn)品結(jié)構(gòu)管理模塊的框架結(jié)構(gòu),在Prot-égé中構(gòu)建該領(lǐng)域本體的類、屬性和實例來確立領(lǐng)域本體模型,采用JSP開發(fā)本系統(tǒng)。要實現(xiàn)企業(yè)有效的產(chǎn)品結(jié)構(gòu)管理,還有許多探索性的工作要做,如何更簡便的構(gòu)建產(chǎn)品管理系統(tǒng)中領(lǐng)域本體,如何更好地實現(xiàn)系統(tǒng)領(lǐng)域概念的共享,這些都是未來的研究方向。 [1] 倪益華.基于本體的制造企業(yè)知識集成技術(shù)的研究[D]. 浙江:浙江大學,2005. [2] 胡 建. 產(chǎn)品設(shè)計知識管理關(guān)鍵技術(shù)研究及實現(xiàn)[D]. 南京:南京航空航天大學,2005. [3] 龐士宗,肖平陽,唐家福. 產(chǎn)品數(shù)據(jù)管理(PDM)-現(xiàn)代企業(yè)信息化管理與集成的理想平臺[M]. 北京:機械工業(yè)出版社,2001. [4]陳繼忠. 面向協(xié)同設(shè)計的產(chǎn)品結(jié)構(gòu)與配置管理系統(tǒng)[J]. 清華大學學報(自然科學版),2005,8. [5]尹建偉,王冰冰,陳 剛,等.集團級分布式產(chǎn)品數(shù)據(jù)管理系統(tǒng)的研究與實現(xiàn)[J]. 計算機集成制造系統(tǒng),2005,11.4 系統(tǒng)實現(xiàn)
5 結(jié)束語