蔡 敏,盧 佩
(杭州電子科技大學(xué) 管理學(xué)院 工業(yè)工程與管理研究所,浙江 杭州 310018)
工作流模型是對企業(yè)業(yè)務(wù)流程的詳細(xì)描述,工作流強調(diào)企業(yè)業(yè)務(wù)流程的自動化。隨著我國信息化的快速發(fā)展,工作流管理系統(tǒng)的應(yīng)用越來越普遍,企業(yè)對其依賴越來越大,傳統(tǒng)的工作流系統(tǒng)已經(jīng)不能滿足現(xiàn)在企業(yè)高效率的要求。提高效率最有效的辦法,就是縮短產(chǎn)品生命周期,精煉企業(yè)業(yè)務(wù)流程,減少各個環(huán)節(jié)的處理時間,對時間進(jìn)行有效全面地管理。
隨著企業(yè)的不斷發(fā)展,業(yè)務(wù)流程愈來愈復(fù)雜。以簡單的建模方法將企業(yè)復(fù)雜工作流進(jìn)行全面的建模,是企業(yè)一直以來的追求。工作流模型的核心是工作流過程模型,目前比較成熟的工作流過程建模方法主要有兩種:①基于工作流圖的建模方法,優(yōu)點是比較適合建立復(fù)雜的業(yè)務(wù)流程,缺點是模型元素太多,建立的模型過于復(fù)雜,不易懂,對時間因素的考慮不太成熟;②基于Petri網(wǎng)的建模方法,優(yōu)點是模型有現(xiàn)成的軟件可以對其進(jìn)行仿真優(yōu)化,當(dāng)然也有很多學(xué)者對Petri網(wǎng)進(jìn)行了時間元素的研究,缺點是比較古板,不容易繼承和擴展[1]。
目前國內(nèi)外有許多學(xué)者都從事工作流系統(tǒng)的建模和研究。李宣東等給出了統(tǒng)一建模語言(Unified Modeling Language,UML)活動圖的語義形式描述,并在此基礎(chǔ)上提出了實時UML 活動圖的語義描述,但他們考慮的時間因素相對比較簡單[1]。然而企業(yè)的流程是復(fù)雜的,在運行過程中所遇到的時間因素也是形形色色的。文獻(xiàn)[2]主要分析了用UML活動圖建立工作流過程中各種模式的優(yōu)勢,并給予驗證,同時指出UML活動圖相比Petri網(wǎng)建模的優(yōu)點,最后也給出了UML 活動圖建模方面的不足:①缺少精確的語法和語義;②不能完整體現(xiàn)幾種重要的活動之間的同步操作。文獻(xiàn)[3]假設(shè)活動過程中不浪費時間,對UML 活動圖的實時執(zhí)行性進(jìn)行了語義描述,這些語義都是基于狀態(tài)圖表形式進(jìn)行的,但是對活動進(jìn)行過程、活動轉(zhuǎn)移過程而言,時間關(guān)系到企業(yè)生產(chǎn)、運營效率,是很要的因素。文獻(xiàn)[4]主要對UML建模語言和Petri網(wǎng)建模語言進(jìn)行了對比,指出UML對于工作流建模的優(yōu)勢,最后給出了Petri網(wǎng)到UML 的映射,完成了Petri網(wǎng)與UML建模的完美融合,但并沒有涉及時間因素的處理。文獻(xiàn)[5]和本文研究的相關(guān)度比較大,都是基于時間約束的UML 活動圖的研究,不同之處在于文獻(xiàn)[5]通過使用timedCSP 方法,對活動中的STOP/WAIT/SKIP等狀態(tài)進(jìn)行了語義形式的描述與時間限制,并給出了語義描述,但是沒有考慮影響這些狀態(tài)的時間因素,同時文獻(xiàn)[5]只考慮了活動狀態(tài)的時間約束,其實在活動轉(zhuǎn)移的過程中也存在時間約束,例如產(chǎn)品設(shè)計完成后要進(jìn)行設(shè)計的審閱,即從設(shè)計完成到設(shè)計審閱活動的轉(zhuǎn)移過程可能會出現(xiàn)系統(tǒng)故障,即這個轉(zhuǎn)移過程會延長,也就是活動的轉(zhuǎn)移需要給予時間范圍的約束。文獻(xiàn)[6]提出建立和描述工作流應(yīng)用的一套UML活動圖的逐步精煉技術(shù),并詳細(xì)介紹了其精煉模式,最后提供實例證明了精煉模式的正確性。文獻(xiàn)[7]指出在具有科學(xué)性的工作流中,對偶發(fā)性短暫性危害預(yù)防與阻止的重要性,并指出在優(yōu)化或預(yù)防這種偶發(fā)性、短暫性危害流程中所面對的兩個重要的基本問題。在此基礎(chǔ)上提出一種新穎的算法,并通過最后的仿真實驗驗證了算法的正確性。
通過以上現(xiàn)狀的分析可知,目前基于UML 活動圖對工作流過程的建模有以下優(yōu)點:①UML 活動圖具有抽象性和用戶友好性標(biāo)識,業(yè)務(wù)專家和系統(tǒng)分析師都能很好地理解該模型;②可擴展性機制針對不同問題可進(jìn)行柔性變通;③在業(yè)務(wù)建模和軟件工程水平上的可應(yīng)用性,有效地減少了業(yè)務(wù)建模工作者和軟件工程師之間的代溝。當(dāng)然UML活動圖建模也有其不足之處,例如:①缺乏精確的語法語義,容易導(dǎo)致模糊性和模型死鎖等問題;②UML 活動圖在時間約束上缺乏有效的約束,目前僅存在于等待狀態(tài)和活動狀態(tài);③UML 活動圖在其流程模式上缺乏有效的研究。
本文針對UML 活動圖所存在的第二個不足進(jìn)行了研究,主要不同在于:①在考慮活動狀態(tài)所具有的時間因素的同時,也考慮了活動轉(zhuǎn)移的時間約束;②針對活動和轉(zhuǎn)移的時間約束,考慮影響時間的6種因素(活動中資源到來時間、資源有效時間、活動延遲時間、躍遷有效時間、躍遷延遲時間、活動截止時間),通過語義形式進(jìn)行了描述,并計算出活動最早開始時間、最晚開始時間、最早結(jié)束時間、最晚結(jié)束時間,躍遷的最早開始時間、最晚開始時間、最早結(jié)束時間、最晚結(jié)束時間,在時間上加強了活動與轉(zhuǎn)移之間的緊密型;③除了對6種路由進(jìn)行時間擴展外,還提出基于等待狀態(tài)事件觸發(fā)活動轉(zhuǎn)移路由,解決了循環(huán)活動事件時間計算的問題。
基于以上理論研究,本文提出基于時間擴展的UML活動圖的工作流模型,在語義描述的基礎(chǔ)上,不僅有效解決了UML 活動圖的模糊性,防止了流程死鎖的發(fā)生,還對工作流程中的時間進(jìn)行了全面控制與管理,以有效縮短產(chǎn)品上市周期,提高企業(yè)生產(chǎn)和運營效率。
UML活動圖描述活動之間的順序,展現(xiàn)從一個活動到另外一個活動的控制流,能夠表現(xiàn)動作是怎樣發(fā)生的、動作要干什么、動作是在何處發(fā)生等,因此使用UML活動圖能夠很好地對工作流進(jìn)行描述。工作流概念模型到UML活動圖之間的具體映射如下:
(1)用動作狀態(tài)、活動狀態(tài)表述工作流中的活動(任務(wù))。
(2)用UML活動圖中的初始狀態(tài)、終止?fàn)顟B(tài)表示工作流過程中的開始節(jié)點和結(jié)束節(jié)點。
(3)用UML 活動圖中的控制流表示活動之間的轉(zhuǎn)移,即工作流模型中的控制流。
(4)用UML 活動圖中的分叉或結(jié)合元素表示工作流模型中的同步元素。
(5)用UML 活動圖中的分支或合并元素表示工作流模型中的選擇元素。
(6)用UML 活動圖中的對象節(jié)點表示工作流模型中的各種數(shù)據(jù)信息。
(7)用UML 活動圖中的泳道元素表示工作流模型中的人員、角色、部門、職務(wù)元素。
(8)用UML 活動圖中的對象流表示工作流模型中的資源流和數(shù)據(jù)流。
(9)用UML 活動圖中的注釋表示工作流模型中的標(biāo)注元素。
通過以上UML活動圖元素和工作流元素之間的完整映射,全面真切地描述工作流的各種屬性和狀態(tài)。
過程決定了案例的生命周期,被稱為案例的“路由”。路由結(jié)構(gòu)又稱為工作流模式。工作流是通過控制流將各種活動按照一定的次序串接而成的,工作流模式則是反映工作流中控制流的一般特征,是從控制流中提取出來的、具有某種普遍特征的控制流片段。
工作流的6種路由與UML活動圖路由的映射如下:
(1)順序路由 描述活動發(fā)生的先后順序,如圖1所示。
(2)循環(huán)路由 描述活動的循環(huán)結(jié)構(gòu),如圖2所示。
(3)與分支 活動完成后,其他活動可任意或者同時執(zhí)行,如圖3所示。
(4)與結(jié)合 描述幾個活動完成后轉(zhuǎn)移到下一個活動,如圖4所示。
(5)或分支 分為帶條件和不帶條件的或分支路由,描述了活動在條件的約束下可以執(zhí)行之后活動中的某一個,如圖5所示。
(6)或合并 分為帶條件和不帶條件的路由,描述了幾個活動中條件為真的活動執(zhí)行完成后轉(zhuǎn)移到下一個活動的執(zhí)行,如圖6所示。
下面介紹UML活動圖的形式語義。躍遷是從一種狀態(tài)向另一種狀態(tài)的流動。
定義1M和N是自然數(shù)集合,活動圖D是一個多元組,D=(A,T,F(xiàn),a1,aF)。其中:A={a1,a2,a3,a4,…,am}是一個有限活動狀態(tài)集;T={t1,t2,t3,t4,…,tn}是一個有限完成躍遷集;F?(A×T)∪(T×A)是流關(guān)系;a1∈A是初始活動狀態(tài),aF∈A是終止活動狀態(tài)。
只有一個躍遷t滿足(a1,t′)∈F;對于任何t′∈T,(a1,t′)?F且(aF,t′)?F。
定義2D=(A,T,F(xiàn),a1,aF)是一個活動圖。D中的當(dāng)前狀態(tài)μ是A中的任意子集。對于任意躍遷,t∈T,*t={a∈A|(a,t)∈F}和t*={a∈A|(t,a)∈F}分別表示t的前提和后提。如果*t?μ,則躍遷t對于狀態(tài)集μ中是可觸發(fā)的,否則是不可觸發(fā)的。用enabled(μ)表示μ中可觸發(fā)的躍遷集。
在某時刻,可觸發(fā)的躍遷必須滿足定義3所描述的兩個條件。
定義3D=(A,T,F(xiàn),a1,aF)是一個活動圖。躍遷t∈T能從狀態(tài)μ觸發(fā),當(dāng)且僅當(dāng):
(1)t∈enabled(μ);
(2)(μ-*t)∩t*=?。
新狀態(tài)μ′=(μ-*t)∪t*。
定義4D=(A,T,F(xiàn),a1,aF)是一個活動圖,D的一個運行σ是一個狀態(tài)和躍遷的序列,
其中:μ0={a1},μn={aF};ti∈enabled(μt),i≥0;μi=(μi+1-*ti-1)Yt*i-1,i≥1。
在以上敘述的基礎(chǔ)上加入全面時間因素,形成基于時間的UML 活動圖,擴展后的時間UML 活動圖語義定義如下[8]:
定義5 改進(jìn)
是一個13元組的活動圖。
其中:
A={a1,a2,a3,a4,…,am}是一個有限活動狀態(tài)集。
T={t1,t2,t3,t4,…,tn}是一個 有限完成躍遷集。
F?(A×T)∪(T×A)是流關(guān)系。
a1∈A是初始活動狀態(tài)。
aF∈A是終止活動狀態(tài)。
只有一個躍遷t滿足(a1,t′)∈F;對于任何t′∈T,(a1,t′)?F且(aF,t′)?F,D=(A,T,F(xiàn),a1,aF)構(gòu)成一個活動圖。
AD表示活動的延遲時間,一般活動的延遲時間都是取某個范圍的值,記作AD=[c,d],表示活動因某種外在因素導(dǎo)致活動執(zhí)行時間延長。
ET表示躍遷的最早觸發(fā)時間、最晚觸發(fā)時間、最早結(jié)束時間、最晚結(jié)束時間的集合,記作ETt={EFTt,ELTt,EFFt,ELFt}。
AT表示活動的最早開始時間、最晚開始時間、最早完成時間、最晚完成時間的集合,記作ATt={AFTt,ALTt,AFFt,ALFt}。
ED表示躍遷的觸發(fā)延遲時間,記作[a,b],指躍遷經(jīng)過EDt的延時時間才能觸發(fā)t*。
EVT表示躍遷有效時間,通常取值為某個范圍,記作[e,f](e和f為時間點,且0<e<f),設(shè)資源的到達(dá)時間為t,則該資源只在時間區(qū)間[e+t,f+t]上可用。
RT表示資源到達(dá)活動的時間。
RVT表示資源的有效時間,通常取值為某個范圍,記作[g,h](g和h為時間點,且0<g<h),設(shè)某個躍遷的達(dá)到時間即使能時間為t,則該躍遷只在時間區(qū)間[g+t,h+t]上可以觸發(fā)。
TT表示整個活動流程的時限約束,如無此約束,則用-1表示。
定 義6D=(A,T,F(xiàn),a1,aF,ADt,ET,AT,ED,EVT,RT,RVT,TT)是一個時間活動圖。對于任意活動a∈*t,活動的延遲時間為[c,d],躍遷t∈T的有效觸發(fā)時間為EVT(t)=[e,f],經(jīng)過EDt后,能從狀態(tài)μ觸發(fā),當(dāng)且僅當(dāng):
(1)t∈enabled(μ);
(2)(μ-*t)∩t*=?;
(3)對于任意的a∈*t,EFT(a)≤Et+c+e;對于任意的a′∈μ,Et+d+f≤ELTt。
定 義7D=(A,T,F(xiàn),a1,aF,ADt,ET,AT,ED,EVT,RT,RVT,TT)是一個基于時間的活動圖。D的一次運行σ是一個狀態(tài)、躍遷、躍遷延時時間、躍遷最早觸發(fā)時間和躍遷最晚觸發(fā)時間的序列,
用delay(σ)表示運行σ的所有延時之和,即
其中:μ0={a1}為初始狀態(tài),μn={aF}為終止?fàn)顟B(tài);對于任意的i(1≤i≤n),μi由μi-1 經(jīng)過EDi-1+ADi-1延時后觸發(fā)ti-1得到。
定 義8D=(A,T,F(xiàn),a1,aF,ADt,ET,AT,ED,EVT,RT,RVT,TT)是一個基于時間擴展的活動圖。如果對于任意活動a∈*t存在事件的觸發(fā),則活動的最早開始時間與所有資源最大到達(dá)時間、資源有效時間、活動延遲時間有關(guān)。設(shè)活動a∈*t,每一個資源到達(dá)時間為RT(ri),有效時間RVT(ri)=[gi,hi],則活動的最早開始時間
如果活動a∈*t不存在事件觸發(fā)RT(ri)=0,RVT(ri)=[0,0],則活動的最早開始時間AFT(a)=0。
定 義9D=(A,T,F(xiàn),a1,aF,ADt,ET,AT,ED,EVT,RT,RVT,TT)是一個基于時間擴展的活動圖,同理定義8活動a∈*t的最晚開始時間
定義10 活動圖躍遷t的事件e的使能時間Et,由躍遷輸入的所有資源的最晚到達(dá)時間、有效時間和活動延遲時間確定,設(shè)躍遷t有n個輸入資源,每一個資源的到達(dá)時間為RT(ri),有效時間RVT(ri)=[gi,hi],活動延遲時間為[c,d],則活動的最早完成時間
定義11D=(A,T,F(xiàn),a1,aF,ADt,ET,AT,ED,EVT,RT,RVT,TT)是基于時間的活動圖,同理定義8,活動的最晚完成時間
定義12 如果活動a的最晚完成時間大于截至期限TT(a),則活動的最晚完成時間ALF(a)=TT(a);如果活動a+1的最早開始時間小于活動a的最晚完成時間,則AFT(a+1)=max{ALF(a),AFT(a+1)}。
定義13 躍遷t的事件e的最早觸發(fā)時間EFTa由活動a的最晚完成時間和有效時間決定,設(shè)躍遷的使能時間為Et,躍遷t的有效時間為EVT(t)=[e,f],則
定義14 躍遷t的事件e的最遲觸發(fā)時間ELTt由以下幾個時間因素決定:活動a的輸入資源的到達(dá)時間、活動a的輸入資源的有效時間、躍遷t的有效時間、活動的延遲時間、活動的最晚完成時間、躍遷t的觸發(fā)延遲時間、整個流程的時限約束。
設(shè)活動a有n個輸入資源,每個資源的到達(dá)時間為RT(ri),每個資源的有效時間為RVT(ri)=[gi,hi],活動的最晚完成時間為ALF(a),躍遷t的觸發(fā)延遲時間為[a,b],躍遷t的有效時間為EVT(t)=[e,f],活動延遲時間為[c,d],整個活動流程的時限約束TT為m,則
定義15 躍遷t的事件e的最早完成時間由躍遷t的最早觸發(fā)時間和躍遷的延時時間兩個因素確定。設(shè)躍遷t的延遲時間為[a,b],躍遷的最早觸發(fā)時間為EFTt,則躍遷最早完成時間
定義16 躍遷t的事件e的最晚完成時間由躍遷t的最晚觸發(fā)時間和躍遷t的延時時間兩個因素確定。設(shè)躍遷t的延遲時間為[a,b],躍遷t的最晚觸發(fā)時間為ELTt,則躍遷最晚完成時間
前文對工作流建模的6種路由結(jié)構(gòu)[9]進(jìn)行了分析,在此基礎(chǔ)上加入基于等待狀態(tài)的事件觸發(fā)路由結(jié)構(gòu),如圖7所示。本文的對象流狀態(tài)有兩種含義:①表示參與活動1的角色,這種類型的對象流方向只有由對象流狀態(tài)指向活動1一種。②表示活動1所需的對象數(shù)據(jù),這種對象流數(shù)據(jù)有兩種流向。如果流向由對象流狀態(tài)指向活動1,則表示活動1在執(zhí)行時所需的數(shù)據(jù)信息;如果流向由活動1指向?qū)ο罅鳡顟B(tài),則表示活動1在執(zhí)行過程中所產(chǎn)生的數(shù)據(jù)信息是要永久保存的數(shù)據(jù)?;顒?執(zhí)行完后進(jìn)入等待狀態(tài),在事件2的觸發(fā)下等待狀態(tài)躍遷到活動2,這時時間約束位于控制流的上部,并且時間的各個屬性用小括弧括起來,即活動1在內(nèi)部事件1的觸發(fā)下轉(zhuǎn)移到活動2。
該路由結(jié)構(gòu)中,因為等待狀態(tài)是一種特殊的動作狀態(tài),不具有執(zhí)行能力,必須等待事件的觸發(fā)才能躍遷到下一個狀態(tài),所以其時間屬性將在躍遷上予以表達(dá)。即事件觸發(fā)的開始時間、事件觸發(fā)的有效時間和事件觸發(fā)的延遲時間決定該等待狀態(tài)躍遷的四個時間參數(shù)(躍遷最早開始時間、躍遷最晚開始時間、躍遷最早結(jié)束時間、躍遷最晚結(jié)束時間)。
根據(jù)文獻(xiàn)[10],同樣引入活動間的依賴約束來提高驗證的可靠性。在活動圖中,一般時間約束只限定在活動狀態(tài)上,但是本文也將躍遷考慮在內(nèi),即對活動狀態(tài)、躍遷間的約束進(jìn)行定義。
引理1 活動狀態(tài)的相互依賴時序約束[3]。
約束語義的描述建立在以下引理的基礎(chǔ)上:
(1)最大上界upb(i,j)活動狀態(tài)i和j之間的時間要小于等于該值,表示為{upb(i,j)|upb(i,j)∈Z,i∈A∧T,j∈A∧T}。
(2)最小下界lob(i,j)活動狀態(tài)i和j之間的時間要大于等于該值,表示為{lob(i,j)|lob(i,j)∈Z,i∈A∧T,j∈A∧T}。
引理2 活動狀態(tài)之間的距離約束[3]。
(1)最小延遲d(i,j)活動i和j之間的最短時間,表示為{d(i,j)|d(i,j)∈Z,i∈A∧T且j∈A∧T}。
(2)最大延遲D(i,j)活動i和j之間間隔的最長時間,表示為{D(i,j)|D(i,j)∈Z,i∈A∧T且j∈A∧T}。
引理3 依賴約束一致性[3]。
稱upb(i,j)(j≥i)滿足一致性,當(dāng)且僅當(dāng)D(i,j)≤upb(i,j),相應(yīng)地,當(dāng)且僅當(dāng)d(i,j)≥lob(i,j);稱活動i的時間限制滿足時間約束一致性,當(dāng)且僅當(dāng)TTi≥max{D(1,i)+AFT1}。
同時規(guī)定活動i和j之間D(i-1,i)=ALT(i)-AFF(i-1);活動i和j之間d(i-1,i)=AFT(i)-ALF(i-1);同時把并行和選擇結(jié)構(gòu)看作復(fù)合的活動,這樣,如果活動i到j(luò)是連通的,則i和j之間的所有D值之和等于D(i,j),同理活動i到j(luò)之間的所有d值之和等于d(i,j)。這樣,對于upb和lob,可以通過求和計算來驗證是否滿足一致性;對于TT,計算出D(1,i),將其值與活動a1的最小開始時間AFT(a1)求和,然后與TT(i)比較,來檢查是否滿足一致性。
依據(jù)上述的引理,對工作流中的順序關(guān)系、嵌套(并行關(guān)系)進(jìn)行驗證規(guī)則的定義,具體如下:
(1)順序關(guān)系
工作流中最簡單的關(guān)系屬順序關(guān)系,它們之間不存在相互嵌套,這樣的活動有1個必要條件和2個驗證規(guī)則。順序關(guān)系的必要條件(對于活動而言)為
規(guī)則1 如果AFT(i)≥max{TT(i-1)+EFF(i-1)},則活動i滿足約束。
規(guī)則2 如果每項活動4個參數(shù)(最早開始時間AFT、最晚開始時間ALT、最早完成時間AFF、最晚完成時間ALF)之間存在關(guān)系A(chǔ)FT≤ALT≤ALF≤TT,且AFT≤AFF≤ALF≤TT,同時兩項活動i和j之間也有ALF(i)≤AFT(j)(i≤j),則i和j滿足時序一致性。
(2)嵌套或并行關(guān)系
對于嵌套或并行的任務(wù),如果用上述4個參數(shù)驗證,則情況過于復(fù)雜,可以通過任務(wù)間的依賴約束來驗證,規(guī)則如下:
規(guī)則3 4個任務(wù)(i,j,k,l)組成兩個約束X和Y。X表示i和j之間的約束,Y表示k和l之間的約束。嵌套如圖8 所示。當(dāng)且僅當(dāng)D(k,i)+upb(i,j)+D(j,l)≤upb(k,l)時,稱X和Y間的時序依賴是一致的。
以西安某制造廠的設(shè)計制造一體化工作流程為例進(jìn)行建模。
在制造業(yè)各個流程中,角色的到達(dá)時間一般均不可估計,一般可將其設(shè)為未知數(shù),之后的八個參數(shù)通過角色到達(dá)時間、有效時間、活動延遲時間、躍遷有效時間、延遲時間五個常量計算而來。本文以該企業(yè)的設(shè)計制造一體化業(yè)務(wù)流程為例,為了增強本文的可理解性和驗證的方便性,假設(shè)這一工作流角色的到達(dá)時間已知,根據(jù)其值可以推出之后的值,從而保證數(shù)據(jù)的實時性。
該企業(yè)以產(chǎn)品為主線、以項目為單位進(jìn)行各項活動的運作,其設(shè)計制造一體化總共耗時310d,業(yè)務(wù)流程如圖9所示。
此流程的時間基準(zhǔn)點為3月1日,時間粒度為d,采用相對時間進(jìn)行計算。通過對以上設(shè)計制造一體化工作流程進(jìn)行分析,建立如圖10所示的基于時間UML活動圖的工作流模型,并根據(jù)本文所改進(jìn)的檢驗方法,檢驗其工作流的時間一致性,以保證工作流模型時間因素的正確性、有效性和一致性。
利用本文改進(jìn)的驗證引理,對實例中的UML活動圖的時間約束進(jìn)行驗證:
(1)驗證活動的必要條件
1)對于活動1 回復(fù)客戶需求和活動2 創(chuàng)建項目,a1={0,1,1,3},t1={3,3,4,5};a2={6,7,6,8},t2={9,10,10,11},有
2)對于活動2創(chuàng)建項目和活動3項目管理,a2={6,7,6,8},t2={9,10,10,11};a3={11,13,14,17},t3={17,18,18,19},有
3)對于活動3項目管理和活動4任務(wù)分配,a3={11,13,14,17},t3={17,18,18,19};a4={20,21,25,28},t4={28,29,28,29},
4)對于活動4任務(wù)分配和活動5詳細(xì)設(shè)計,a4={20,21,25,28},t4={28,29,28,29};a5={29,31,89,95},t5={95,95,95,95},有
5)對于活動5詳細(xì)設(shè)計和活動6設(shè)計輸出,a5={29,31,89,95},t5={95,95,95,95};a6={95,96,98,103},t6={103,103,103,103},有
6)對于活動6設(shè)計輸出和活動10設(shè)計仿真,a6={95,96,98,103},t6={103,103,103,103};a10={103,103,123,133},t10={133,133,133,133},有
同理,對活動7~活動27進(jìn)行必要性計算和檢查,發(fā)現(xiàn)順序路徑上的所有活動都滿足必要條件。
(2)對每個活動計算D,根據(jù)規(guī)則1驗證其截止期限
1)活動1需求回復(fù)
2)活動2創(chuàng)建項目
3)活動3項目管理
4)活動4任務(wù)分配
5)活動5詳細(xì)設(shè)計
6)活動6設(shè)計輸出
同理,活動7~活動27滿足截止日期的一致性約束。驗證截止日期:
TT(2)=8≥D(1,2)=5+AFT(1)=0,活動2滿足截止時間約束;
TT(3)=17≥D(2,3)=7+AFT(1)=0,活動3滿足截止時間約束;
TT(4)=28≥D(3,4)=7+AFT(1)=0,活動4滿足截止時間約束;
TT(4)=28≥D(1,2)=5+D(2,3)=7+D(3,4)=7+AFT(1)=0,活動4滿足截止時間約束。
以此類推,TT(27)=307≥D(1,27)=256+AFT(1)=0,即整個工作流程滿足截止時間約束。
(3)驗證活動之間的時序一致性
1)活動1回復(fù)需求
2)活動2創(chuàng)建項目
3)活動3項目管理
4)活動4指派任務(wù)
5)活動5詳細(xì)設(shè)計
6)活動6設(shè)計輸出
同理,經(jīng)驗證活動7~活動27滿足活動時序一致性。
(4)驗證嵌套或并行任務(wù)間依賴的一致性
在設(shè)計制造一體化過程流程中,設(shè)計數(shù)據(jù)輸出活動6將所產(chǎn)生的設(shè)計數(shù)據(jù)信息并行轉(zhuǎn)移到設(shè)計仿真活動10和工藝初步規(guī)劃活動8兩種活動。
根據(jù)規(guī)則3,X表示設(shè)計數(shù)據(jù)輸出活動6 與設(shè)計仿真活動10之間的約束,Y表示詳細(xì)設(shè)計活動5和創(chuàng)建審批流程15之間的約束。
同理,經(jīng)過檢驗,并行詳細(xì)設(shè)計活動5、數(shù)據(jù)輸出活動6、工藝初步規(guī)劃活動13和創(chuàng)建審批流程活動15遵循時間約束一致性。
本文基于企業(yè)所面臨的時間問題,綜合考慮流程中遇到的時間因素,對UML 活動圖進(jìn)行擴展。本文方法的優(yōu)點在于:①在考慮活動狀態(tài)所具有的時間因素的同時,也考慮了活動轉(zhuǎn)移的時間約束;②針對活動和轉(zhuǎn)移的時間約束,考慮影響時間的6種因素(活動中資源到來時間、資源的有效時間、活動的延遲時間、躍遷的有效時間、躍遷的延遲時間、活動的截止時間),通過語義形式進(jìn)行描述,并計算出活動的最早開始時間、最晚開始時間、最早結(jié)束時間、最晚結(jié)束時間,躍遷的最早開始時間、最晚開始時間、最早結(jié)束時間、最晚結(jié)束時間,在時間上加強了活動與轉(zhuǎn)移之間的緊密型;③除了對6種路由進(jìn)行時間擴展外,提出基于等待狀態(tài)事件觸發(fā)活動轉(zhuǎn)移路由,解決了循環(huán)活動事件時間計算的問題。最后利用改進(jìn)的時間一致性檢驗方法,通過實例應(yīng)用,對所提方法進(jìn)行檢驗,驗證了其正確性、有效性和一致性。
本文存在以下不足:①未能對UML 活動圖的工作流流程模式進(jìn)行詳細(xì)描述與改進(jìn);②建模的目的除了能夠?qū)I(yè)務(wù)流程有清晰的認(rèn)識外,主要為系統(tǒng)的設(shè)計、流程的優(yōu)化提供有力的支持,因此本文缺乏對系統(tǒng)設(shè)計方面的研究。
未來將著重以該模型為基礎(chǔ),不斷優(yōu)化工作流程的流動模式,同時逐步完成工作流引擎的設(shè)計與實現(xiàn)。因此,為了使模型與引擎能夠達(dá)到完美的配合,今后會將本文建立的工作流模型通過接口轉(zhuǎn)換為基于XPDL(extensible markup language process definition language)的XML文檔,實現(xiàn)模型中的活動、過程與引擎中的活動、過程的完美映射,以達(dá)到模型與引擎的自動交互,最終完成基于時間約束的工作流引擎的開發(fā)工作,從而更好地管理制造企業(yè)業(yè)務(wù)流程中的時間問題,提高企業(yè)生產(chǎn)效率、降低企業(yè)生產(chǎn)成本、縮短產(chǎn)品生產(chǎn)周期。
[1]WANG Xiaohua.Modeling method of workflow process based on extended UML activity diagram[D]:Chongqing:Chongqing University,2005(in Chinese).[王小花.基于擴展的UML活動圖的工作流過程建模[D]:重慶:重慶大學(xué),2005.]
[2]DUMANS M,TER HOFSTEDE A H M.UML activity diagrams as a workflow specification language[J].Lecture Notes in Computer Science,2001,2185:76-90.
[3]ESHUIS R,WIERINGA R.A real-time execution semanticsfor UML activity diagrams[J].Lecture Notes in Computer Science,2001,2029:76-90.
[4]CAI Yan.Comparative analysis of the workflow modeling[C]//Proceedings of International Conference on Management of e-Commerce and e-Government.Washington,D.C.,USA:IEEE,2012:226-229.
[5]BENGHAZI K,GARRIDO J L,NOGUERA M,et al.Extending and formalizing UML 2.0activity diagrams for the specification of time-constrained business processes[C]//Peoceedings of the 4th International Conference on Research Challenges in Information Science.Washington,D.C.,USA:IEEE,2010:93-100.
[6]YOUNES A B,AYED L J,HLAOUI Y B.UML AD refinement patterns for modeling workflow applications[C]//Peoceedings of the 36th Annual Computer Software and Applications Conference Workshops.Washington,D.C.,USA:IEEE,2012:236-241.
[7]LIU Xiao,YANG Yun,JIANG Yuanchun,et.al.Preventing temporal violations in scientific workflows:where and how[J].IEEE Transaction on Software engineering,2011,37(6):805-825.
[8]CUI Meng,YUAN Hai,LI Xuandong,et al.Analyze on timing constraint UML activity diagram model[EB/OL].[2013-03-21].http://d.g.wanfangdata.com.cn/Conference _3511043.aspx(in Chinese).[崔 萌,袁 海,李宣東,等.帶時間約束的UML 活動圖模型的分析[EB/OL].[2013-03-21].http://d.g.wanfangdata.com.cn/Conference_3511043.aspx.]
[9]YU Jia.Study on workflow model based on time Petri net[D].Hangzhou:Zhejiang Industry and Commerce University,2010(in Chinese).[虞 甲.基于時間Petri網(wǎng)的工作流模型研究[D].杭州:浙江工商大學(xué),2010.]
[10]LI Dan,CHEN Qizhang,LIU Qiang.Research and verification of Petri-net based time model in workflow[J].Computer Engineering,2007(7):84-86(in Chinese).[李 丹,陳啟璋,劉 強.一種基于Petri網(wǎng)的時間工作流模型的研究與驗證[J].計算機工程,2007(7):84-86.]
[11]PANG Hui,F(xiàn)ANG Zongde,ZHAO Yong.Simplification analysis and schedulability verification of timing constraint workflow model[J].Computer Integrated Manufacturing Systems,2008,14(11):2217-2223(Chinese).[龐 輝,方宗德,趙 勇.時間約束工作流模型的簡化分析與可調(diào)度性驗證[J].計算機集成制造系統(tǒng),2008,14(11):2217-2223.]
[12]YI Chuntao.The workflow model based on UML activity diagram[D].Daqing:Daqing Petroleum Institue,2007(in Chinese).[伊春濤.基于UML 活動圖的工作流模型[D].大慶:大慶石油學(xué)院,2007.]
[13]YANG Nianhua,YU Huiqun,SUN Hua,et al.Modeling activity diagrams with extended Petri nets[J].Intelligent Automation and Soft Computing,2011,17(6):725-735.
[14]ESHUIS R,WIERINGA.Comparing Petri netand activity diagram variantsfor workflow modelling-aquest for reactive Petri nets[M].Berlin,Germany:Springer-Verlag,2005:945-953.