為了實現(xiàn)模具設(shè)計任務(wù)的自動化管理,結(jié)合模具設(shè)計任務(wù)的特點,提出了基于活動樹的任務(wù)分解模型,該模型能最大程度地避免任務(wù)間沖突的發(fā)生,并且能夠保證模具設(shè)計人員之間模型信息的一致。在此模型的基礎(chǔ)上,結(jié)合業(yè)務(wù)流程管理技術(shù)開發(fā)出了一套模具協(xié)同設(shè)計任務(wù)管理原型系統(tǒng),該系統(tǒng)提高了模具協(xié)同設(shè)計的自動化程度,實現(xiàn)了模具設(shè)計任務(wù)的自動化管理。
1 協(xié)同設(shè)計中的任務(wù)管理
協(xié)同設(shè)計過程具有多用戶、多應(yīng)用、多任務(wù)等特征,在并行模式下,如果任由用戶隨意操作各種層次的信息,則會造成大量沖突的產(chǎn)生,影響協(xié)同設(shè)計的進行。因此必須采用一種有效的任務(wù)分解方法,降低協(xié)同設(shè)計過程中沖突發(fā)生的概率。任務(wù)分解完成之后,需將任務(wù)分配給設(shè)計人員,m時還必須實現(xiàn)設(shè)計人員之間的信息同步,保證設(shè)計人員之間的所見即所得。
1.1低耦合的任務(wù)分解方法
計算機支持的協(xié)同工作是多人圍繞共同目標(biāo)所進行的相關(guān)活動。對協(xié)同設(shè)計而言,產(chǎn)品就是協(xié)同群體的共同目標(biāo)。而產(chǎn)品信息是在設(shè)計活動中不斷累積的。因此,沖突避免實際是要避免設(shè)計活動中設(shè)計人員問存在的沖突行為。為此,作者提出的活動樹模型,如圖1所示。模型可分為任務(wù)層和零件層。任務(wù)層是將產(chǎn)品的設(shè)計細分為具于低耦合性的一系列設(shè)計任務(wù),構(gòu)成一棵任務(wù)樹,位于樹的最低端的任務(wù)被稱之為原了任務(wù)。零件層則是產(chǎn)品的各零部件cad模型。任務(wù)層中的原子任務(wù)直接與零件層的零部件模型連結(jié)。由于具有相同父節(jié)點分支上的任務(wù)具有相對獨立性,而不同分支任務(wù)反映了零部件在整個裝配模型中的層次,因此,與分支任務(wù)相聯(lián)結(jié)的零部件cad模型間也就具有低的耦冶性。如此,在并行進行相關(guān)零部件設(shè)計時,發(fā)生沖突的可能性大為降低。將不同的任務(wù)賦予不同的人員或角色,即可達到在產(chǎn)品信息層面上的信息同步。
1.2協(xié)同設(shè)計中的信息同步控制
在模具設(shè)計中,cad模型是最重要的信息,對設(shè)計人員圍繞cad模型反復(fù)進行的并行操作進行控制是實現(xiàn)同步的關(guān)鍵現(xiàn)代cad/cam系統(tǒng)通常以top- down模式進行設(shè)計,即可以先以空的裝配樹形式描述產(chǎn)品的構(gòu)成關(guān)系,而后進行不同零部件的詳細設(shè)計。因此,以裝配樹為關(guān)節(jié),可以實現(xiàn)設(shè)計人員與設(shè)計任務(wù)的綁定。設(shè)計信息綁定過程。
首先由項目負責(zé)人對模具設(shè)計過程進行定義,將模具設(shè)計分解為若干子任務(wù),根據(jù)了任務(wù)間的關(guān)聯(lián)關(guān)系,建立模具產(chǎn)品裝配討。然后,根據(jù)任務(wù)的知識特性,將之分配給不同的設(shè)計人員進行詳細設(shè)計(這些上程師來自不同知識領(lǐng)域和層次,具有不同權(quán)限的信息操作能力),直躉完成整副模具沒汁。
在設(shè)計過程中,項目管理人員將不同的任務(wù)分給不同的設(shè)計人員,不同的設(shè)計人員即在不同的裝配節(jié)點下進行各自的工作,對該節(jié)點下的幾何模型擁有完全控制的能力,但對其他節(jié)點下的幾何模型,只有瀏覽的權(quán)限。由于設(shè)計人員的設(shè)計模型保存在不同的裝配節(jié)點下,并不會因為保存各自的設(shè)計結(jié)果而產(chǎn)生并發(fā)沖突。因而也就實現(xiàn)了模型信息的同步,并達到了沖突避免的目的。這樣,任務(wù)與模具產(chǎn)品的結(jié)合,為設(shè)計過程的協(xié)同控制提供了渠道,而設(shè)計人員與模具產(chǎn)品的結(jié)合,為設(shè)計人員的協(xié)同管理提供了渠道。如此,很好地實現(xiàn)了模具協(xié)同設(shè)計過程中的模型同步控制。以級進模為例,在模具設(shè)計開始前,根據(jù)客戶的需求和模具的特點定義,模具產(chǎn)品的裝配樹結(jié)構(gòu)。不同的裝配節(jié)點代表不同的功能部分,而不同的設(shè)計仟務(wù)則依附在不同的裝配節(jié)點上。一旦裝配樹確定,則作為當(dāng)前項目的統(tǒng)一模板存放于服務(wù)器,共享給項目所屬設(shè)計人員。各設(shè)計人員通過ftp服務(wù)器下載整個裝配樹,在本地工作空間中完成自己的沒汁任務(wù)。如裝配樹中blank節(jié)點用了存放鈑金件展開成為毛坯狀態(tài)的幾何模型。同時,它也對應(yīng)于任務(wù)中的“毛坯展開”項,并由具有毛坯展開經(jīng)驗的模具設(shè)計人員承擔(dān)。當(dāng)設(shè)計人員完成自己的設(shè)計任務(wù)時,將裝配樹中的“毛坯展開”節(jié)點文件上傳到ftp服務(wù)器上即可,同時發(fā)送消息給其他設(shè)計人員,其他設(shè)計人員可以通過同步工具實時地瀏覽“毛坯展開”結(jié)果或下載“毛坯展開”節(jié)點所對應(yīng)的模型文件。
2 基于soa的模具設(shè)計業(yè)務(wù)流程管理
業(yè)務(wù)流程是針對工作中具有固定程序的常規(guī)活動而提出的-個概念。通過將工作活動分解成定義良好的任務(wù)、角色、規(guī)則和過程來進行執(zhí)行和監(jiān)控,達到提高生產(chǎn)組織水平和工作效率的目的。業(yè)務(wù)流程管理技術(shù)為企業(yè)更好地實現(xiàn)經(jīng)營目標(biāo)提供了先進的手段。通過上一小節(jié)對模具設(shè)計任務(wù)管理的分析,不難發(fā)現(xiàn),一副模具的設(shè)計流程,其實質(zhì)是由多個設(shè)計子任務(wù)組合而成的業(yè)務(wù)流程。因此,業(yè)務(wù)流程管理的特點天然地滿足了模具設(shè)計任務(wù)管理系統(tǒng)的需要。同時,將soa的思想引入其中,將系統(tǒng)中各功能模塊用web服務(wù)進行封裝,不但可以無縫地集成應(yīng)用,而且可使系統(tǒng)結(jié)構(gòu)靈活、部署方便。
2.1基于soa思想設(shè)計系統(tǒng)
soa是一種基于網(wǎng)絡(luò)、松耦合、多應(yīng)用集成的技術(shù)解決方案,是目前信息系統(tǒng)技術(shù)發(fā)展的主流方向,它來源于早期的基于組件的分布式計算技術(shù),在世界卞要信息技術(shù)公司和標(biāo)準(zhǔn)化組織推動下,已經(jīng)成為一個被廣泛認可的規(guī)范。soa在傳統(tǒng)的業(yè)務(wù)層和技術(shù)層之間增加了-個服務(wù)層,以有效地溝通業(yè)務(wù)層和技術(shù)層之問的信息,讓企業(yè)應(yīng)用層可以徹底擺脫技術(shù)的束縛。具體地講,soa將分布在網(wǎng)絡(luò)中的各種軟件資源看作是不同的服務(wù)內(nèi)容。而且,能夠在不同的應(yīng)用中交換數(shù)據(jù),而小需要考慮每個應(yīng)用是用什么編程語言開發(fā)或在什么操作系統(tǒng)下運行,在這種模式下,一個應(yīng)用或-個應(yīng)用軟件的一部分就是一種服務(wù)。
soa的核心思想就是讓應(yīng)用不受限于技術(shù),讓企業(yè)輕松應(yīng)對商業(yè)服務(wù)變化和發(fā)展的需要。通過將注意力放在服務(wù)上,應(yīng)用程序能夠集中起來提供更加豐富、目的性更強的商業(yè)流程。其結(jié)果就是,基于soa的企業(yè)應(yīng)用系統(tǒng)通常會更加真實地反映與業(yè)務(wù)模型的結(jié)合。
2.2用web服務(wù)實現(xiàn)系統(tǒng)功能
從表面上看,web服務(wù)就是一個應(yīng)用程序,它向外界暴露一個能夠通過web進行調(diào)用的api。即其他用戶能夠用編程的方法通過web調(diào)用束實現(xiàn)某個功能的應(yīng)用程序,web服務(wù)便是基于網(wǎng)絡(luò)的、分布式的模塊化組什,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得web服務(wù)能與其他兼容的組件進行互操作。它可以使用標(biāo)準(zhǔn)的瓦聯(lián)網(wǎng)協(xié)議,web服務(wù)是目前實現(xiàn)soa最重要的標(biāo)準(zhǔn)。
2.3ws-bpel支持的業(yè)務(wù)流程管理
業(yè)務(wù)流程是一系列相互銜接、自動進行的業(yè)務(wù)活動或任務(wù)。一個業(yè)務(wù)流程包括一組任務(wù)以及它們之間的相互順序關(guān)系,還包括流程及任務(wù)的啟動和終止條件,以及對每個任務(wù)的描述。將各個服務(wù)組件看成業(yè)務(wù)流程中的任務(wù),服務(wù)組合就轉(zhuǎn)化為一個構(gòu)建業(yè)務(wù)流程的過程。
ws-bpel(web services business process e x e cution lan-guage,服務(wù)業(yè)務(wù)流程執(zhí)行語占)是為組合web服務(wù)而定制的一項規(guī)范,它能夠描述由web服務(wù)參與的復(fù)雜業(yè)務(wù)流程,同時又能將web服務(wù)組合而進一步包裝成更為高級別的web服務(wù)并發(fā)布出去。ws-bpel定義了用來描述基于流程及其相關(guān)方之間互操作的qp務(wù)流程行為的模型和語法。ws- bpel流程定義了這些相關(guān)方之間的多重服務(wù)互操作是怎樣被協(xié)調(diào)起來達成業(yè)務(wù)目標(biāo)的,以及這種協(xié)調(diào)所需的狀態(tài)和邏輯。
2.4任務(wù)管理系統(tǒng)體系結(jié)構(gòu)
為了實現(xiàn)模具產(chǎn)品異地設(shè)汁的高效協(xié)同上作,本系統(tǒng)采用業(yè)務(wù)流程管理技術(shù)作為技術(shù)支持,使用soa思想對系統(tǒng)功能模塊進行封裝,構(gòu)建了-個模具設(shè)計任務(wù)自動化管理環(huán)境。系統(tǒng)分為3層。
2.4.1用戶層
用廣i層位于客戶端,提供任務(wù)分配工具和模具設(shè)計工具。任務(wù)分配工具是一個在java平臺上使用jgraph組件開發(fā)出的可視化的業(yè)務(wù)流程模型設(shè)計器,項目管理人員可采用此工具進行任務(wù)分配,業(yè)務(wù)流程模利設(shè)計器將任務(wù)分配的結(jié)果映射為wsbpel語言存儲在xml文件中,同時將該xml文件存入業(yè)務(wù)流程執(zhí)行引擎所指定的目錄,業(yè)務(wù)流程執(zhí)行引擎讀取此文件后自動運行業(yè)務(wù)流。模具設(shè)計丁具包括常用的cad設(shè)計軟件,如ug等,本系統(tǒng)在。net平臺上,使用 wmi(windows management instrumentation)組件開發(fā)出遠程控制的功能,該功能被封裝在服務(wù)器端的“任務(wù)啟動服務(wù)”中,該服務(wù)能在指定的時間啟動指定設(shè)計人員機器上的設(shè)計軟件(如ug)。
2.4.2服務(wù)層
服務(wù)層位于服務(wù)器端,是系統(tǒng)的核心層。系統(tǒng)以web服務(wù)的形式封裝了任務(wù)管理系統(tǒng)的核心功能,其中包括文件傳輸服務(wù)、用戶管理服務(wù)、任務(wù)列表服務(wù)、任務(wù)啟動服務(wù)和消息服務(wù)。其中,文件傳輸服務(wù)提供文件的上傳和下載功能;用戶管理服務(wù)提供用戶權(quán)限管理功能;任務(wù)列表服務(wù)提供設(shè)計人員任務(wù)列表管理功能,如一個任務(wù)(非原子任務(wù))可能由多個設(shè)計人員完成,同時一個設(shè)計人員也可能負責(zé)多個任務(wù);任務(wù)啟動服務(wù)提供啟動設(shè)計任務(wù)的功能(如前所述的“在指定的時間啟動指定設(shè)計人員機器上的設(shè)計軟件”);消息服務(wù)提供消息傳遞的功能。
2.4.3服務(wù)支持層
服務(wù)支持層也位于服務(wù)器端,該層的主要職責(zé)是為上層的服務(wù)層提供技術(shù)支持,其中包括數(shù)據(jù)庫、業(yè)務(wù)流程執(zhí)行引擎、ftp服務(wù)器、消息隊列。如用戶管理服務(wù)和任務(wù)列表服務(wù)需要數(shù)據(jù)庫支持、文件傳輸服務(wù)需要ftp服務(wù)器的支持等。在此層中,業(yè)務(wù)流程執(zhí)行引擎是任務(wù)管理系統(tǒng)的核心部分,它負責(zé)運行從用戶層中傳來的 ws-bpel描述文件(即模具設(shè)計流程),以自動執(zhí)行業(yè)務(wù)流程。系統(tǒng)中采用開源的activebpel engine作為業(yè)務(wù)流程執(zhí)行引擎。
3 應(yīng)用實例
作者在java平臺上開發(fā)出了一個模具協(xié)同設(shè)計任務(wù)管理系統(tǒng),該系統(tǒng)現(xiàn)在還處于原型系統(tǒng)階段。下面還是以級進模設(shè)計為例,來說明該系統(tǒng)的運行過程。
圖形化的業(yè)務(wù)流程設(shè)計器界面,如圖5所示。項目管理人員通過瀏覽器登錄后即可訪問此界面。
每-個節(jié)點都代表著一個設(shè)計子任務(wù)。子任務(wù)中包含有設(shè)計人員、設(shè)計任務(wù)外始時間、設(shè)計工時、cad模型文件名、模具設(shè)計應(yīng)用程序、消息文本等信息。當(dāng)項目管理人員將模具設(shè)計任務(wù)流程設(shè)計完成之后,便將其結(jié)果傳入業(yè)務(wù)流程執(zhí)行引擎,業(yè)務(wù)流程執(zhí)行引擎即會自動執(zhí)行此業(yè)務(wù)流程。同時,設(shè)計好的業(yè)務(wù)流程也可當(dāng)作模板存入服務(wù)器,以便于日后重用。
當(dāng)設(shè)計人員登錄后,設(shè)計人員可通過調(diào)用“任務(wù)列表服務(wù)”查看自己所承擔(dān)的所有設(shè)計任務(wù),任務(wù)列表中同樣顯示了設(shè)計任務(wù)的開始時間、合計工時、cad文件名等信息。當(dāng)時問將要達到某項任務(wù)的開始時間時,系統(tǒng)會調(diào)用“消息服務(wù)”彈出提示信息來提示設(shè)計人員;當(dāng)達到任務(wù)開始時間時,系統(tǒng)會調(diào)用“任務(wù)啟動服務(wù)”和 “文件傳輸服務(wù)”,將用戶的設(shè)計工具在指定的時間自動啟動,同時,下載并打開cad模型。當(dāng)設(shè)計人員的設(shè)計工作完成后,可調(diào)用“文件傳輸服務(wù)”將設(shè)計結(jié)果上傳到服務(wù)器中。
4 結(jié)論
根據(jù)模具協(xié)同設(shè)計的特點,提出了基于活動樹的模具協(xié)同設(shè)計任務(wù)分解模型,該模型能夠有效地保證協(xié)同設(shè)計過程中的信息同步。在此模型的基礎(chǔ)上,將業(yè)務(wù)流程管理技術(shù)與基于soa思想的web服務(wù)技術(shù)相結(jié)合,開發(fā)出了一個模具協(xié)同設(shè)計任務(wù)管理系統(tǒng)的原型系統(tǒng)。該系統(tǒng)提供了可視化的業(yè)務(wù)流程設(shè)計界面,可以幫助項目管理人員做出科學(xué)合理的任務(wù)分配計劃,并使得任務(wù)分配信息能在不同設(shè)計人員之間自動傳遞。該系統(tǒng)可大大提高模具設(shè)計管理的自動化程度,具有良好的應(yīng)用前景。