張學(xué)偉,邢建春,宋巍,王洪達(dá),韓德帥
(1.解放軍理工大學(xué)國(guó)防工程學(xué)院,江蘇南京210007;2.南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇南京210094)
BPEL過程一致性度量
張學(xué)偉1,邢建春1,宋巍2,王洪達(dá)1,韓德帥1
(1.解放軍理工大學(xué)國(guó)防工程學(xué)院,江蘇南京210007;2.南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇南京210094)
服務(wù)組合和云計(jì)算作為面向服務(wù)體系結(jié)構(gòu)下資源集成和應(yīng)用互聯(lián)的有效手段,使得描述Web服務(wù)的BPEL過程產(chǎn)生了眾多變種。針對(duì)變種整合和變種之間差異檢測(cè)的問題,研究BPEL過程一致性就很有意義。然而,現(xiàn)有的方法要么僅提供一個(gè)“是/否”的定性回答,要么是從控制流層面數(shù)量化地度量一致性,導(dǎo)致度量結(jié)果不符合用戶的預(yù)期評(píng)判。因此,采用活動(dòng)間的行為約束作為度量基礎(chǔ),以事件日志中活動(dòng)的發(fā)生概率為權(quán)重,一種數(shù)值化地度量BPEL過程行為一致性的方法被提出,并且實(shí)現(xiàn)了計(jì)算一致性的軟件工具。通過對(duì)6組BPEL過程進(jìn)行分析,驗(yàn)證了該方法的可行性和有效性,且度量結(jié)果符合用戶的預(yù)期。
BPEL過程;活動(dòng)約束圖;事件日志;一致性度量
BPEL語(yǔ)言[1]作為一種流行的描述Web服務(wù)的業(yè)界標(biāo)準(zhǔn),受到了越來越多的業(yè)務(wù)人員的重視。隨著云計(jì)算與服務(wù)計(jì)算時(shí)代的到來用戶需求的不斷變化和公司內(nèi)部的適時(shí)調(diào)整,系統(tǒng)原有的BPEL過程可能演化出多個(gè)變種。為確保業(yè)務(wù)人員有效地檢測(cè)變種間的差異以及整合變種[2],研究BPEL過程的一致性就很有意義。在軟件工程領(lǐng)域,一致性被定義為“無差異、標(biāo)準(zhǔn)化和無矛盾的程度”[3]。由于提出的方法以活動(dòng)間的行為約束作為評(píng)判BPEL過程是否一致的基礎(chǔ),所以BPEL過程一致性被定義為“行為約束不變性和無矛盾”[4]。
雖然已經(jīng)提出了多種方法度量一致性[5?10],比如跡等價(jià)[5]、互模擬[6]、行為側(cè)畫[7?8]、典型行為[9]等,但大多數(shù)并不適用于BPEL過程。1)多數(shù)方法僅能給出定性的回答,導(dǎo)致無法有效區(qū)分過程之間是輕微還是完全地不同;2)由于過程在執(zhí)行時(shí)一些活動(dòng)可能偶爾被執(zhí)行,還有一些可能頻繁地在過程實(shí)例中出現(xiàn),使得活動(dòng)在過程中的重要程度出現(xiàn)差別。但僅個(gè)別方法在度量一致性時(shí)考慮了此因素;3)現(xiàn)有方法僅從控制流層面刻畫活動(dòng)間的行為約束,抽象掉了數(shù)據(jù)信息,導(dǎo)致其不能準(zhǔn)確度量BPEL過程一致性。為解決上述問題,提出一種基于事件日志數(shù)值化地度量BPEL過程一致性的方法。
通過一個(gè)啟發(fā)案例引出所要研究的問題,并在隨后章節(jié)中借助此案例說明提出的方法的可行性和有效性。圖1為旅行代理BPEL過程G1、G2的控制流程圖(BPEL control flow graph,BCFG)[10],描述的是賓館和機(jī)票預(yù)定服務(wù)。該案例來自O(shè)racle公司的BPEL過程管理庫(kù),由第三方對(duì)其進(jìn)行適當(dāng)?shù)恼{(diào)整,并在ActiveBPEL工具中分別執(zhí)行100次,獲得相應(yīng)的執(zhí)行路徑集合。對(duì)整個(gè)過程而言,執(zhí)行頻率較高的路徑上的活動(dòng)比執(zhí)行頻率較低路徑上的活動(dòng)更為重要,那么它對(duì)BPEL過程一致性的影響也就更為明顯。
圖1 旅行代理過程的控制流程圖和事件日志Fig.1 CFGs and event logs of travel agency processes
對(duì)于BPEL過程一致性的度量,首要解決過程對(duì)齊的問題。在過程模型領(lǐng)域中,由于活動(dòng)抽象層次的不同,過程對(duì)齊可分為2類:水平對(duì)齊和垂直對(duì)齊。如果2個(gè)過程屬于同一抽象層次,那么它們?yōu)樗綄?duì)齊,如果屬于不同的抽象層次,則為垂直對(duì)齊。雖然研究的對(duì)象都屬于同一抽象層次,但是由于BPEL過程中通信機(jī)制的不同也可能導(dǎo)致過程之間垂直對(duì)齊的出現(xiàn)。假定每個(gè)BPEL過程中的活動(dòng)都具有唯一的名稱標(biāo)識(shí),對(duì)齊不同過程中的活動(dòng),當(dāng)且僅當(dāng)它們的名稱一致。圖1中G2的<invoke>活動(dòng)A14與G1中存在異步調(diào)用依賴關(guān)系的<invoke>活動(dòng)A3和<receive>活動(dòng)A4在名稱和功能上一致,則活動(dòng)A14與A3、A4為垂直對(duì)齊。盡管度量BPEL過程一致性涉及到過程對(duì)齊的問題,但它獨(dú)立于水平對(duì)齊和垂直對(duì)齊的區(qū)分。
為了能從控制流和數(shù)據(jù)流2個(gè)層面刻畫BPEL過程的行為約束,并將事件日志引入到一致性度量中,圖2為提出的方法的研究框架。1)應(yīng)用BCFGs描述BPEL過程,并獲得相應(yīng)的事件日志;2)根據(jù)BCFGs,應(yīng)用BPEL活動(dòng)約束圖刻畫活動(dòng)間的行為約束;3)基于BEPL活動(dòng)約束圖和事件日志,根據(jù)2個(gè)過程的對(duì)齊活動(dòng)對(duì)集合和一致活動(dòng)對(duì)集合,計(jì)算它們的一致性程度。
圖2 提出的方法的技術(shù)框架Fig.2 The technology framework of proposed approach
在BPEL過程中的活動(dòng)之間存在三類本質(zhì)的行為約束:偏序關(guān)系(→)、互斥關(guān)系(+)和獨(dú)立關(guān)系(||)[11]。偏序關(guān)系由控制依賴、數(shù)據(jù)依賴和異步調(diào)用依賴組成。在選擇或循環(huán)結(jié)構(gòu)中,由于每次只能執(zhí)行一條分支,導(dǎo)致不同分支上的活動(dòng)間存在互斥關(guān)系。對(duì)于以上2種關(guān)系都不存在的活動(dòng)對(duì),則認(rèn)為是獨(dú)立關(guān)系。于是,將BPEL過程的活動(dòng)和行為約束刻畫到一個(gè)圖形結(jié)構(gòu)中,得到BPEL活動(dòng)約束圖。
定義1 BPEL活動(dòng)約束圖(BPEL activity con?straint graph,BACG)是一個(gè)二元組(N,E),
1)N是活動(dòng)集合,包含基本活動(dòng)、控制活動(dòng)以及一個(gè)表示BPEL過程開始的入口節(jié)點(diǎn)Entry;
2)E=E1∪E2是邊的集合,其中有向邊<Ai,Aj>∈E1表示偏序關(guān)系,無向邊<Ak,Al>∈E2表示互斥關(guān)系。
BACG的控制依賴子圖是一棵以Entry節(jié)點(diǎn)為根的樹,其中分支節(jié)點(diǎn)表示BPEL中的控制活動(dòng),葉子節(jié)點(diǎn)表示基本活動(dòng)。為精確刻畫BPEL的行為,在Entry節(jié)點(diǎn)與其所控制的任一活動(dòng)之間的控制依賴邊上附加一個(gè)“T”的標(biāo)簽,而在選擇或循環(huán)活動(dòng)與其控制的活動(dòng)之間的控制依賴邊上附加“T”或“F”的標(biāo)簽,標(biāo)簽的取值取決于受控活動(dòng)為“真”(T)時(shí)執(zhí)行還是為“假”(F)時(shí)執(zhí)行。
定理1 BPEL過程包含的行為關(guān)系→、+、||互為排斥,→、→-1、+、||分割活動(dòng)對(duì)集合N×N。
由于選擇或循環(huán)結(jié)構(gòu)中每次只能執(zhí)行其中一條分支,導(dǎo)致不同分支上的活動(dòng)之間不可能存在偏序關(guān)系,因此三類關(guān)系互為排斥。如果活動(dòng)對(duì)(Ai,Aj)存在偏序關(guān)系,且(Aj,Ai)沒有數(shù)據(jù)依賴關(guān)系,那么(Ai,Aj)為反偏序關(guān)系(→-1),對(duì)于既沒有偏序關(guān)系也沒有互斥關(guān)系的活動(dòng)對(duì),都?xì)w于獨(dú)立關(guān)系,因而三類關(guān)系構(gòu)成一個(gè)活動(dòng)對(duì)關(guān)系全集。
定理2 BPEL過程中的活動(dòng)Ai對(duì)其自身可能是偏序關(guān)系也可能是獨(dú)立關(guān)系。
由于活動(dòng)Ai與自身可能存在數(shù)據(jù)依賴構(gòu)成閉環(huán),所以(Aj,Ai)存在偏序關(guān)系,如果不存在這種數(shù)據(jù)依賴閉環(huán),則為獨(dú)立關(guān)系。例如,圖1中A1||A1。
3.1 對(duì)應(yīng)關(guān)系
為度量BPEL過程一致性,引入了對(duì)齊概念。過程對(duì)齊通過2過程活動(dòng)間的對(duì)應(yīng)關(guān)系建立[7]。
定義2 對(duì)應(yīng)關(guān)系(correspondences)。設(shè)N1、N2分別是BPEL過程P1、P2的活動(dòng)集合。對(duì)應(yīng)關(guān)系~?N1×N2通過對(duì)應(yīng)活動(dòng)使P1和P2對(duì)齊以至于~≠?。
根據(jù)對(duì)應(yīng)關(guān)系的基數(shù),BPEL過程P1、P2之間的對(duì)應(yīng)關(guān)系能夠被分為以下3種:
1)如果?Ai∈N1[?Aj∈N2[Ai~Aj]],那么從P1到P2的映射為滿射;
2)如果(Ai,Ax),(Aj,Ay)∈~且(Ax=Ay)?(Ai=Ay),那么從P1到P2映射為單射;
3)如果P1與P2即滿足滿射也滿足單射,那么它們互為雙射。
例如,圖1中的過程G1、G2,其中A3~A14,A4~A14。在這種情況下,從過程G1到G2的對(duì)應(yīng)關(guān)系為滿射。反過來從過程G2到G1的對(duì)應(yīng)關(guān)系則為單射。對(duì)應(yīng)關(guān)系的基數(shù)特性反映了水平對(duì)齊和垂直對(duì)齊之間的差異。水平對(duì)齊的兩過程對(duì)應(yīng)關(guān)系都為單射,那么活動(dòng)之間僅有1∶1的對(duì)應(yīng)。而垂直對(duì)齊對(duì)于對(duì)應(yīng)關(guān)系的基數(shù)沒有限制。
對(duì)齊BPEL過程的一致性程度反映的是過程之間對(duì)應(yīng)活動(dòng)的質(zhì)量。僅那些根據(jù)對(duì)應(yīng)關(guān)系對(duì)齊的活動(dòng)在度量BPEL過程一致性時(shí)才會(huì)被考慮。
定義3 對(duì)齊活動(dòng)(aligned activities)。設(shè)~表示BPEL過程P1、P2之間的對(duì)應(yīng)關(guān)系。P1的對(duì)齊活動(dòng)集合N1~?N1被定義為N1~={Ai∈N1|?Aj∈N2[Ai~Aj]},P2的對(duì)齊活動(dòng)集合N2~的定義與上類似。
3.2 事件日志
一個(gè)可執(zhí)行的BPEL過程在ActiveBPEL工具下經(jīng)過多次重復(fù)執(zhí)行,可產(chǎn)生多條執(zhí)行路徑(剔除那些未完全執(zhí)行的路徑),這些執(zhí)行路徑的集合即為BPEL過程的事件日志。
定義4 事件日志L是某個(gè)集合S中的執(zhí)行路徑的多重集,L∈B(S?),其中S?表示完全執(zhí)行路徑集,B(S?)是由多個(gè)完全執(zhí)行路徑集構(gòu)成。
事件日志是由完全執(zhí)行路徑構(gòu)成的多重集,且同一路徑可能被執(zhí)行多次。為將活動(dòng)的發(fā)生概率引入到BPEL過程一致性度量中,需計(jì)算2個(gè)過程的每種路徑被執(zhí)行的頻率。由于度量BPEL過程一致性比較的是兩個(gè)對(duì)齊的過程,所以計(jì)算每種路徑執(zhí)行概率是以2個(gè)過程的所有執(zhí)行路徑數(shù)目作基數(shù)。圖3展示了過程G1、G2中每種路徑的執(zhí)行頻率。由于一致性度量只與那些對(duì)齊活動(dòng)有關(guān),所以僅計(jì)算2個(gè)過程中對(duì)齊活動(dòng)的發(fā)生概率,如圖1中A8的發(fā)生概率fA=0.2+0.125+0.25+0.1=0.675。
圖3 2個(gè)BPEL過程的每種路徑執(zhí)行頻率Fig.3 Execution frequency of each trace of BPEL processes
3.3 BPEL過程一致性度量
由于提出的方法對(duì)活動(dòng)之間的映射關(guān)系是單射(1∶1)還是滿射(1∶n)沒有要求,所以既能應(yīng)用于水平對(duì)齊也能應(yīng)用于垂直對(duì)齊。為了描述對(duì)齊過程中行為約束,定義了2個(gè)對(duì)齊活動(dòng)對(duì)集合,活動(dòng)對(duì)中的活動(dòng)來自同一BPEL過程。這些集合囊括了2個(gè)過程所有對(duì)齊的活動(dòng)對(duì)并保存了每個(gè)過程的BACG所包含的行為約束。設(shè)R1∈{→,→-1,+,||}、R2∈{→,→-1,+,||}分別為P1、P2中的行為約束。
定義5 一致活動(dòng)對(duì)(consistent activity pairs)。BPEL過程P1、P2根據(jù)對(duì)應(yīng)關(guān)系“~”對(duì)齊。P1的一致活動(dòng)對(duì)集合CA1~?(N1
~×N1
~)所包含的活動(dòng)對(duì)(Ai,Aj)滿足以下2種情形:1)當(dāng)Ai=Aj,且?Ak∈N2~有Ai~Ak時(shí),存在AiR1Ai?AkR2Ak;
2)當(dāng)Ai≠Aj,且?Ak,有Ak≠Al,Ai~ Ak,Aj=Al時(shí),存在2種情形:
①AiR1Aj?AkR2Al;②Ai~Al,Aj=Ak。
P2的一致活動(dòng)對(duì)集合的定義與上類似。根據(jù)定義可知,一致活動(dòng)對(duì)是對(duì)齊活動(dòng)對(duì)的一個(gè)子集。由于研究的BPEL過程都是同一層次,所以重疊的對(duì)應(yīng)活動(dòng)對(duì)并不存在。
對(duì)齊BPEL過程之間的差異可以分為2種;對(duì)齊活動(dòng)對(duì)的控制流相同,但行為約束不同;對(duì)齊活動(dòng)對(duì)的行為關(guān)系相同,但控制流不同。例如,圖1中一致活動(dòng)對(duì)(A5,A6)的控制流在G1中為并發(fā)關(guān)系,在G2中卻為順序關(guān)系,但行為關(guān)系都為獨(dú)立關(guān)系。提出的方法更注重的是過程之間本質(zhì)關(guān)系的不同,而對(duì)于表象的差異并不敏感。只要對(duì)齊活動(dòng)對(duì)行為關(guān)系不同,該活動(dòng)對(duì)就一定不是一致活動(dòng)對(duì),若行為關(guān)系相同且為獨(dú)立關(guān)系,即使控制流不同,該活動(dòng)對(duì)依然是一致活動(dòng)對(duì)。
根據(jù)3.1中定義的事件日志以及給出的路徑執(zhí)行頻率和對(duì)齊活動(dòng)發(fā)生概率的計(jì)算方法,計(jì)算2個(gè)BPEL過程的對(duì)齊活動(dòng)對(duì)的發(fā)生概率。由于對(duì)齊活動(dòng)對(duì)的發(fā)生概率與該活動(dòng)對(duì)中的2個(gè)活動(dòng)的發(fā)生概率大小有關(guān),所以取較小的發(fā)生概率作為一致活動(dòng)對(duì)的概率fCA(Ai)。例如,圖1中對(duì)齊活動(dòng)對(duì)(A1,A2)的fCA(A1)=[1.0,1.0]=1.0;(A5,A8)的fCA(A8)=[1.0,0.675]=0.675;(A9,A10)的fCA(A10)=[0.675,0.325]=0.325?;趯?duì)齊活動(dòng)對(duì)和其發(fā)生概率,定義對(duì)齊BPEL過程一致性度量程度。
定義6 對(duì)齊過程一致性程度(consistency de?gree of alignment)。設(shè)BPEL過程P1、P2根據(jù)對(duì)應(yīng)關(guān)系~對(duì)齊。一致性程度被定義為
基于定義6和事件日志,能夠計(jì)算圖1中的BPEL過程G1、G2之間的一致性程度。圖4為G1、G2的BACGs。根據(jù)圖4中的對(duì)齊活動(dòng)獲得2個(gè)過程的所有對(duì)齊活動(dòng)對(duì),即|(N1~×N1~)|=13×13=169,|(N2~×N2~)|=12×12=144。從圖4中可以發(fā)現(xiàn)對(duì)齊活動(dòng)A12的控制依賴不同,G1中A12被Entry節(jié)點(diǎn)控制而G2中A12被A15控制,這導(dǎo)致由A12構(gòu)成的所有對(duì)齊活動(dòng)對(duì)都不是一致活動(dòng)對(duì),G1中不一致活動(dòng)對(duì)|(A12×Ai)|+|(Ai×A12)|-1=13+13-1=25;G2中不一致活動(dòng)對(duì)|(A12×Ai)|+|(Ai×A12)|-1=12+ 12-1=23。根據(jù)事件日志,每個(gè)過程的所有對(duì)齊活動(dòng)對(duì)的發(fā)生概率都能夠獲得。因此過程G1、G2的一致性程度:
圖5 一致性度量的原型工具Fig.5 A proof?on?concept tool for consistency measure?ment
圖7 BPEL過程G1、G2的BACGsFig.7 BACGs of BPEL Processes G1and G2
首先介紹度量BPEL過程一致性方法原型工具的實(shí)現(xiàn),然后通過6對(duì)BPEL過程對(duì)驗(yàn)證提出的方法的可行性和有效性。
4.1 實(shí)現(xiàn)
一種計(jì)算BPEL過程一致性的原型工具被實(shí)現(xiàn)。它以2個(gè)BPEL過程和相應(yīng)的路徑和數(shù)目為輸入,以2個(gè)過程的一致性程度為輸出。原型工具的具體實(shí)現(xiàn)過程:首先是將輸入的2個(gè)BPEL過程轉(zhuǎn)變成BCFGs的數(shù)據(jù)存儲(chǔ)格式,BCFGs中的活動(dòng)包含名稱、輸入輸出變量、活動(dòng)類型等信息;通過活動(dòng)之間的行為關(guān)系的分析獲得BACGs;然后根據(jù)2個(gè)過程的每種路徑以及相應(yīng)的數(shù)目,計(jì)算每個(gè)對(duì)齊活動(dòng)的發(fā)生概率;最后根據(jù)BACGs獲得所有對(duì)齊活動(dòng)對(duì)和一致活動(dòng)對(duì)以及它們的發(fā)生概率,能夠計(jì)算出2個(gè)過程的一致性程度。圖5展示的是原型工具的輸出,采用矩陣形式表示BACG有助于用戶發(fā)現(xiàn)不一致活動(dòng)對(duì)。此外,應(yīng)用該工具還能夠獲得3個(gè)副產(chǎn)品:控制流程圖、活動(dòng)約束圖和存儲(chǔ)活動(dòng)的xml文件。它們能夠幫助用戶更好地理解BPEL過程一致性的度量方法。
4.2 案例分析
為展示提出的方法的可行性和有效性,將其應(yīng)用于實(shí)際BPEL過程中進(jìn)行驗(yàn)證。案例中G1、G2描述的是選擇賓館預(yù)訂服務(wù),G3、G4從Oracle公司BPEL過程管理庫(kù)中選取,描述的是同時(shí)預(yù)定2家賓館的服務(wù)。在ActiveBPEL工具下,多次執(zhí)行案例中的BPEL過程,建立了相應(yīng)的事件日志,并經(jīng)過篩選、統(tǒng)計(jì)和分析,獲得了每個(gè)過程的每種路徑執(zhí)行次數(shù),如圖6所示。其中由于G3過程中有并發(fā)結(jié)構(gòu),所以出現(xiàn)了6種執(zhí)行路徑,而G4是順序結(jié)構(gòu),則只有一種執(zhí)行路徑。
基于圖6中的BCFGs,分析活動(dòng)間的行為約束,建立每個(gè)過程的BACG,如圖7所示。由于每個(gè)活動(dòng)都有唯一名稱標(biāo)識(shí),因此任意一對(duì)過程根據(jù)對(duì)應(yīng)關(guān)系都能獲得各自的對(duì)齊活動(dòng)集合,從而對(duì)齊活動(dòng)對(duì)集合也能被建立。例如,G1與G3的對(duì)齊活動(dòng)集合同為(A1,A3,A4,A5,A6,A7),那么它們的對(duì)齊活動(dòng)對(duì)數(shù)目為|N1~×N1~|=|N3~×N3~|=36。通過比較2個(gè)過程的BACGs,獲得它們的一致活動(dòng)對(duì)集合。根據(jù)圖6中的執(zhí)行路徑頻率,計(jì)算每對(duì)過程的對(duì)齊活動(dòng)的發(fā)生概率,然后比較對(duì)齊活動(dòng)對(duì)中每個(gè)活動(dòng)的發(fā)生概率,獲得該活動(dòng)對(duì)的發(fā)生概率,即其中較小的概率。例如G1與G3的對(duì)齊活動(dòng)的發(fā)生概率分別為:
fA(A1)=fA(A7)=(70+30+40+20+10×4)/200=1.0;
fA(A3)=fA(A4)=(70+40+20+10×4)/200=0.85;
fA(A5)=fA(A6)=(30+40+20+10×4)/200=0.65。
對(duì)齊活動(dòng)對(duì)(A1,A3)的發(fā)生概率為0.85。根據(jù)每個(gè)過程的對(duì)齊活動(dòng)對(duì)數(shù)目和一致活動(dòng)數(shù)目以及相應(yīng)的發(fā)生概率,計(jì)算出2個(gè)過程一致性程度。例如,過程G1和G3的一致性程度為
圖6 BPEL過程的4個(gè)變種和事件日志Fig.6 Four variants of BPEL processes and their event logs
圖7 4個(gè)變種的BACGsFig.7 BACGs of four variants
圖8 展示了案例中任意一對(duì)過程之間的一致性程度。從圖中可以看出結(jié)構(gòu)化活動(dòng)的改變會(huì)很大程度地影響2個(gè)過程的一致性,因?yàn)樗鼘?dǎo)致其所有的子活動(dòng)的控制依賴關(guān)系、互斥關(guān)系發(fā)生改變。而順序結(jié)構(gòu)與并發(fā)結(jié)構(gòu)之間的轉(zhuǎn)換在不改變數(shù)據(jù)依賴關(guān)系的前提下不會(huì)影響一致性。此外,具有獨(dú)立關(guān)系的活動(dòng)之間執(zhí)行順序的調(diào)換也不影響一致性。
實(shí)驗(yàn)中的案例沒有隨機(jī)地選取樣本,而是將研究對(duì)象定位于第三方提供的流程。而這些流程多少在維度和結(jié)構(gòu)上有些簡(jiǎn)單比較適合于評(píng)估,這就可能影響實(shí)驗(yàn)的典型性。通過實(shí)際BPEL過程驗(yàn)證提出的方法的合適性,案例分析表明該方法是符合用戶期望的。而它能否適用于其他BPEL流程或其它語(yǔ)言描述的業(yè)務(wù)流程,比如XML流程定義語(yǔ)言XP?DL(XML process definition language)等,需要在下一步工作中將該方法應(yīng)用到更多的實(shí)例中。
圖8 對(duì)齊過程之間的一致性程度Fig.8 Consistency degrees of aligned processes
提出的BPEL過程一致性度量方法根據(jù)事件日志中活動(dòng)的發(fā)生概率,以活動(dòng)的行為約束為基礎(chǔ),能夠給出數(shù)值化的度量結(jié)果。該方法避免了現(xiàn)有方法僅從控制流層面度量一致性的缺陷,而是從控制流和數(shù)據(jù)流2個(gè)層面研究BPEL過程一致性,使得度量結(jié)果符合用戶的預(yù)期評(píng)判。并且實(shí)現(xiàn)了自動(dòng)計(jì)算一致性的原型工具。案例分析驗(yàn)證了提出的方法的可行性和有效性。
為了描述那些不存在偏序和互斥關(guān)系的活動(dòng)對(duì),在BPEL活動(dòng)約束圖中引入了獨(dú)立關(guān)系的概念,但并沒有給出這種關(guān)系的嚴(yán)格定義。由于互斥關(guān)系和獨(dú)立關(guān)系是對(duì)稱的,偏序關(guān)系卻不對(duì)稱,即包含偏序關(guān)系的活動(dòng)對(duì)(A1,A2)與(A2,A1)不同。為了使它們對(duì)稱,引入了反偏序關(guān)系,但這種做法是否合適值得商榷。
雖然提出了一種度量BPEL過程一致性的方法,但并不了解業(yè)務(wù)過程專家是否認(rèn)可該方法,以及他們普遍認(rèn)為哪一種度量BPEL過程一致性的標(biāo)準(zhǔn)更為合適。下一步將進(jìn)行基于假設(shè)檢驗(yàn)的實(shí)驗(yàn)研究說明提出的方法的合適性。
[1]WS?BPEL 2.0 Specification[EB/OL].[2007?05?27].ht?tp://docs.oasis?open.org/wsbpel/2.0/wsbpel?v2.0.pdf.
[2]HUANG Y,HE K Q,F(xiàn)ENG Z W,et al.Business process consolidation based on E?RSPTs'in SERVICES[C]//Pro?ceedings of IEEE World Congress on Services.Anchorage.[S.l.],2014:254?361.
[3]RADATZ J,GERACI A.IEEE standard glossary of software engineering terminology[S].IEEE Std.USA,1990.
[4]SONG W,ZHANG W J,ZHANG G X,et al.Quantifying consistency between conceptual and executable business processes[C]//Proceedings of SCC.Santa Clara Marriott,USA,2013:9?16.
[5]van der AALST W M P,BASTEN T.Inheritance of work?flows:an approach to tackling problems related to change[J].Theoretical Computer Science,2002,270(1/2):125?203.
[6]van GLABBEEK R J,WEIJLAND W P.Branching time and abstraction in bisimulation semantics[J].Journal of the ACM,1996,43(3):555?600.
[7]WEIDLICH M,MENDLING J,WESKE M.Efficient consis?tency measurement based on behavioral prof i les of process models[J].IEEE Transaction on Software Engineering,2011,37(3):410?429.
[8]WEIDLICH M,MENDLING J.Perceived consistency be?tween process models[J].Information Systems,2012,37(2):80?98.
[9]ALVES DE MEDEIROS A K,van der AALST W M P,WEIJTERS A.Quantifying process equivalence based on ob?served behavior[J].Data and Knowledge Engineering,2008,64(1):55?74.
[10]ZHANG X W,SONG W,XING J C,et al.Behavioral con?sistency measurement and analysis of WS?BPEL processes[C]//Proceedings of the 14th WAIM.Beidaihe,China,2013:619?630.
[11]SONG W,MA X X,CHEUNG S C,et al.Refactoring and publishing WS?BPEL processes to obtain more partners[C]//Proceedings of ICWS.Washington DC,USA,2011:129?136.
[12]XING J C,ZHANG X W,SONG W,et al.BPEL Similari?ty-a metric based on activity constraint graphs[C]//Pro?ceedings of the 1st AP?BPM.Beijing,China,2013:39?55.
Consistency measurement of BPEL processes
ZHANG Xuewei1,XING Jianchun1,SONG Wei2,WANG Hongda1,HAN Deshuai1
(1.College of National Defense,PLA University of Science and Technology,Nanjing 210007,China;2.Department of Computer Sci?ence and Engineering,Nanjing University of Science and Technology,Nanjing 210094,China)
Service composition and cloud computing as an effective manner for resource integration and application of interconnection make variants of business process execution language(BPEL)process which describes Web serv?ices increase rapidly.The research on the consistency of BPEL processes is significant to integration of variants and detection of differences between variants.However,existing approaches either only resulted in a binary answer or presented the quantitative results at the level of control flow,which resulted in that the measurement results did not conform to the intuition of users.Therefore,this paper proposes a new approach that quantitatively measures behav?ioral consistency between BPEL processes.It is based on behavioral constraint between activities and the weight of probability of activity occurrence in event logs.A software tool was implemented to automatically calculate consis?tency degree of BPEL processes.By analyzing consistency of six pairs of BPEL processes,the experimental results verify the feasibility and effectiveness of the proposed approach,and conformity to the intuition of users.
BPEL processes;activity constraint graph;event log;consistency measurement
10.3969/j.issn.1006?7043.201402023
:A
:1006?7043(2015)06?0814?07
http://www.cnki.net/kcms/detail/23.1390.u.20150520.0851.001.html
2014?02?24.網(wǎng)絡(luò)出版時(shí)間:2015?05?20.
國(guó)家自然科學(xué)基金資助項(xiàng)目(61202003);國(guó)家重點(diǎn)基礎(chǔ)研究發(fā)展規(guī)劃資助項(xiàng)目(2015CB352202);武漢大學(xué)軟件工程國(guó)家重點(diǎn)實(shí)驗(yàn)室開放基金資助項(xiàng)目(SKLSE2012?09?05).
張學(xué)偉(1988?),男,博士研究生;邢建春(1964?),男,教授,博士生導(dǎo)師.
張學(xué)偉,E?mail:zxwlucky@163.com.