王倩倩 方賢文
1(安徽科技學(xué)院信息與網(wǎng)絡(luò)工程學(xué)院 安徽 蚌埠 233030)2(安徽理工大學(xué)數(shù)學(xué)與大數(shù)據(jù)學(xué)院 安徽 淮南 232001)
在大多數(shù)應(yīng)用領(lǐng)域中,流程變化被認(rèn)為是至關(guān)重要的[1]。有多種原因可以引起業(yè)務(wù)流程的變化,例如新法規(guī)的實(shí)施、新市場(chǎng)需求的出現(xiàn)等。變化不僅涉及流程的結(jié)構(gòu),還涉及相應(yīng)的規(guī)則(例如,服從性、隱私或安全規(guī)則)。文獻(xiàn)[2]中指出在多個(gè)流程合作伙伴共同協(xié)作的流程協(xié)作中,處理變化可能更加復(fù)雜,一個(gè)流程上的變化可能會(huì)對(duì)其他流程合作伙伴產(chǎn)生影響。例如,賣(mài)家可能希望在買(mǎi)家收貨后向賣(mài)家發(fā)送一份關(guān)于客戶(hù)滿(mǎn)意度的問(wèn)卷,這可以通過(guò)在賣(mài)家的私有流程中插入相應(yīng)的活動(dòng)來(lái)實(shí)現(xiàn)。如,某寶網(wǎng)上賣(mài)家希望得到客戶(hù)滿(mǎn)意度的協(xié)作流程中,賣(mài)家通過(guò)分別在私有流程和公共流程中插入相應(yīng)的活動(dòng)“開(kāi)發(fā)問(wèn)卷”和“發(fā)送問(wèn)卷”,向買(mǎi)家發(fā)送相應(yīng)的變化請(qǐng)求,從而影響買(mǎi)家能夠接收相應(yīng)的消息并對(duì)其反饋。在這種情況下,初始變化導(dǎo)致了多個(gè)合作伙伴的傳遞效應(yīng)。Weidlich[3]使用行為輪廓來(lái)識(shí)別流程中變化的區(qū)域,并將變化傳播到不同抽象級(jí)別的其他流程中。由于流程模型結(jié)構(gòu)中的任何變化都會(huì)影響節(jié)點(diǎn)之間的關(guān)系(即行為輪廓),因此可以識(shí)別變化的區(qū)域,這種方法不考慮數(shù)據(jù)屬性。文獻(xiàn)[4]中,先給定流程模型的變化,通過(guò)使用行為輪廓中的行為關(guān)系,以確定另一個(gè)模型中的變化區(qū)域。此方法可以應(yīng)對(duì)與層次結(jié)構(gòu)不相關(guān)的模型對(duì)的變化,并顯示行為不一致性,缺點(diǎn)是通過(guò)錯(cuò)誤地識(shí)別對(duì)應(yīng)關(guān)系,可能增加不一致程度。文獻(xiàn)[5]提出了一種通過(guò)更新相應(yīng)的流程視圖來(lái)改變大型流程模型的方法,同時(shí)保證了所有其他流程視圖在流程模型上的更新和一致性。可以將相應(yīng)的變化操作應(yīng)用于流程視圖,并將相應(yīng)的變化正確地傳播到基礎(chǔ)流程模型。此外,與此流程模型相關(guān)的所有其他視圖也將被遷移到流程模型的新版本。文獻(xiàn)[6]提出了一種通用的方法來(lái)傳播協(xié)作過(guò)程維護(hù)場(chǎng)景中的變化,以保持調(diào)用一致性。在這樣的場(chǎng)景中,不同的業(yè)務(wù)合作伙伴擁有自己的私有流程,從該流程可以為其他參與者提供公共視圖。文獻(xiàn)[7]提出了一種基于并發(fā)事務(wù)邏輯(CTR)的服從性驗(yàn)證方法,該方法通過(guò)將流程圖轉(zhuǎn)換為CTR公式來(lái)根據(jù)CTR中指定的約束驗(yàn)證流程模型,并允許應(yīng)用推理技術(shù)來(lái)識(shí)別語(yǔ)義沖突。文獻(xiàn)[8]使用FCL來(lái)指定契約,從業(yè)務(wù)契約的角度來(lái)處理服從性驗(yàn)證。通過(guò)將流程模型轉(zhuǎn)換為類(lèi)似于契約符號(hào)的形式來(lái)驗(yàn)證BPMN流程與給定契約的服從性。文獻(xiàn)[9]提供了算法來(lái)自動(dòng)檢查交互模型的不同類(lèi)型的服從性,即交互模型不與全局服從性規(guī)則沖突的能力。它可自動(dòng)檢查分布式協(xié)作工作流的公共元素是否確保全局服從性規(guī)則,并開(kāi)發(fā)了一個(gè)概念驗(yàn)證原型來(lái)支持分布式和協(xié)作工作流的兼容性和服從性檢查。與組織內(nèi)流程的業(yè)務(wù)流程管理研究相比,在許多流程模型存儲(chǔ)庫(kù)作為模擬和工作評(píng)估的支持而存在的情況下,在組織間流程的上下文中缺乏此類(lèi)存儲(chǔ)庫(kù)已成為一種不便。文獻(xiàn)[10]使用LTL為流程模型開(kāi)發(fā)了一個(gè)服從性檢查框架,但是他們的方法只能在流程模型級(jí)別處理服從性。文獻(xiàn)[11]提出了一種檢測(cè)變化對(duì)協(xié)作流程服從性影響的方法,并在協(xié)作流程設(shè)置中提高了服從性檢查的效率,但是沒(méi)有考慮相關(guān)合作伙伴的隱私問(wèn)題。
基于以上背景,許多研究都集中在協(xié)作業(yè)務(wù)流程的變化域傳播分析,但很少考慮不同級(jí)別服從性變化在協(xié)作流程中如何進(jìn)行傳播的,具有一定的局限性。因此在文獻(xiàn)[12]基礎(chǔ)上,本文提出了基于服從性的協(xié)作流程變化域傳播分析方法。首先根據(jù)隨機(jī)編排模型算法生成編排模型,并推導(dǎo)出公共模型和私有模型,得到一個(gè)協(xié)作模型,然后基于服從性變化傳播算法,分析不同級(jí)別的服從性發(fā)生變化是如何在協(xié)作模型中傳播的,最后通過(guò)模型之間的映射關(guān)系發(fā)現(xiàn)相關(guān)流程的變化域。
定義1[9](協(xié)作流程) 在協(xié)作流程中,P為所涉及合作伙伴的集合,并且p∈P是任意的合作伙伴,則:
1)T是所有任務(wù)(即活動(dòng))的集合,Tp?T是由p執(zhí)行的任務(wù)集。Tp被劃分為公共任務(wù)的集合Vp和私有任務(wù)的集合Sp,即Tp=Vp∪Sp。
2)M對(duì)應(yīng)于所有交互的集合,Mp?M對(duì)應(yīng)于涉及p的所有交互的集合,即發(fā)送或接收的消息。對(duì)于特定的交互I(m,s,r),消息m從s∈P發(fā)送到r∈P。SEND(I(m,s,r))、REC(I(m,s,r))表示I(m,s,r)的發(fā)送、接收任務(wù)。
3)Πp是p的私有流程模型。它包括Tp的任務(wù)和Mp的相互作用。Π對(duì)應(yīng)于所有私有流程模型的集合。
4)γp是p的公共流程模型。它包括Vp的公共任務(wù)和Mp的交互。Γ對(duì)應(yīng)于所有公共流程模型的集合。
5)lp是交互模型中p的局部視圖,它發(fā)送和接收Mp的元素。L是所有局部視圖的集合。
6)H是由M的相互作用組成的全局交互模型,即編排模型。
7) M:=Π∪Γ∪L∪{H}是所有模型的集合。
定義2(映射函數(shù)) 在協(xié)作流程中,P為所涉及合作伙伴的集合,并且p∈P是任意的合作伙伴,有:
1)ψ={ψp:γp?Πp}p∈P是私有和公共模型之間節(jié)點(diǎn)的映射函數(shù)。
2)φ:γ?γ′是不同公共模型之間節(jié)點(diǎn)的映射函數(shù)。
3)φ:γ?H是編排模型與公共模型之間節(jié)點(diǎn)的映射函數(shù)。
定義3[9](跡) 設(shè)n∈M是一個(gè)模型,Κ?M是模型的子集,t∈T∪M是任務(wù)或交互,E?T∪M,ξ?((T×P)∪M)*是由任務(wù)和消息組成的跡。然后:
1)t∈+n表示t用于n。此外,n∈:={t∈T∪M|t∈+n}表示n使用的任務(wù)和交互集合。
2)ξ(n)∈((T×P)∪M)*是n上可產(chǎn)生的跡集。每個(gè)跡條目包含交換的消息或特定合作伙伴執(zhí)行的任務(wù)。
4) [ξ]E∈((T×P)∪M)*對(duì)應(yīng)于通過(guò)任意添加E的元素(即任務(wù)和消息)來(lái)得到的一組跡。
5) ?:=ξ*({H}∪Π)描述協(xié)作模型產(chǎn)生的跡集。?的近似有:
通常,業(yè)務(wù)流程服從性意味著協(xié)作流程不會(huì)違反服從性規(guī)則。對(duì)于協(xié)作流程模型,需要區(qū)分三個(gè)不同級(jí)別的服從性:局部服從性、斷言服從性和全局服從性。首先,局部服從性意味著合作伙伴的私有流程不違反其任何局部服從性規(guī)則。其次,斷言的服從性意味著特定的合作伙伴向其他合作伙伴保證其私有流程服從特定的服從性規(guī)則集,即其斷言集。因此,每個(gè)斷言對(duì)應(yīng)于與此特定合作伙伴的私有流程模型相關(guān)的局部服從性規(guī)則。最后,全局服從性意味著公共流程模型不違反任何全局服從性規(guī)則。
定義5[9](服從性和可兼容性) 設(shè)H為合作伙伴集P的編排模型,Γ是P的公共流程模型的集合。p∈P為合作伙伴,Πp∈Π為其私有過(guò)程模型,γp∈Γ為其公共過(guò)程模型。lr∈LCRp為p的局部服從規(guī)則,gr∈GCRp為全局服從規(guī)則,A為所有斷言的集合。則:
1)Πp|=lr:??τ∈ξ(Πp):τ|=β(lr),表示私有流程Πp服從局部服從規(guī)則lr。
2)H|=GCR:??τ∈ζG:τ|=∧gr∈GCRβ(gr),表示編排模型H服從全局服從性規(guī)則GCR。
3)H‖-GCR:??I(m,s,r)∈+H:?τ∈ζG:τ|=β(gr)和I(m,s,r)出現(xiàn)在τ中,表示編排模型H全面兼容全局服從性規(guī)則GCR。
定義6[13](域) 給定一個(gè)過(guò)渡流程PM′=(A′,G′,N′,F′,s′,e′,t′),一個(gè)流程PM=(A,G,N,F,s,e,t),若PM′中有域R(a),則兩者之間有映射h:PM′→PM且a∈A,都有R(a)={a′∈A′|h(a′)=a}。
定義7[14](配置活動(dòng)類(lèi)型)
1) allow:允許活動(dòng)是可見(jiàn)并且可執(zhí)行的活動(dòng)。
2) hide:隱藏活動(dòng)是可以被跳過(guò)而直接執(zhí)行下一個(gè)活動(dòng)的活動(dòng),即該活動(dòng)不可見(jiàn)。
3) block:阻塞活動(dòng)是活動(dòng)分支被禁止選擇的活動(dòng),也就是刪除該活動(dòng)的分支。
其中配置參數(shù)allow作為默認(rèn)參數(shù),適用于所有活動(dòng)集。
協(xié)作流程中的流程模型(例如公共或私有模型)和所涉及的服從性規(guī)則(例如全局或局部規(guī)則)是緊密相關(guān)的。更改流程模型不僅會(huì)影響其他合作伙伴的流程模型,還可能導(dǎo)致違反各自的服從性規(guī)則。同樣,服從性規(guī)則的更改(例如,法律)也會(huì)對(duì)合作伙伴流程產(chǎn)生影響,從而導(dǎo)致其他合作伙伴的更改或者與其他合作伙伴的服從規(guī)則產(chǎn)生沖突。因此,本文針對(duì)基于服從性的協(xié)作流程變化域傳播問(wèn)題,主要從以下步驟進(jìn)行處理:1) 生成編排模型;2) 計(jì)算公共/私有模型;3) 判斷變化對(duì)流程是否有影響;4) 判斷變化是否影響全局服從性;5) 計(jì)算直接或間接變化域;6) 確定目標(biāo)變化域。圖1為協(xié)作流程變化傳播流程。
圖1 協(xié)作流程變化傳播流程
本節(jié)從參數(shù)約束的角度來(lái)分析隨機(jī)編排模型的生成,并指定以下輸入?yún)?shù)來(lái)影響編排模型的隨機(jī)生成:1) 交互數(shù)量:決定消息交換的數(shù)量;2) 最大分支:為每個(gè)網(wǎng)關(guān)創(chuàng)建的最大可能路徑數(shù)。由于對(duì)交互數(shù)量的限制,交互不一定總是被選擇為下一個(gè)節(jié)點(diǎn)類(lèi)型。同樣,并不是每個(gè)打開(kāi)的分支都可以被隨機(jī)選擇以將下一個(gè)節(jié)點(diǎn)放入模型中,因?yàn)檫@可能會(huì)違反模型的正確性或超過(guò)定義的交互次數(shù)。因此,本文提出了隨機(jī)編排模型生成算法,該算法受到參數(shù)的約束,并且可以隨機(jī)選擇要放入模型中的下一個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)類(lèi)型和相應(yīng)位置,而不會(huì)導(dǎo)致錯(cuò)誤的模型。
任何流程模型都可以由圖2中所示的一組基本結(jié)構(gòu)表示,包括順序、選擇和并行。若為模型中的網(wǎng)關(guān)分支創(chuàng)建拆分,每個(gè)拆分可以包含多個(gè)分支,這些分支表示由并行或排他網(wǎng)關(guān)創(chuàng)建的不同路徑。同樣,每個(gè)分支都有相應(yīng)的節(jié)點(diǎn),在編排模型中,節(jié)點(diǎn)僅限于交互和網(wǎng)關(guān)。而路徑跟拆分受其相應(yīng)分支網(wǎng)關(guān)節(jié)點(diǎn)的合并節(jié)點(diǎn)的限制,即若前有并行(排他)網(wǎng)關(guān),后則有并行(排他)網(wǎng)關(guān)與之相對(duì)應(yīng)(圖2(b)和圖2(c))。此外,每個(gè)分支都有一個(gè)狀態(tài),指示分支是open、split還是close。
(a) 順序 (b) 并行 (c) 排他圖2 流程模型的基本結(jié)構(gòu)
定義8(分支的狀態(tài))
1) open:分支尚未被其相應(yīng)拆分節(jié)點(diǎn)的合并節(jié)點(diǎn)包圍,并且可以通過(guò)在其路徑上放置更多節(jié)點(diǎn)來(lái)進(jìn)一步發(fā)展。
2) split:如果分支包含另一個(gè)拆分,所有拆分分支都尚未關(guān)閉且分支不能進(jìn)一步發(fā)展,則該分支處于拆分狀態(tài)。
3) close:分支已完成,無(wú)法進(jìn)一步發(fā)展。
例如圖3中分支1的狀態(tài)為open,圖4中分支2的狀態(tài)為split,圖5中所有分支的狀態(tài)為close。
圖3 分支的狀態(tài)open
圖4 分支的狀態(tài)split
定義9[15]設(shè)x是打開(kāi)和不可關(guān)閉的分支數(shù),剩余交互是尚未放入模型的所有交互,剩余XOR網(wǎng)關(guān)和剩余AND網(wǎng)關(guān)是尚未放入模型的網(wǎng)關(guān)數(shù)量。然后:
保留交互分支=x
保留交互AND網(wǎng)關(guān)=剩余AND網(wǎng)關(guān)+1
保留交互AND網(wǎng)關(guān)=如果剩余AND網(wǎng)關(guān)>0則為0,否則為1
保留交互網(wǎng)關(guān)=保留交互AND網(wǎng)關(guān)+保留交互XOR網(wǎng)關(guān)
所有的保留交互=保留交互分支+保留交互網(wǎng)關(guān)
自由交互=剩余交互-所有的保留交互
根據(jù)定義9中指定變量的值,可以隨機(jī)選擇要放入模型中的下一個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)類(lèi)型和相應(yīng)位置,而不會(huì)導(dǎo)致錯(cuò)誤的模型。下面給出了隨機(jī)編排模型生成的算法。
算法1隨機(jī)編排模型的生成
1 begin:
2 for(i=remainingInteractionsNodes; i>0; i--)
3 {
4 nextNodeType=getRandomNodeType();
5 selectedBranch=getRandomBranch();
6 if selectedBranch=getRandomBranch()
7 {
8 close branch by random;
9 if closed
10 { continue;}
11 else
12 nextNode=instantiate node of nextNodeType;
13 if nextNodeType is Gateway
14 {
15 branchCount=getRandomBranchCount();
16 split=instantiate new split;
17 for(j=0; j<=banchCount; j++)
18 {
19 branch=instantiate new branch;
20 split.branches.append()=branch;
21 }
22 }
23 selectedBranch.nodes=selectedBranch.nodes∪ nextNode;
24 }
25 }
26 close still open splits;
27 add end event to root branch;
28 enrich interactions with reasonable sender and receiver sequence;
29 end
在算法1的基礎(chǔ)上,遵循自頂向下的方法,派生和定義每個(gè)合作伙伴的公共模型。因此,編排模型的每個(gè)交互(編排任務(wù))在相應(yīng)的公共流程模型中轉(zhuǎn)換為發(fā)送和接收任務(wù)。然后,通過(guò)使用抽象的私有任務(wù)豐富公共模型,每個(gè)私有模型都是從相應(yīng)的公共模型派生而來(lái)的。最后,通過(guò)互連所有公共模型來(lái)構(gòu)建協(xié)作模型。
在本節(jié)中,首先使用圖6、圖7和圖8來(lái)分析不同級(jí)別服從性變化如何在協(xié)作模型中進(jìn)行變化傳播的,圖中兩個(gè)節(jié)點(diǎn)之間的虛線(xiàn)鏈接表示可能的傳播。在變化傳播的過(guò)程中,可能導(dǎo)致某些模型發(fā)生變化,產(chǎn)生一定的變化域。因此本節(jié)提出了尋找基于局部(全局)服從性變化的協(xié)作流程的變化域。
圖6 LCR變化的影響
圖7 斷言變化的影響
圖8 GCR變化的影響
圖6描述的是局部服從性變化的影響。如果合作伙伴p的局部服從性發(fā)生變化,則需要檢查p的私有模型是否符合變化后的規(guī)則。如果不符合,則需要確定變化位置來(lái)更改私有模型。如果私有模型的變化不是局部的,那么變化就需要進(jìn)行傳播。在這個(gè)過(guò)程,變化傳播分為兩類(lèi):直接變化傳播和間接變化傳播。對(duì)于間接變化傳播可以利用中間方的信息交換來(lái)進(jìn)行變化傳播。這樣模型產(chǎn)生的變化域可能是直接造成的,也可能是間接造成的。如圖9所示,私有模型p變化導(dǎo)致相應(yīng)公共模型p1產(chǎn)生的變化域?yàn)橹苯拥?而與p的公共模型相關(guān)的其他公共模型p3產(chǎn)生的變化域是間接的,是通過(guò)中間方p1間接傳遞的。
圖9 間接影響
圖7中描述的是斷言變化的影響。如果斷言變化,則檢查斷言中涉及的私有和公共模型的可兼容性。當(dāng)不兼容時(shí),則需要更改模型,那么就需要使用與前一步相同的確定變化域過(guò)程。算法2給出了尋找基于局部服從性變化的協(xié)作流程的變化域。
算法2尋找基于局部服從性變化的協(xié)作流程的變化域
輸入:變化的lr、gr,協(xié)作流程。
輸出:變化域。
步驟1在協(xié)作流程中,如果Πp|≠changedlr,則根據(jù)changedlr找到Πp變化區(qū)域CR1;如果Πp|=changedlr,則無(wú)影響返回Πp。
步驟2?x∈CR1,在γp中的映射節(jié)點(diǎn)為ψ(x),所有的映射節(jié)點(diǎn)構(gòu)成γp的變化域CR2。
步驟3如果γp|≠gr,則返回步驟1,重新尋找Πp變化域;如果γp|=gr,?ψ(x)∈CR2,對(duì)于與γp相關(guān)的公共模型γp′,其映射節(jié)點(diǎn)為φ(ψ(x)),同樣可得到γp′的變化域CR3。
步驟4?φ(ψ(x))∈CR3,在Πp′的映射節(jié)點(diǎn)為ψ(φ(ψ(x))),則Πp′的變化域?yàn)镃R4。
步驟5如果Πp′|≠changedlr,返回步驟4重新計(jì)算CR4;如果Πp′|=changedlr,則Πp′的變化域?yàn)镃R4。
步驟6輸出變化域CR1、CR2、CR3、CR4。
圖8中描述的是GCR變化。如果全局服從性規(guī)則發(fā)生變化,那么將檢查編排模型以及相關(guān)公共模型的兼容性。當(dāng)不兼容時(shí),就要確定編排模型的變化導(dǎo)致公共模型產(chǎn)生的變化域。對(duì)于涉及到更改的公共模型,確定公共模型的變化導(dǎo)致相應(yīng)私有模型產(chǎn)生的變化域。如果需要對(duì)私有模型進(jìn)行更改,則檢查斷言和相應(yīng)的LCR是否存在可能的違反。算法3給出了尋找基于全局服從性的協(xié)作流程的變化域。
算法3尋找基于全局服從性變化的協(xié)作流程的變化域
輸入:變化的gr、lr,協(xié)作流程。
輸出:變化域。
步驟1在協(xié)作流程中,如果H|=changedgr,返回H;如果H|≠changedgr,則根據(jù)changedgr找到H變化區(qū)域R1。
步驟2?y∈R1,存在q∈P,在γq中的映射節(jié)點(diǎn)為φ(y),所有的映射節(jié)點(diǎn)構(gòu)成γq的變化域R2。
步驟3對(duì)于與q相關(guān)的合作伙伴q′,?φ(y)∈R2,根據(jù)映射關(guān)系得到γq′的映射節(jié)點(diǎn)φ(φ(y)),同樣得到γq′的變化區(qū)域R3。
步驟4?φ(φ(x))∈R3,在Πq′的映射節(jié)點(diǎn)為ψ(φ(φ(x))),則Πp′的變化域?yàn)镽4。
步驟5如果Πq′|≠lr,返回步驟4重新計(jì)算R4;如果Πp′|=lr,則的變化域?yàn)镽4。
步驟6輸出變化域R1、R2、R3、R4。
本節(jié)通過(guò)網(wǎng)上購(gòu)物場(chǎng)景來(lái)說(shuō)明變化傳播問(wèn)題。根據(jù)算法1得到了網(wǎng)上購(gòu)物場(chǎng)景的編排模型(圖10)、協(xié)作模型(圖11)、公共模型(圖12),以及私有模型(圖13)。其中,活動(dòng)字母對(duì)應(yīng)名稱(chēng)如表1所示。該場(chǎng)景描述了3個(gè)合作伙伴的協(xié)作,即買(mǎi)家、賣(mài)家、快遞公司。買(mǎi)家將訂單消息發(fā)送給賣(mài)家,賣(mài)家收到消息后對(duì)買(mǎi)家進(jìn)行身份驗(yàn)證,身份驗(yàn)證完成后,買(mǎi)家下單,并通過(guò)快遞公司進(jìn)行發(fā)貨。如果買(mǎi)家接收貨物后不滿(mǎn)意,則向賣(mài)家發(fā)送退貨通知,賣(mài)家向快遞公司發(fā)送退貨通知,否則向賣(mài)家和快遞公司發(fā)送確認(rèn)收貨。
表1 活動(dòng)字母表
圖10 編排模型
圖11 協(xié)作模型
圖12 公共模型
圖13 私有模型
網(wǎng)上購(gòu)物場(chǎng)景符合以下5條服從規(guī)則(CR),這些規(guī)則和標(biāo)準(zhǔn)反映了需要遵守的法規(guī)和標(biāo)準(zhǔn):
C1:購(gòu)買(mǎi)貨物要付款。
C2:快遞運(yùn)輸期間要保證地址的正確性。
C3:取消訂單一定要在發(fā)貨前。
C4:一定要對(duì)貨物進(jìn)行質(zhì)量檢查。
C5:收到貨物通知,則需要去拿貨。
為了保護(hù)商業(yè)隱私,合作伙伴只會(huì)分享其流程的公共視圖(參見(jiàn)圖12);例如,賣(mài)家隱藏庫(kù)存檢查以及準(zhǔn)備貨物(參見(jiàn)圖13)。為了驗(yàn)證服從性 C1-C5,合作伙伴對(duì)其私有流程的隱藏行為提供以下斷言規(guī)則(AR):
A1:如果買(mǎi)家沒(méi)有在線(xiàn)支付,則必須進(jìn)行到付。
A2:貨物運(yùn)輸期間不能直接修改地址和電話(huà)號(hào)碼。
A3:賣(mài)家接收訂單后一定要檢查庫(kù)存,如果貨物庫(kù)存不足,則需要補(bǔ)充貨物,然后才能發(fā)貨。如果無(wú)法補(bǔ)充貨物,則取消訂單。
A4:如果賣(mài)家沒(méi)有對(duì)貨物進(jìn)行質(zhì)量檢查,快遞公司要確保貨物的質(zhì)量。
A5:快遞公司在運(yùn)輸期間保證貨物無(wú)破損。
當(dāng)服從規(guī)則發(fā)生變化時(shí),由算法2和算法3可知,相關(guān)流程可能作出相應(yīng)的變化,才能滿(mǎn)足服從規(guī)則。例如,A2,為了滿(mǎn)足買(mǎi)家需求,現(xiàn)在更改服從規(guī)則,使貨物運(yùn)輸期間可以修改地址和電話(huà)號(hào)碼。如果買(mǎi)家在運(yùn)輸期間要更改送貨地址,這樣快遞公司就需要作出相應(yīng)的更改。由算法2可知,可以在模型中找到相應(yīng)的變化域如圖14-圖16所示。文獻(xiàn)[16]中詳細(xì)介紹了不同變化模式下變化傳播的過(guò)程。與文獻(xiàn)[16]相比,算法2和算法3從服從性的角度來(lái)分析變化傳播過(guò)程,并根據(jù)映射函數(shù)確定相關(guān)流程的變化域。
圖14 買(mǎi)家公共流程變化域
圖15 快遞公司公共流程變化域
圖16 快遞公司私有流程變化域
本文基于服從性的基礎(chǔ)知識(shí)對(duì)協(xié)作流程模型的變化域進(jìn)行了分析,從而有利于發(fā)現(xiàn)相關(guān)流程的變化區(qū)域。本文首先在參數(shù)約束條件下提出編排模型生成算法,然后分析了不同級(jí)別服從性變化在協(xié)作流程中是如何傳播的,最后通過(guò)模型之間的映射關(guān)系發(fā)現(xiàn)相關(guān)流程的變化域。在未來(lái)的工作中,將要對(duì)本文的算法做出新的改進(jìn),找到更精確的變化域。