企業(yè)為適應(yīng)市場(chǎng)的快速變化,滿足用戶的個(gè)性化需求,要求在產(chǎn)品設(shè)計(jì)過程中進(jìn)行廣泛的信息交換和建立快速傳輸機(jī)制。而傳統(tǒng)產(chǎn)品管理數(shù)據(jù)(PDM)系統(tǒng)的工作流管理是針對(duì)特定業(yè)務(wù)定制開發(fā)的,流程是基于靜態(tài)過程定義的,表達(dá)能力有局限,靈活性較差,當(dāng)業(yè)務(wù)流程發(fā)生變化時(shí),整個(gè)系統(tǒng)均發(fā)生重大的調(diào)整,很難適應(yīng)企業(yè)的發(fā)展、滿足企業(yè)的要求,也大大地限制了工作流技術(shù)的實(shí)際應(yīng)用。
本文通過對(duì)PDM系統(tǒng)中工作流動(dòng)態(tài)變化的研究,提出了一種基于工作實(shí)例的實(shí)現(xiàn)方法,該方法可以實(shí)現(xiàn)流程的動(dòng)態(tài)變化,減少重復(fù)工作,提高工作流運(yùn)行效率。
1 工作流管理
1.1 工作流定義
工作流是規(guī)劃一個(gè)項(xiàng)日的各個(gè)活動(dòng),確定各活動(dòng)的先后順序和相互關(guān)系、各個(gè)活動(dòng)的起始和終止條件,設(shè)定各活動(dòng)要達(dá)到的目標(biāo),制定活動(dòng)的執(zhí)行者和所用資源以及完成活動(dòng)的期限等。一個(gè)工作流可以用一個(gè)二元組來表示,即W(A,C),其中,A= {a1,a2,…}為工作流中的各個(gè)活動(dòng),在工作流模型中表現(xiàn)為節(jié)點(diǎn);C={C1,C2,...}為各個(gè)活動(dòng)間的次序關(guān)系,在工作流模型中表現(xiàn)為節(jié)點(diǎn)問的連接線。每個(gè)活動(dòng)節(jié)點(diǎn)a又可以表示為一個(gè)四元組(t1,e,c,t2),其中,t1為活動(dòng)的相關(guān)任務(wù);e為活動(dòng)的執(zhí)行者;c為活動(dòng)的起始和終止條件;t2為活動(dòng)的執(zhí)行時(shí)間。每個(gè)連接線c可表示為一個(gè)三元組(s,ns,ne,其巾,s為連接線的狀態(tài);ns為連接線的起點(diǎn);ne為連接線的終點(diǎn)。
1.2 PDM系統(tǒng)中的工作流管理
工作流管理在PDM系統(tǒng)中的主要目的是將一個(gè)具體的工作分解成多個(gè)任務(wù)、角色,通過一定的規(guī)則和過程,約束這個(gè)任務(wù)的執(zhí)行和監(jiān)控,以提高企業(yè)生產(chǎn)經(jīng)營(yíng)管理水平。PDM系統(tǒng)中的工作流管理主要是產(chǎn)品設(shè)計(jì)審批流程的管理。系統(tǒng)預(yù)先指定產(chǎn)品審批設(shè)計(jì)流程,定義工作流程階段的數(shù)量和名稱,根據(jù)工作習(xí)慣指派工作流任務(wù),確定各個(gè)工作階段的先后次序及對(duì)應(yīng)的設(shè)計(jì)審批人員、角色及時(shí)間等。
產(chǎn)品研發(fā)過程是一個(gè)大量的繼承、拓展、合并和修改等操作的演化形成產(chǎn)品的過程,該過程中的數(shù)據(jù)演化是動(dòng)態(tài)的,無法在產(chǎn)品設(shè)計(jì)之前建立完善的工作流程,開發(fā)的執(zhí)行過程決定下一步的活動(dòng)方向,因此工作流必須可重構(gòu),可擴(kuò)展,并具有動(dòng)態(tài)性和高度的柔性。
工作流在執(zhí)行期間有可能發(fā)生變化,原因有:①在工作流設(shè)計(jì)期間由于缺乏認(rèn)知導(dǎo)致的工作流程規(guī)范小完整;②在工作流執(zhí)行期間發(fā)生錯(cuò)誤或異常。這 都可能導(dǎo)致系統(tǒng)的崩潰、降低服務(wù)質(zhì)量以及產(chǎn)生一系列矛盾等,因此要實(shí)現(xiàn)動(dòng)態(tài)的工作流管理,首要解決的問題是要應(yīng)用動(dòng)態(tài)工作流技術(shù)建立一個(gè)能夠支持動(dòng)態(tài)編輯修改的工作流模型。而動(dòng)態(tài)工作流技術(shù)要解決的核心問題便是流程在執(zhí)行時(shí)的更改和擴(kuò)展,實(shí)現(xiàn)工作流管理在執(zhí)行層的柔性,它最主要的要求就是工作流中的各個(gè)元素(活動(dòng)、活動(dòng)的屬性及其活動(dòng)問的關(guān)系)不受定義時(shí)的限制。因此,開發(fā)出PDM環(huán)境下支持流程執(zhí)行期間工作流的動(dòng)態(tài)管理,滿足企業(yè)流程動(dòng)態(tài)變化的需求已成為PDM系統(tǒng)中工作流管理發(fā)展的必然。
2 動(dòng)態(tài)工作流研究
2.1 工作流動(dòng)態(tài)變化的判定
工作流的各個(gè)活動(dòng)節(jié)點(diǎn)按狀態(tài)的不同劃劃分為:就緒提交節(jié)點(diǎn)、正在執(zhí)行節(jié)點(diǎn)和已完成節(jié)點(diǎn)。在工作流執(zhí)行期問各節(jié)點(diǎn)狀態(tài)將發(fā)生改變,不同狀態(tài)間的轉(zhuǎn)換如圖1所示。
一個(gè)正在執(zhí)行的工作流程可能發(fā)生的動(dòng)態(tài)變化包括:①允許用戶直接跳過尚未開始的活動(dòng);②允許某些尚未完全滿足啟動(dòng)條件的活動(dòng)啟動(dòng);③將2個(gè)串行的活動(dòng)在運(yùn)行時(shí)更改為并行;④在流程中新增或刪除活動(dòng)節(jié)點(diǎn);⑤對(duì)某個(gè)活動(dòng)節(jié)點(diǎn)的一些屬性進(jìn)行修改,改變活動(dòng)節(jié)點(diǎn)間的連接關(guān)系等。
圖1 不同節(jié)點(diǎn)狀態(tài)的變化
對(duì)于發(fā)生動(dòng)態(tài)變化的流程,判定節(jié)點(diǎn)在新流程中是否發(fā)生變化,確定節(jié)點(diǎn)是否需要重新執(zhí)行則成了關(guān)鍵。為此提出以下5個(gè)條件對(duì)節(jié)點(diǎn)進(jìn)行依次判斷,當(dāng)有一個(gè)條件不滿足時(shí),節(jié)點(diǎn)需要重新執(zhí)行,這5個(gè)條件為:
(1)該節(jié)點(diǎn)不是新建節(jié)點(diǎn);
(2)該節(jié)點(diǎn)的屬性未發(fā)生變化;
(3)該節(jié)點(diǎn)的連接關(guān)系未發(fā)生變化;
(4)該節(jié)點(diǎn)的任務(wù)已完成;
(5)該節(jié)點(diǎn)的前面所有節(jié)點(diǎn)已經(jīng)完成。
其中節(jié)點(diǎn)的連接關(guān)系分為前置連接關(guān)系和后置連接關(guān)系。前置連接關(guān)系的改變會(huì)影響節(jié)點(diǎn)的執(zhí)行,后置連接關(guān)系的變化會(huì)觸發(fā)事件。
根據(jù)上述5個(gè)判斷條件,歸納出4類節(jié)點(diǎn):基于條件(1)的新增節(jié)點(diǎn);條件(2)和(3)的原始節(jié)點(diǎn);條件(4)的完成節(jié)點(diǎn);條件(5)的跳轉(zhuǎn)節(jié)點(diǎn)。對(duì)于節(jié)點(diǎn)在新流程中是否需要重新執(zhí)行,判斷流程如圖2所示。根據(jù)節(jié)點(diǎn)判斷流程,利用計(jì)算機(jī)程序化的遞歸遍歷方法即可找出新工作流程中不需要重復(fù)執(zhí)行的活動(dòng)節(jié)點(diǎn)。
圖2 節(jié)點(diǎn)判斷流程
2.2 動(dòng)態(tài)工作流的實(shí)現(xiàn)
為了解決上述問題,本文提出基于工作實(shí)例法的工作流方法。該方法相比其它方法,具有貼合實(shí)際需求,能夠處理流程個(gè)案,減少實(shí)例重復(fù)工作,不影響其它共用流程模板實(shí)例的執(zhí)行,自動(dòng)化程度高,可視化程度強(qiáng),簡(jiǎn)便易懂等特點(diǎn)。該方法主要有4個(gè)過程:
(1)建立新工作流模板,該模板以原模板為樣板進(jìn)行繪制,要求先暫停工作流實(shí)例,保存所有的原始數(shù)據(jù)和過程信息(原流程執(zhí)行的結(jié)果),再對(duì)原模板進(jìn)行編輯修改使之符合新的工作流要求,同時(shí)將新的版本號(hào)保存在工作流模板庫中。
(2)將原流程的原始數(shù)據(jù)和過程信息拷貝至新模板中,同時(shí)解決該過程中產(chǎn)生的異常和沖突等問題。
(3)標(biāo)記不需要重新執(zhí)行的過程節(jié)點(diǎn)。利用節(jié)點(diǎn)判斷流程來判斷不需新執(zhí)行的節(jié)點(diǎn),可以從原流程中得到繼承,給予標(biāo)記。
(4)將新舊模板的信息進(jìn)行積聚整合,確保工作實(shí)例在新模板中能夠順利執(zhí)行。聚合后原工作流模板不除,以備另用或使其它實(shí)例正在運(yùn)行不受影響。
由上述過程可知,解決遷移過程中的異常和沖突問題是實(shí)現(xiàn)流程動(dòng)態(tài)變化的關(guān)鍵所在。
2.2.1 異常
新工作流模板在創(chuàng)建時(shí)可能存在不完善之處。新模板創(chuàng)建時(shí),創(chuàng)建者沒有對(duì)其進(jìn)行結(jié)構(gòu)分析和性能檢驗(yàn),即未對(duì)新建工作流模板的活性、有界性、安全性和各種性能指標(biāo)進(jìn)行驗(yàn)證,會(huì)產(chǎn)節(jié)節(jié)被被“死鎖”,不能繼續(xù)執(zhí)行的現(xiàn)象;或?qū)嵗?ldquo;粘住”,進(jìn)入死循環(huán)的現(xiàn)象;或存在實(shí)例“不可達(dá)”現(xiàn)象等。
繪制可達(dá)圖(reachability graph)檢驗(yàn)用戶定義工作流程的正確性,判斷流程的可達(dá)性(無孤島)、活性(無死鎖)等性質(zhì)。可達(dá)圖是一種基于Petri網(wǎng)的有向圖,由節(jié)點(diǎn)和箭頭構(gòu)成。每個(gè)節(jié)點(diǎn)表示一種可達(dá)狀態(tài),箭頭表示一種可能的狀態(tài)改變。工作流、Petri網(wǎng)和可達(dá)圖的轉(zhuǎn)換如圖3所示。
圖3 工作流、Petri網(wǎng)和可達(dá)圖的轉(zhuǎn)換
2.2.2 沖突
原模板中的原始數(shù)據(jù)和過程信息在遷移至新模板中時(shí)產(chǎn)生不兼容,即原模板中有的過程節(jié)點(diǎn)或?qū)傩栽谛履0逯袥]有或者屬性發(fā)生改變;原模板中有的連接關(guān)系在新模板中沒有或者不同;原模板中的局部流程結(jié)構(gòu)(如串行)在新模板中發(fā)生改變(如并行)等。解決該沖突的方法應(yīng)遵循先分揀、后比對(duì)、再遷移的順序。
分揀即從舊模板中篩選出在新模板中依然存在的活動(dòng)節(jié)點(diǎn)和連接關(guān)系。節(jié)點(diǎn)分揀可以通過節(jié)點(diǎn)編號(hào)、名稱等具有唯一性標(biāo)識(shí)的屬性加以實(shí)現(xiàn);連接關(guān)系的分揀可以通過連接線的起始終止節(jié)點(diǎn)和狀態(tài)加以實(shí)現(xiàn)。
比對(duì)即檢查對(duì)照已分揀出的節(jié)點(diǎn)信息,保存那些依然存在且尚未改變的屬性;通過上述分揀出來的連接關(guān)系即為原始的連接關(guān)系,保存其相關(guān)信息。
遷移即將這些通過分揀和比對(duì)的節(jié)點(diǎn)、連接關(guān)系以及相關(guān)信息遷移至新模板中進(jìn)行保存,以供后續(xù)繼承活動(dòng)的判斷執(zhí)行。
以一般通用的產(chǎn)品重要零部件審批流程為例,對(duì)工作實(shí)例法的運(yùn)用過程進(jìn)行說明,相關(guān)圖如圖4所示(實(shí)線方框表示活動(dòng)已經(jīng)完成)。
圖4 工作流程
因考慮到設(shè)計(jì)的通用化和標(biāo)準(zhǔn)化,決定在原工作流程的會(huì)簽節(jié)點(diǎn)之前新增標(biāo)準(zhǔn)化審核節(jié)點(diǎn),且與審核節(jié)點(diǎn)同步,如圖4b所示。運(yùn)用工作實(shí)例法如下:
(1)先中止該工作實(shí)例,取出工作流模板(圖4a),在該模板基礎(chǔ)上編輯修改得到新的模板(圖4b),保存給予的新版本號(hào)。這一方面可以減少建模的工作量和建模過程中產(chǎn)生的異常錯(cuò)誤,另一方面為接下來遷移過程中解決異常沖突提供便利。
(2)進(jìn)行遷移,解決此過程中的異常和沖突等問題。對(duì)于異常問題的解決,系統(tǒng)將新建模板的數(shù)據(jù)模型生成相應(yīng)的Petri網(wǎng)模型和可達(dá)圖,用于驗(yàn)證模型建立的正確性。將圖4b和圖4c合并得到的層次著色Petri網(wǎng)如圖5所示,可達(dá)圖如圖6所示。根據(jù)可達(dá)圖的判斷定理可知,該新建的工作模板沒有死鎖現(xiàn)象,具有可達(dá)性、活性和有界性,新模板有效可用。
圖5 產(chǎn)品設(shè)計(jì)審批流程Petri網(wǎng)模型
圖6 產(chǎn)品設(shè)計(jì)審批流程可達(dá)圖
對(duì)于沖突問題,可以通過設(shè)計(jì)循環(huán)遍歷程序來解決,根據(jù)先分揀后比對(duì)的準(zhǔn)則來完成信息的遷移。實(shí)現(xiàn)循環(huán)遍歷的方法函數(shù)為:
Class Recurrence
{
JudgeNode();////節(jié)點(diǎn)遍歷、分揀
JudgeProperty();////屬性遍歷、分揀
Judgeconnection();////連接關(guān)系判斷
Infonmtion Transf();////信息遷移
}
(3)完成遷移后,根據(jù)節(jié)點(diǎn)的判斷流程來標(biāo)記不需要重新執(zhí)行的活動(dòng),完成繼承。原工作流程已經(jīng)進(jìn)行到批準(zhǔn)等待階段,對(duì)于新的工作流程,通過繼承過程可知,審核及其之前的節(jié)點(diǎn)都不需要重新執(zhí)行,但校對(duì)需要觸發(fā)一個(gè)事件,因其加入了新的后置關(guān)系,即讓校對(duì)的結(jié)果也進(jìn)入標(biāo)準(zhǔn)化審核節(jié)點(diǎn),讓其與審核同步;會(huì)簽工作需要重新執(zhí)行,因?yàn)樵摴?jié)點(diǎn)的前置連接屬性發(fā)牛了改變,由原來的因果順序關(guān)系變成了并行與關(guān)系。
(4)將新模板實(shí)例化后重新啟動(dòng),則流程會(huì)自動(dòng)從標(biāo)準(zhǔn)化節(jié)點(diǎn)開始依次執(zhí)行。
3 應(yīng)用實(shí)現(xiàn)
在上述研究的基礎(chǔ)上,以VS.NET2005為開發(fā)環(huán)境,SQLServer2000為數(shù)據(jù)庫,開發(fā)了支持流程動(dòng)態(tài)變化的工作流管理系統(tǒng),界面如圖7所示。用戶可根據(jù)企業(yè)的工作習(xí)慣,使用可視圖像化的工作流編輯器,建立相應(yīng)的上作流程。
圖7 工作流編輯器
具體操作為:
(1)在工作流編輯器中建立工作流模型:一方面將建好的模型放入到模型庫中,另一方面將其轉(zhuǎn)換為數(shù)據(jù)模型存儲(chǔ)在數(shù)據(jù)庫中。
(2)系統(tǒng)會(huì)自動(dòng)將數(shù)據(jù)模型轉(zhuǎn)換成Petri網(wǎng)模型和可達(dá)圖來檢驗(yàn)用戶定義流程的正確性,判斷流程的可達(dá)性、活性等性質(zhì),并通過分析找出可能存在的錯(cuò)誤,給出相應(yīng)提示以便改正。
(3)將該工作流模型實(shí)例化,流程自動(dòng)啟動(dòng)。系統(tǒng)通過層次著色Petri網(wǎng)模型確定流程的執(zhí)行順序,監(jiān)視流程的執(zhí)行過程和執(zhí)行狀態(tài),同時(shí)記錄流程狀態(tài)演變的過程數(shù)據(jù)和相關(guān)信息。
(4)在工作流運(yùn)行過程中,若需臨時(shí)對(duì)其進(jìn)行修改,暫時(shí)中止該工作流程;然后對(duì)此模型進(jìn)行編輯,在判斷無誤后系統(tǒng)自動(dòng)地將原流程執(zhí)行過程中的數(shù)據(jù)和信息遷移繼承到新的流程中,并判斷哪些活動(dòng)需要重新執(zhí)行,在此基礎(chǔ)上對(duì)流程進(jìn)行重新編譯繼續(xù)執(zhí)行。
4 結(jié)束語
通過對(duì)動(dòng)態(tài)工作流的研究與分析,可以提高工作流管理的柔性,使工作流管理系統(tǒng)具有更好的適應(yīng)動(dòng)態(tài)變化的能力。本文給出了工作流動(dòng)態(tài)變化的判定方法和實(shí)現(xiàn)動(dòng)態(tài)上作流的過程步驟,同時(shí)給出活動(dòng)節(jié)點(diǎn)是否需要重新執(zhí)行的削斷流程,實(shí)現(xiàn)了工作流在執(zhí)行過程中的動(dòng)態(tài)變化。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文標(biāo)題:PDM系統(tǒng)中動(dòng)態(tài)工作流的分析與研究
本文網(wǎng)址:http://www.guhuozai8.cn/html/solutions/1401939171.html