郭圓圓,趙前進,劉祥偉
(安徽理工大學(xué),安徽 淮南232001)
隨著網(wǎng)絡(luò)的普及和發(fā)展,各種業(yè)務(wù)系統(tǒng)不斷涌現(xiàn),人們對業(yè)務(wù)流程建模的理論和技術(shù)方面也提出了更多的要求,設(shè)計者為滿足這種特殊要求的流程模型,將實際要求轉(zhuǎn)換為業(yè)務(wù)流程是系統(tǒng)軟件在應(yīng)用環(huán)境中的重要任務(wù)之一。由于理論模型的簡單和單一,在實際中不能很好地進行分析,轉(zhuǎn)化出具有一致性、準確的和符合實際的模型已變得十分迫切。企業(yè)根據(jù)需求由源模型設(shè)計出的目標模型,再根據(jù)目標模型與源模型的一致性來判斷目標模型是否符合,重要的是找出目標模型的變化部分,進而找出變化域,再用目標模型和源模型的對應(yīng)關(guān)系,對源模型進行改造,這就是提高和完善模型的一個關(guān)鍵性問題。
目前有許多學(xué)者在研究變化區(qū)域時基本上是從序列角度和流程模型的一致性進行考慮,Matthias等在研究變化域傳播時,利用行為等價的嚴格序概念對活動變遷的一致性進行檢測,Matthias在文獻[3]中根據(jù)行為輪廓的相關(guān)概念,去定義一些行為關(guān)系的活動變遷對進行匹配,然后通過給定節(jié)點,尋找對應(yīng)的變遷區(qū)域,根據(jù)文獻[1]和[4]可以知道,這些方法雖然都能找到變化域,不過都存在自身的局限性和不完整性。受郝文君的基于petri網(wǎng)的業(yè)務(wù)流程尋找最小變化域的方法影響,這篇文章給出的是尋找最小變化域的方法。而我們是找變化域,給出源模型,再用一致性關(guān)系給出源模型所對應(yīng)的目標模型,分析源模型和目標模型之間的一致性匹配關(guān)系,找出模型的變化域。本文是給出關(guān)于尋找一般變化域的方法,以前很少說明,前面給出了尋找變化域的重要性,怎么找呢?本文通過變化節(jié)點尋找變化域的方法。
在本文中,筆者建立一個流程模型,并給出一些相關(guān)的概念,給出尋找變化域的方法結(jié)合實例給出源模型,對源模型進行分析中,提出一種通過流程網(wǎng)的動態(tài)行為特征、行為約束以及模型的一致性分析給出目標模型,再對目標模型進行分析,首先確定變化域的范圍,并在此基礎(chǔ)上找出變化域。
這部分主要介紹本文中所用到的一些基本概念,其次是對模型圖進行分析。
定義1(petri網(wǎng)) 滿足下列條件的三元組N=(S,T,F(xiàn))稱為一個petri網(wǎng):
1)S是有限庫所集,T是有限變遷集。
2)S≠φ,T≠φ且S∩T=φ。
3)F=(S×T)∪(T×S)表示流關(guān)系。
在文獻[2]和[6]中,有關(guān)petri網(wǎng)中的前集和后集、標識、可達性和變遷序列,以及網(wǎng)的子集等相關(guān)概念在這就不再一一給出了。
Petri網(wǎng)存在一條從始點到終點活動的路徑,以保證網(wǎng)是活的、可達的,不出現(xiàn)死鎖。這就用到了弱序關(guān)系,眾所周知,弱序關(guān)系是所有關(guān)系的基礎(chǔ),因此,在介紹行為輪廓之前先介紹弱序關(guān)系。
定義2[6](弱序關(guān)系) (N,[i])是一個工作流系統(tǒng),弱序關(guān)系??T×T包括所有活動變遷對(x,y),若存在j∈{1,…,n-1},并且j<k≤n,這樣存在一個發(fā)生序列σ=t1,…,tn,使(N,[i])[σ〉有tj=x,tk=y(tǒng),則x,y是弱序關(guān)系,記作x?y。
根據(jù)petri網(wǎng)中不同的2個活動變遷以及它們之間的流關(guān)系,先給出嚴格序、排他序和交叉序。
定義3[6](嚴格序) (N,[i])是一個工作流系統(tǒng),嚴格序關(guān)系→?T×T對所有的活動變遷對(x,y)有x?y但y?x,則稱x,y是嚴格序關(guān)系,記作x→y。
定義4[6](排他序) (N,[i])是一個工作流系統(tǒng),排他序關(guān)系+?T×T對所有的活動變遷對(x,y)有x?y且y?x,則稱x,y是排他序關(guān)系,記作x+y。
定義5[6](交叉序) (N,[i])是一個工作流系統(tǒng),交叉序關(guān)系‖?T×T對所有的活動變遷對(x,y)有x?y且y?x,則稱x,y是交叉序關(guān)系,記作x‖y。
結(jié)合上面介紹的3種行為關(guān)系,下面給出正規(guī)的行為輪廓的概念。
定義6[6](行為輪廓) 對一個工作流系統(tǒng)(N,[i]),行為關(guān)系集 BP={→,+,‖}作為網(wǎng)(N,[i])的行為輪廓。
為了確定網(wǎng)中2個變遷之間的關(guān)系,給出下面圖例,分別說明行為輪廓的幾種關(guān)系。圖a所示嚴格序關(guān)系,嚴格序關(guān)系說明2個變遷必須都發(fā)生,從初始標識開始的所有發(fā)生序列中A的發(fā)生必然引起B(yǎng)的發(fā)生,記作A→B。圖b所示的排他序關(guān)系,說明在所有的發(fā)生序列中A和B都不會在同一條發(fā)生序列中,或者A和B在同一發(fā)生序列中都不會出現(xiàn),記作A+B。圖c說明的交叉序關(guān)系,說明在一個發(fā)生序列中,A和B可以以任何序列存在。因此,交叉關(guān)系可以導(dǎo)致循環(huán)結(jié)構(gòu),記作A‖B。
因為有源模型和目標模型,存在變遷對之間的對應(yīng)關(guān)系,下面給出基于行為輪廓的對應(yīng)關(guān)系定義。
定義7[1](對應(yīng)關(guān)系) 2個工作流系統(tǒng)(N1,[i1])和(N2,[i2]),通過2組活動變遷對之間的對應(yīng)關(guān)系,即~?T1×T2,?(tx,ta),(ty,tb)∈~,若對任意的t1∈T1,那么存在t2∈T2使得t1~t2,(tx,ty)?(ta,tb)。
由于目標模型的改變通過行為輪廓表現(xiàn)出來,根據(jù)模型與模型之間的對應(yīng)關(guān)系,可以找出目標模型的變化域。
定義8[1](變化域) 給定流程模型petri網(wǎng)BP=(S,T,F(xiàn),C),若變化部分為BP1=(S1,T1,F(xiàn)1,C1)則BP1是BP的一個子模塊,即S1∈S,T1∈T,F(xiàn)1∈F,C1∈C,BP1?BP。
在文獻[1]和文獻[3]中,給出了其他的一些定義可以參考,這里就不具體介紹了。
基于petri網(wǎng)及行為輪廓來分析業(yè)務(wù)流程中變化部分,來尋找源模型的變化域,由于靜態(tài)尋找變化域的約束和限制,把流程模型抽象成流程模型的petri網(wǎng),分析源模型和目標模型的對應(yīng)關(guān)系。確定最初的可疑變化區(qū)域W,最終找出流程模型的變化域。
為了尋找流程模型的變化域,從petri網(wǎng)出發(fā),根據(jù)行為輪廓確定目標模型的變化域W0,
尋找目標模型的變化域W0。
圖1 行為輪廓關(guān)系圖
輸入:BP1=(S1,T1,F(xiàn)1,C1),源模型
BP0=(S0,T0,F(xiàn)0,C0),目標模型
輸出:W0,變化區(qū)域
1)將源模型和目標模型轉(zhuǎn)化為petri網(wǎng)結(jié)構(gòu);
2)根據(jù)定義9得到的可疑區(qū)域W1,依次標出節(jié)點a1a2a3∧an-1an,對應(yīng)的源模型中的區(qū)域W′1;
3)從a1(an)開始考慮它與下一個(上一個)節(jié)點的行為關(guān)系,若滿足嚴格序(嚴格逆序)關(guān)系,那么a1(an)就不是可疑節(jié)點,從而可從區(qū)域中去除,若不滿足,那么它就是可疑節(jié)點;
4)若出現(xiàn)分支結(jié)構(gòu)時,選取一個與源模型比較,看是否滿足嚴格序或嚴格逆序關(guān)系,再根據(jù)第3判斷;若出現(xiàn)交叉和排他序關(guān)系,再回到2);根據(jù)上述判斷可以得到變化域W0,然后輸出變化區(qū)域W0和可疑節(jié)點集U。
3個人出去旅游,有3種做法:(1)3個人能相鄰而坐(也就是坐在一塊);(2)2個人能相鄰而坐,另1個人不相鄰;(3)3個人都不相鄰。怎么坐才能最優(yōu)?不言而喻,最優(yōu)的情況就是讓3人能坐在一塊。當(dāng)3個人坐在一塊不能滿足時,這時再考慮次優(yōu)情況,2個人坐在一塊而另一個人不能坐在一塊。當(dāng)次優(yōu)的情況也不能滿足時,最后考慮都不相鄰。
為了更加清楚明了,如下所示:
其中,火車座位安排如下:
為了計算怎么樣才能出現(xiàn)3個人相鄰、能讓2個人相鄰、都不相鄰3種情況,不妨讓座位號對5求余。
從上面可以看出:
第1種情況:3個人相鄰。若對5求余的余數(shù)是3,4,0的就證明3個座位挨在一塊。如:(3,4,0);
第2種情況:2個人相鄰。若從對5求余的3,4,0中抽出3,4或4,0,再從1,2中抽出1個;要不就是1,2在一塊,從3,4,0中抽出1個這是2個座位挨在一塊。
如:(3,4),1 (3,4),2 (4,0),1 (4,0),2(1,2),3 (1,2),4 (1,2),0;
第3種情況:都不相鄰。都不相鄰這種情況較多在這里就不一一敘述。在這里若3個人相鄰僅限于3張座位號相鄰,不相鄰的不考慮;若2個人相鄰僅限于其中2相鄰的座位號相鄰。
圖2是針對買票所建立起來的流程圖,糅合了顧客、售票中心以及支付中心3個對象在內(nèi),由于各自特征不同,在實際中該模型是不易操作的,所以在考慮各自的特征后且滿足3者需要的前提下,構(gòu)建一個目標模型,使它與源模型一致,就得到圖3所示的目標模型。
圖2 源模型
圖3 目標模型
圖4 變化域
而火車實際的座位安排如下:
第1種情況:3個人相鄰。
X3 X4 X5或者 X6 X7 X8 在這里X=0,1,2,…
第2種情況:2個人相鄰。
X1 X2或者 X9 X10(在這里X與0前面的數(shù)字相加,如X=1,則1+1=2,那么數(shù)字就是19 20。
X3 X4另一個不是X5;X4 X5另一個不是X3;X6 X7另一個不是X8;X7 X8另一個不是X6。
第3種情況:3個人都不相鄰。這種情況較多在這里不再討論。不過仍然用上面的圖件來表示和解決。
該實例是用3個人的情況,達到最優(yōu)的是讓3個人坐在一塊,其中筆者分析的這種情況相對來說是最簡單的,以后不管是3個人相鄰還是多個人相鄰,用到的道理和分析方法都是一樣的,在這就不再分析了。
變化域是業(yè)務(wù)流程的關(guān)鍵問題,所以尋找變化域在業(yè)務(wù)流程中關(guān)系具有一定的現(xiàn)實意義。本文基于Petri網(wǎng)行為輪廓理論尋找變化域,在分析業(yè)務(wù)流程對應(yīng)活動變遷的基礎(chǔ)上提出了尋找業(yè)務(wù)流程變化域的方法,首先通過實際的業(yè)務(wù)流程得到流程模型Petri網(wǎng),再根據(jù)行為輪廓分析模型Petri網(wǎng),并畫出源模型,隨后根據(jù)源模型與目標模型之間的一致性及相對活動變遷之間的對應(yīng)關(guān)系,找出疑似變化點并分析模型的疑似變化域,最后用行為輪廓確定最小變化域。在本文給出的實例中也證明了該方法的有效性。
尋找業(yè)務(wù)流程的變化域在現(xiàn)實中有很大的應(yīng)用價值,所以筆者計劃將其運用到流程模型中尋找變化域,從而改進模型,使模型更加優(yōu)化,希望能在不久的將來開發(fā)和完善一套先進的操作系統(tǒng)使得尋找變換域與優(yōu)化模型一體化。由于它的應(yīng)用范圍廣泛,希望這個想法很快能夠?qū)崿F(xiàn)。
[1]Matthias Weidlich,Mahias Weske,Jan Mendling.Change Propagation in Process Models Using Behavioural Profiles:Service Computing.Potsdam 2009[C].Bangalore:IEEE Conference Publications,2009:33-40 [10.1109/SCC.2009.58].
[2]吳哲輝.Petri網(wǎng)理論[M].北京:機械工業(yè)出版社,2006.
[3]Xianwen Fang,Wenjun Hao.The Approach of Analyzing the Smallest Change Domain in Process Models based on Petri Nets[J].Applied Mathematics and Information Sciences,2012,6(3);943-949.
[4]Matthias Weidlich,Artem Polyvyanyy,Nirmit Desai et al.Process Compliance Analysis based on Behavioural Profiles[J].Information Systems,2011,36(7):1009-1025.
[5]Matthias Weidlich,Jan Mendling,Mathias Weske.Efficient Consistency Measurement based on Behavioural Profiles of Process Models[J].Software Engineering,2011,37(3):410-429.
[6]袁崇義.Petri原理與應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[7]Sergey S,Matthias W,Jan M.Business Process Model Abstraction based on Behavioral Profiles[C].Editor:Paul P.Sth International Conference,ICSOS 2010.San Francisco,2010:1-16.
[8]Matthias Weidlich,Jan Mendling,Mathias Weske.Propagating Changes between Aligned Process Models based on Petri Nets[J].Applied Mathematics and Information Sciences,2012,6(3):943-949.