摘要:在對制造企業工藝信息化應用模型的分析與總結的基礎上,提出了CAPP開發平臺的基礎模型和應用模型,建立了以面向對象方法進行模型描述的方法體系,實現了基于模型驅動的系統開發運行機制,并對采用該方法在CAPPFramework系統中實現的關鍵技術進行了論述。
關鍵詞:計算機輔助工藝過程設計; 開發平臺; 面向對象; 模型驅動; CAPPFramework
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2007)08-0072-03
信息化與知識化是制造業的發展趨勢,制造企業需要進行信息、知識的快速分布、獲取、共享和交換。對于制造企業的工藝信息化,基于商品化的CAPP開發平臺進行應用開發已經得到企業的共識,但是由于工藝的復雜性和在應用中的不確定性,開發應用過程中會對應用系統的需求和功能進行調整,這就要求CAPP應用系統應具有良好的RRS(reconfigurable reusable scalable)特性,即可重構性、可重用性和可擴展性。目前,面向建立具有RRS特性的軟件系統,OMG最新的戰略是建立模型驅動體系架構(model driven architecture, MDA),它是更有效地描述復雜系統的需要。因此,CAPP開發平臺需要建立基于模型驅動的系統運行機制,通過建立制造企業的產品模型、工藝模型、工藝業務過程模型、制造資源模型、工藝文件模型、組織管理模型等,實現以演進的模型驅動為核心的系統開發與應用。
1CAPP開發平臺的對象模型驅動機制
實際上,模型和語言都是對系統的描述。傳統的編程語言適合表述順序過程,而模型可以表述復雜結構。通常,模型應具有以下幾個分析要素:
a)模型的時效性。對于系統開發應用而言,模型分為運行期模型和開發期模型。對系統應用而言,運行期模型揭示了系統模型驅動的本質。
b)模型的可進化性。在系統應用過程中,通過應用開發者不斷對模型進行改進,可以持續地適應應用環境與需求的變化。
c)模型的層級性。正如語言有多個層次一樣,模型也具有層次,當系統很復雜時,模型的層次劃分對于系統的設計與開發是非常必要的。
由于CAPP應用系統是典型的開發生命周期較長、分布式的工程應用程序,CAPP應用系統需要基于MVC模式進行應用程序的設計與開發,建立具有柔性并可在運行期間不斷調整的模型,滿足系統具備RRS特性的要求。從CAPP應用系統開發的角度來看,模型不僅包含程序代碼的開發數據模型,更重要的是CAPP應用系統面向應用企業開發的應用數據模型。它是建立CAPP應用系統開放性、擴展性的核心。
CAPP開發平臺的對象模型驅動機制是基于CAPP應用系統開發期模型驅動CAPP應用系統運行期模型的過程。它是一種可進化的模型體系,其時效性貫穿系統的開發期和運行期,它描述的層級是系統中的對象一級。CAPP開發平臺基于對象模型驅動機制如圖1所示。它表示CAPP應用系統的共性。基于CAPP開發平臺面向具體企業開發的CAPP應用系統,其可變性由模型驅動,其專用性是依靠CAPP開發平臺實施配置產生的開發期模型驅動保證的。
為了表示制造企業CAPP應用系統的共性,基于對制造企業工藝信息化的分析,本文建立了面向制造企業工藝信息化領域的基礎模型,即制造企業工藝信息模型(process planning information model,PPIM)。它包括企業的工藝相關業務對象(如產品、零組件、工藝、制造資源、工藝流程等)的基礎模型。PPIM通過確立標準的概念、術語模型,為CAPP應用系統的開發建立共同的協議、標準,以實現工藝信息、工藝知識的交流共享。對于制造企業工藝信息模型,從概念層次可分解為
其中:
a)ProdM(prod model,產品信息模型)。產品的信息描述模型,如產品代號、產品名稱、版次以及產品的裝配關系等。
b)PartM(part model,零件信息模型)。零件的信息描述模型,如零件名稱、零件代號、版次等,以及零件的特征與加工元模型。
c)PPM(process planning model,工藝模型)。工藝的信息描述模型,它面向各專業的工藝設計,定義相關的工藝類型,建立包含工序、工步、零件、產品以及相關制造對象與制造資源間關系的模型。
d)MRM(manufacturing resource model,制造資源模型)。有關制造資源,如設備、工裝、刀具、量具等的信息描述模型。
e)MOM(manufacturing object model,制造對象模型)。有關制造對象,如材料、毛坯等的信息描述模型。
f)PPDM(process planning decision model,工藝決策模型)。基于模型分析的對象類,以對象方法和產生式規則形式定義的工藝決策模型。
g)PCM(process card model,工藝卡片模型)。基于對象模型,對工藝卡片進行的關聯定義模型。
h)PFM(process file model,工藝文件模型)。對工藝文件之間的關系進行定義的模型。
i)WFM(work flow model,工藝流程模型)。包括對工藝文件審批等定義的審批流程模型,以及對工藝分工、工藝文件更改等定義的工作流程模型。
j)OM(organization model,組織模型)。對企業工藝信息化應用系統相關的部門、組織結構等定義的模型。
k)UM(user model,用戶模型)。對企業工藝信息化應用系統相關的用戶、角色及權限定義的模型。
l)FCM(function configuration model,功能配置模型)。對企業工藝信息化應用系統的配置、功能選項等定義的模型。
2CAPP開發平臺的面向對象分析與建模
面向對象(OO)方法是一種運用對象、類、實例以及封裝、繼承等概念來構造軟件系統的一種軟件開發方法,它已是非常成熟的軟件技術。其基本原理是對問題領域進行自然分割,按人類認識客觀世界的思維方式來識別和定義客觀世界中的相關實體(如領域概念、對象、屬性、方法等),是一種直觀、自然、易于理解的概念模型化方法。對于CAPP開發平臺的分析、設計與開發,OO方法在技術的成熟性和技術能力上均可滿足各階段開發的需要。CAPP開發平臺對象模型驅動機制如圖1所示。
2.1CAPP開發平臺與工藝知識庫模型
工藝過程設計與管理所涉及的范圍十分廣泛,其信息量和知識量都相當龐大。在傳統的CAPP應用系統中,工藝知識庫通常是狹義的知識庫,即工藝知識庫中主要存儲推理規則等決策性知識,主要面向系統的工藝決策。CAPP開發平臺的工藝知識庫作為CAPP應用系統的核心,與傳統的工藝知識庫有很大區別。它是廣義的工藝知識庫,應包含企業以對象模型表示的模型知識、以對象實例表示的具體工藝知識和以對象方法表示的決策知識等,為CAPP應用系統的開發、應用和維護服務。
CAPP開發平臺的工藝知識庫的作用可分為兩個層次:
a)為具體企業的CAPP應用系統建立其個性化的對象模型體系,包括產品信息模型、零件信息模型、工藝模型、制造資源模型、工藝決策模型、工藝卡片模型、工藝文件模型、工藝流程模型、組織模型、用戶模型和功能配置模型等,并且在系統應用中不斷維護。
b)基于建立的個性化對象模型體系,對對象模型中與工藝知識相關的對象實例和對象方法進行管理,為工藝人員的工藝設計提供有效支持,如對模型中的典型工藝、典型工序和典型工藝等對象的實例,從而以工藝知識庫代替手工查閱工藝手冊及相關資料,代替手工查閱已設計好的工藝實例;基于工藝決策模型建立的對象方法決策知識,提供相關自動工藝決策功能,輔助工藝人員提高工作效率。
在CAPP開發平臺中,具體的工藝知識和工藝數據都是作為對象模型中對象的實例分別存儲在工藝知識庫和工藝數據庫中。在CAPP開發平臺的應用中,準確、完整的工藝知識庫對象模型的建立是基礎和核心。此外,隨著工藝水平的提高和生產管理模式的改變,企業的應用模型以及外部表現形式、工藝知識等都可能發生變化。這需要做好工藝知識庫的應用維護工作,真正體現工藝知識庫模型的核心作用。
2.2 CAPP開發平臺的對象模型描述
CAPP應用系統的開發通過CAPP開發平臺建立其工藝知識庫,即通過對象建模工具,實現CAPP應用系統的對象模型驅動機制。它是實現CAPP應用系統的RRS特性的基礎和關鍵技術。根據分析的制造企業工藝化基礎模型結構,可采用面向對象技術建立CAPP應用系統的應用模型。CAPP應用系統的應用模型可建立多個視圖(如組織管理視圖、人員視圖、工作流程視圖、文檔視圖、數據視圖),它實現不同視圖之間的集成。在CAPP應用系統的開發過程中,需要不斷地對所建立的應用模型進行分析與優化,從而支持CAPP應用系統漸進式的實施與開發過程。
在CAPP開發平臺中,對象模型驅動是采用面向對象方法分析、描述CAPP應用系統的應用模型,形成能夠正確反映工藝設計與管理過程的對象模型體系。CAPP應用系統的模型采用以對象類為基礎、對象類與產生式規則相結合的面向對象模型表示方式;以對象類描述工藝信息實體的信息結構;以對象實例描述典型的工藝信息;以對象方法和產生式規則形式來描述、組織工藝決策知識和系統配置;以過程控制知識控制系統的決策及配置過程。面向對象的CAPP開發平臺模型表示如下:
對象類::=〈[對象類名稱], [對象屬性],[對象方法], [對象實例]〉
對象類名稱::=字符串
對象屬性::=〈[序號], [屬性名稱], [屬性別名], [屬性值型], [屬性約束], [計算公式], [默認值], [取值方式], [關聯], [屬性類型], [屬性特性]〉
序號::=整型
屬性名稱::=字符串
屬性別名::=字符串
屬性值型::=〈 ‘整型’ | ‘實型’ | [‘字符串型’,[長度]] | ‘文本’ | [‘對象’, [引用對象類名稱]] | [‘對象列表’, [引用對象類名稱]] | ‘邏輯型’〉
長度::=整型
引用對象類名稱::=〈[對象類名稱]〉
屬性約束::=〈[] | [屬性值系列]〉
屬性值系列::=〈[屬性值],[[屬性值]…]〉
計算公式::=〈[] | [算術表達式]〉
默認值::=〈 [] | [屬性值]〉
取值方式::=〈‘自由取值’ | ‘約束取值’ | ‘關聯取值’〉
關聯::=〈‘無關聯’ | [‘單關聯’, [關聯對象屬性名稱]] | [‘多關聯’, [關聯對象屬性名稱系列]]〉
關聯對象屬性名稱系列::=〈[關聯對象屬性名稱], [[關聯對象屬性名稱]…]〉
關聯對象屬性名稱::=〈[屬性名稱]〉
屬性類型::=〈‘外部屬性’ | ‘內部屬性’〉
屬性特性::=〈‘公有屬性’ | ‘私有屬性’〉
對象方法::=〈[方法名稱], [推理方式]〉
對象實例::=〈[對象實例名稱], [對象屬性值系列]〉
對象實例名稱::=字符串
對象屬性值系列::=〈[屬性值], [[屬性值]…]〉
3CAPP開發平臺的基礎模型和應用模型
CAPP開發平臺基于對象模型驅動機制進行CAPP應用系統的開發。CAPP應用系統是以應用模型的建立為核心進行系統的實施、開發和運行。為適應企業應用環境的變化,CAPP應用系統可通過對應用模型的更改,實現對其數據結構、數據流程的相應更改。
1)CAPP開發平臺的基礎模型它
是CAPP應用系統的運行基礎,確立了系統的基本數據關系和運行機制,是企業CAPP系統應用模型建立的基礎。通過對制造企業工藝信息化領域的分析,所建立的概念、術語集合及關系就是CAPP開發平臺的基礎模型。從軟件系統開發的角度可以認為,所謂CAPP開發平臺的基礎模型,就相當于CAPP開發平臺系統內部定義的保留類及關鍵字,它標志了制造企業工藝信息化領域相關實體信息模型的共性,其可變性由實施配置產生。基于對制造企業工藝信息模型的分析,CAPP開發平臺以產品、零件、工藝、工序、工步作為核心對象類,并將制造企業工藝信息化領域所涉及的各種對象劃分為四種基本類型,即制造工藝、制造對象、制造資源和工藝決策,它們構成CAPP開發平臺基礎模型體系,如圖2所示。
2)CAPP開發平臺的應用模型
在CAPP開發平臺的基礎模型的基礎上,對具體企業進行工藝分析,可建立實際企業的工藝信息模型,這就是應用模型。它采用CAPP開發平臺對象模型驅動機制描述具體制造環境的對象實體結構、對象之間的關系及對象的操作等,形成能夠正確反映實際應用的對象模型體系。具體企業CAPP應用系統應用模型的正確建立和維護是CAPP項目實施、應用和開發的關鍵。
4CAPP開發平臺的數據模型
基于CAPP開發平臺的對象模型驅動機制的研究,筆者在國家“863/CIMS”支持的CAPP應用開發平臺——CAPPFramework的開發中,建立了以對象模型驅動為核心的系統運行機制和開發平臺的核心數據模型,涵蓋了CAPPFramework的基礎模型和應用模型。它們分別涉及系統的保留對象類和用戶自定義的對象類。在處理上,CAPPFramework采取一致的數據模型,實現統一的數據處理方式,便于系統的擴充和維護。CAPPFramework的開發采用的是 Visual C++ 6.0 開發工具。這里以CAPPFramework對象層中與對象模型驅動機制建立相關的核心對象類及其關系來說明其數據模型。它是對CAPPFramework面向對象的對象模型驅動機制的數據結構設計與表示。其中:CPPBObj類是CAPPFramework基于對象模型的所有實例對象處理的通用對象類,對應于CAPPFramework的對象層;CKBClass類是CAPPFramework對象模型的通用對象模型類,它對應于CAPPFramework的應用模型層;CKBAttr類是對對象模型的每一個屬性進行描述的對象屬性類,CPPBObj類中對象實例的對象屬性就是根據CKBAttr類的定義而來的。
5結束語
建立模型驅動體系架構的CAPP開發平臺是保證CAPP應用系統快速開發、實施和應用的基礎。基于對象模型驅動機制的CAPP應用系統可以適應工藝的復雜性和在應用中的不確定性,保證系統的RRS特性的實現,并對系統的需求和功能變化進行適應性調整。本文所采用的面向對象建模方法建立的CAPP開發平臺基于對象類、對象方法、產生式規則和過程控制知識為核心的對象模型驅動體系是一種成熟有效的方法,它已在系統CAPPFramework的開發中得到應用和驗證。
參考文獻:
[1]ROBO E D, CHUNG E C, VASSILIADIS C A. An objectoriented knowledgebased system for automating the routing process in a manufacturing environment[J]. Engng Applic Artif Intell, 1994,7(4):407-413.
[2]崔立元,羅燕京,李剛.基于企事業模型的軟件需求工程方法[J].計算機工程與應用,2002,38(7):101103,238.
[3]PRESSMAN R S. 軟件工程——實踐者的研究方法[M]. 黃柏索,譯.北京:機械工業出版社,1999.
[4]鄭人杰,殷人昆.軟件工程概論[M].北京:清華大學出版社,1998.
[5]北京機械工業自動化所.現代設計工程集成技術的軟件接口規范草案[R].2000.
[6]SHAW C, FENG A. Machining process planning activity model for systems integration[R].[S.l.]: National Institute of Standards and Technology, 1996.
[7]TAN Wei.Integration of process planning and scheduling:a review[J].Journal of Intelligent Manufacturing,2000,11(1):51-63.
[8]STEELE J,SON Y J, WYSK R A.Resource modeling for the integration of the manufacturing enterprise[J].Journal of Manufacturing Systems,2001,19(6):407-427.
[9]NOVACEK V.ODAMIL:objectoriented data mining query language[M]// NAVRAT P, UENO H.Knowledgebased Software Enginee ̄ring.[S.l.]:IOS Press,1998:187190.
[10]約瑟夫·蕭塔納.制造企業的產品數據管理:原理、概念、策略[M].祁國寧,譯.北京:機械工業出版社,2000.
[11]周杰韓,熊光楞,楊叔子.知識型制造業和制造元框架[J].現代制造工程,2002,6(6):5-8.
[12]RODGERS P A, CALDWELL N H M, CLARKSON P J.Managing knowledge in dispersed design companies:facilitating contextdriven design support through multiple perspectives[C]//Proc of the 6th Intemational Conference on Artificial Intelligence in Design. Massachusetts:Worcester Polytechnic Institute,2000:147167 .
[13]SUN Yuquan,GAO Zhan,XUE Jinsong.How to determine objects in objectoriented analyzing and designing modeling process of CIMS[C]//Proc of International Conference on Advanced Manufacturing Technology.1999:437-440.
[14]JORMAZ D N,KHOSHNEVIS B. Process planning knowledge representation using an objectoriented data model[J].International Journal of Computer Integrated Manufacturing,1997,10(1-4):92104.
[15]吳明輝,應晶,何志均.基于構件的框架式開發方法及其重用庫系統[J].計算機工程與應用,2000,36(9):93-94.
[16]MOLINA M, SIERRA J L, CUENA J.Reusable knowledgebased components for building software applications:a knowledge modeling approach[J].International Journal of Software Engineering and Knowledge Engineering,1999,9(3):297-317.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”