郭圓圓,趙前進,劉祥偉
(安徽理工大學,安徽 淮南232001)
隨著網絡的普及和發展,各種業務系統不斷涌現,人們對業務流程建模的理論和技術方面也提出了更多的要求,設計者為滿足這種特殊要求的流程模型,將實際要求轉換為業務流程是系統軟件在應用環境中的重要任務之一。由于理論模型的簡單和單一,在實際中不能很好地進行分析,轉化出具有一致性、準確的和符合實際的模型已變得十分迫切。企業根據需求由源模型設計出的目標模型,再根據目標模型與源模型的一致性來判斷目標模型是否符合,重要的是找出目標模型的變化部分,進而找出變化域,再用目標模型和源模型的對應關系,對源模型進行改造,這就是提高和完善模型的一個關鍵性問題。
目前有許多學者在研究變化區域時基本上是從序列角度和流程模型的一致性進行考慮,Matthias等在研究變化域傳播時,利用行為等價的嚴格序概念對活動變遷的一致性進行檢測,Matthias在文獻[3]中根據行為輪廓的相關概念,去定義一些行為關系的活動變遷對進行匹配,然后通過給定節點,尋找對應的變遷區域,根據文獻[1]和[4]可以知道,這些方法雖然都能找到變化域,不過都存在自身的局限性和不完整性。受郝文君的基于petri網的業務流程尋找最小變化域的方法影響,這篇文章給出的是尋找最小變化域的方法。而我們是找變化域,給出源模型,再用一致性關系給出源模型所對應的目標模型,分析源模型和目標模型之間的一致性匹配關系,找出模型的變化域。本文是給出關于尋找一般變化域的方法,以前很少說明,前面給出了尋找變化域的重要性,怎么找呢?本文通過變化節點尋找變化域的方法。
在本文中,筆者建立一個流程模型,并給出一些相關的概念,給出尋找變化域的方法結合實例給出源模型,對源模型進行分析中,提出一種通過流程網的動態行為特征、行為約束以及模型的一致性分析給出目標模型,再對目標模型進行分析,首先確定變化域的范圍,并在此基礎上找出變化域。
這部分主要介紹本文中所用到的一些基本概念,其次是對模型圖進行分析。
定義1(petri網) 滿足下列條件的三元組N=(S,T,F)稱為一個petri網:
1)S是有限庫所集,T是有限變遷集。
2)S≠φ,T≠φ且S∩T=φ。
3)F=(S×T)∪(T×S)表示流關系。
在文獻[2]和[6]中,有關petri網中的前集和后集、標識、可達性和變遷序列,以及網的子集等相關概念在這就不再一一給出了。
Petri網存在一條從始點到終點活動的路徑,以保證網是活的、可達的,不出現死鎖。這就用到了弱序關系,眾所周知,弱序關系是所有關系的基礎,因此,在介紹行為輪廓之前先介紹弱序關系。
定義2[6](弱序關系) (N,[i])是一個工作流系統,弱序關系??T×T包括所有活動變遷對(x,y),若存在j∈{1,…,n-1},并且j<k≤n,這樣存在一個發生序列σ=t1,…,tn,使(N,[i])[σ〉有tj=x,tk=y,則x,y是弱序關系,記作x?y。
根據petri網中不同的2個活動變遷以及它們之間的流關系,先給出嚴格序、排他序和交叉序。
定義3[6](嚴格序) (N,[i])是一個工作流系統,嚴格序關系→?T×T對所有的活動變遷對(x,y)有x?y但y?x,則稱x,y是嚴格序關系,記作x→y。
定義4[6](排他序) (N,[i])是一個工作流系統,排他序關系+?T×T對所有的活動變遷對(x,y)有x?y且y?x,則稱x,y是排他序關系,記作x+y。
定義5[6](交叉序) (N,[i])是一個工作流系統,交叉序關系‖?T×T對所有的活動變遷對(x,y)有x?y且y?x,則稱x,y是交叉序關系,記作x‖y。
結合上面介紹的3種行為關系,下面給出正規的行為輪廓的概念。
定義6[6](行為輪廓) 對一個工作流系統(N,[i]),行為關系集 BP={→,+,‖}作為網(N,[i])的行為輪廓。
為了確定網中2個變遷之間的關系,給出下面圖例,分別說明行為輪廓的幾種關系。圖a所示嚴格序關系,嚴格序關系說明2個變遷必須都發生,從初始標識開始的所有發生序列中A的發生必然引起B的發生,記作A→B。圖b所示的排他序關系,說明在所有的發生序列中A和B都不會在同一條發生序列中,或者A和B在同一發生序列中都不會出現,記作A+B。圖c說明的交叉序關系,說明在一個發生序列中,A和B可以以任何序列存在。因此,交叉關系可以導致循環結構,記作A‖B。
因為有源模型和目標模型,存在變遷對之間的對應關系,下面給出基于行為輪廓的對應關系定義。
定義7[1](對應關系) 2個工作流系統(N1,[i1])和(N2,[i2]),通過2組活動變遷對之間的對應關系,即~?T1×T2,?(tx,ta),(ty,tb)∈~,若對任意的t1∈T1,那么存在t2∈T2使得t1~t2,(tx,ty)?(ta,tb)。
由于目標模型的改變通過行為輪廓表現出來,根據模型與模型之間的對應關系,可以找出目標模型的變化域。
定義8[1](變化域) 給定流程模型petri網BP=(S,T,F,C),若變化部分為BP1=(S1,T1,F1,C1)則BP1是BP的一個子模塊,即S1∈S,T1∈T,F1∈F,C1∈C,BP1?BP。
在文獻[1]和文獻[3]中,給出了其他的一些定義可以參考,這里就不具體介紹了。
基于petri網及行為輪廓來分析業務流程中變化部分,來尋找源模型的變化域,由于靜態尋找變化域的約束和限制,把流程模型抽象成流程模型的petri網,分析源模型和目標模型的對應關系。確定最初的可疑變化區域W,最終找出流程模型的變化域。
為了尋找流程模型的變化域,從petri網出發,根據行為輪廓確定目標模型的變化域W0,
尋找目標模型的變化域W0。

圖1 行為輪廓關系圖
輸入:BP1=(S1,T1,F1,C1),源模型
BP0=(S0,T0,F0,C0),目標模型
輸出:W0,變化區域
1)將源模型和目標模型轉化為petri網結構;
2)根據定義9得到的可疑區域W1,依次標出節點a1a2a3∧an-1an,對應的源模型中的區域W′1;
3)從a1(an)開始考慮它與下一個(上一個)節點的行為關系,若滿足嚴格序(嚴格逆序)關系,那么a1(an)就不是可疑節點,從而可從區域中去除,若不滿足,那么它就是可疑節點;
4)若出現分支結構時,選取一個與源模型比較,看是否滿足嚴格序或嚴格逆序關系,再根據第3判斷;若出現交叉和排他序關系,再回到2);根據上述判斷可以得到變化域W0,然后輸出變化區域W0和可疑節點集U。
3個人出去旅游,有3種做法:(1)3個人能相鄰而坐(也就是坐在一塊);(2)2個人能相鄰而坐,另1個人不相鄰;(3)3個人都不相鄰。怎么坐才能最優?不言而喻,最優的情況就是讓3人能坐在一塊。當3個人坐在一塊不能滿足時,這時再考慮次優情況,2個人坐在一塊而另一個人不能坐在一塊。當次優的情況也不能滿足時,最后考慮都不相鄰。
為了更加清楚明了,如下所示:

其中,火車座位安排如下:

為了計算怎么樣才能出現3個人相鄰、能讓2個人相鄰、都不相鄰3種情況,不妨讓座位號對5求余。

從上面可以看出:
第1種情況:3個人相鄰。若對5求余的余數是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個對象在內,由于各自特征不同,在實際中該模型是不易操作的,所以在考慮各自的特征后且滿足3者需要的前提下,構建一個目標模型,使它與源模型一致,就得到圖3所示的目標模型。

圖2 源模型

圖3 目標模型

圖4 變化域
而火車實際的座位安排如下:

第1種情況:3個人相鄰。
X3 X4 X5或者 X6 X7 X8 在這里X=0,1,2,…
第2種情況:2個人相鄰。
X1 X2或者 X9 X10(在這里X與0前面的數字相加,如X=1,則1+1=2,那么數字就是19 20。
X3 X4另一個不是X5;X4 X5另一個不是X3;X6 X7另一個不是X8;X7 X8另一個不是X6。
第3種情況:3個人都不相鄰。這種情況較多在這里不再討論。不過仍然用上面的圖件來表示和解決。
該實例是用3個人的情況,達到最優的是讓3個人坐在一塊,其中筆者分析的這種情況相對來說是最簡單的,以后不管是3個人相鄰還是多個人相鄰,用到的道理和分析方法都是一樣的,在這就不再分析了。
變化域是業務流程的關鍵問題,所以尋找變化域在業務流程中關系具有一定的現實意義。本文基于Petri網行為輪廓理論尋找變化域,在分析業務流程對應活動變遷的基礎上提出了尋找業務流程變化域的方法,首先通過實際的業務流程得到流程模型Petri網,再根據行為輪廓分析模型Petri網,并畫出源模型,隨后根據源模型與目標模型之間的一致性及相對活動變遷之間的對應關系,找出疑似變化點并分析模型的疑似變化域,最后用行為輪廓確定最小變化域。在本文給出的實例中也證明了該方法的有效性。
尋找業務流程的變化域在現實中有很大的應用價值,所以筆者計劃將其運用到流程模型中尋找變化域,從而改進模型,使模型更加優化,希望能在不久的將來開發和完善一套先進的操作系統使得尋找變換域與優化模型一體化。由于它的應用范圍廣泛,希望這個想法很快能夠實現。
[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網理論[M].北京:機械工業出版社,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原理與應用[M].北京:電子工業出版社,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.