欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法

文檔序號:6575559閱讀:317來源:國知局

專利名稱::業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法
技術(shù)領(lǐng)域
:本發(fā)明涉及計算機軟件建模領(lǐng)域,特別涉及業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法。
背景技術(shù)
:業(yè)務(wù)流程是業(yè)務(wù)需求的一種表現(xiàn)形式,它從用戶的需求開始,在用戶需求得到滿足后結(jié)束。業(yè)務(wù)流程的概念最早出現(xiàn)在90年代早期,它產(chǎn)生的動機來源于對流程重新設(shè)計以適應(yīng)新的變化從而提升企業(yè)的竟?fàn)幜?,作為對工作流的擴展,業(yè)務(wù)流程管理則更強調(diào)業(yè)務(wù)流程的重設(shè)計。業(yè)務(wù)流程與工作流都能使業(yè)務(wù)流程自動化和協(xié)同工作并提高工作效率。隨著信息技術(shù)的進(jìn)步,特定的業(yè)務(wù)功能不再由單一的企業(yè)或者組織來實現(xiàn),而是通過現(xiàn)有業(yè)務(wù)流程之間的交互和協(xié)同來完成,這種開發(fā)模式能夠極大縮短開發(fā)時間、節(jié)約開發(fā)成本。業(yè)務(wù)流程可以采用業(yè)務(wù)流程建模標(biāo)記(BusinessProcessModelNotation,BPMN)來建模。BPMN是由OMG組織制定的業(yè)務(wù)流程建模的標(biāo)準(zhǔn),它由一系列用來構(gòu)建業(yè)務(wù)流程的標(biāo)準(zhǔn)圖標(biāo)組成,且不與任何一種實現(xiàn)技術(shù)緊密耦合。BPMN不僅能夠?qū)崿F(xiàn)單個業(yè)務(wù)流程建模,而且能夠?qū)崿F(xiàn)多流程和它們之間交互的建模。BPMN是首個用于跨組織業(yè)務(wù)流程建模的開放標(biāo)準(zhǔn)的業(yè)務(wù)流程建模語言,它能夠很容易地被高層業(yè)務(wù)人員閱讀和理解并且便于不同企業(yè)之間的交流。雖然采用BPMN進(jìn)行業(yè)務(wù)流程建模存在很多好處,但也存在很多不足,其中很重要的一點是采用BPMN進(jìn)行多業(yè)務(wù)流程間交互建模時,容易導(dǎo)致業(yè)務(wù)流程間交互的不匹配。所謂業(yè)務(wù)流程間交互的不匹配是指業(yè)務(wù)流程無法正確完成它們之間的交互,也就是存在不匹配的交互。業(yè)務(wù)流程存在不匹配的交互的深層次原因在于業(yè)務(wù)流程所表達(dá)的業(yè)務(wù)需求之間存在矛盾。從技術(shù)角度來說,造成業(yè)務(wù)流程交互不匹配的原因可以分為三種交互語法錯誤、靜態(tài)結(jié)構(gòu)錯誤、運行時錯誤。目前已經(jīng)存在很多致力于發(fā)現(xiàn)業(yè)務(wù)流程間交互的不匹配的方法。Petri網(wǎng)和有限狀態(tài)自動機等形式化方法都可用來驗證流程間的匹配性。使用Petri5網(wǎng)的方法是將每一個業(yè)務(wù)流程轉(zhuǎn)換為一個Petri網(wǎng),然后將流程間的交互轉(zhuǎn)化為庫所(place),最后將多流程之間的交互不匹配的發(fā)現(xiàn)問題轉(zhuǎn)換為一個多流程合并后的大流程內(nèi)部的正確性問題。有限狀態(tài)自動機的方法將流程間的一次交互當(dāng)作總是能夠正確完成的,但是在流程的運行時可能出現(xiàn)一次交互的發(fā)送消息活動成功,但是接收消息活動因為流程的運行上下文環(huán)境沒有準(zhǔn)備好導(dǎo)致這次交互失敗的情況。總之,現(xiàn)有技術(shù)中的方法都各自存在一些不足,列舉如下首先,它們發(fā)現(xiàn)業(yè)務(wù)流程間交互不匹配的過程繁瑣、耗時;其次,這些方法并沒有考慮流程運行時的特征,而這會造成已經(jīng)驗證相互匹配業(yè)務(wù)流程在運行時發(fā)生交互的不匹配;最后,現(xiàn)有的方法不能準(zhǔn)確地給出哪些交互造成了流程間交互的不匹配。
發(fā)明內(nèi)容本發(fā)明的目的是克服現(xiàn)有的業(yè)務(wù)流程間不匹配交互發(fā)現(xiàn)方法過程繁瑣、耗時,不能發(fā)現(xiàn)業(yè)務(wù)流程在運行時的不匹配交互以及不能準(zhǔn)確指出哪些交互造成了流程間交互的不匹配等缺陷,從而提供一種簡便、高效、功能全面的不匹配交互的發(fā)現(xiàn)方法。本發(fā)明提供了一種業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,包括步驟1)、從多個待處理的業(yè)務(wù)流程中選取兩個業(yè)務(wù)流程;步驟2)、根據(jù)所選取的任一業(yè)務(wù)流程內(nèi)參與交互的兩個活動間的關(guān)系確定活動所在交互對在該業(yè)務(wù)流程內(nèi)的關(guān)系,進(jìn)而得到所選取的兩個業(yè)務(wù)流程所含交互的交互對間關(guān)系集合;其中,所述交互對間關(guān)系集合包括所述交互對在所選取的兩個業(yè)務(wù)流程內(nèi)的關(guān)系;所述活動間的關(guān)系包括順序前、順序后、并行、完全互斥以及部分互斥;步驟3)、根據(jù)所述交互對間關(guān)系集合中所包含的存在矛盾的交互對間關(guān)系確定所選取的兩個業(yè)務(wù)流程內(nèi)存在矛盾的交互對,從而生成所選取的兩個業(yè)務(wù)流程的完整矛盾交互集合。上述技術(shù)方案中,在所述的步驟l)中,所選取的業(yè)務(wù)流程是對不參與業(yè)務(wù)流程間交互的活動進(jìn)行約簡后的業(yè)務(wù)流程。上述技術(shù)方案中,所述的所選取的業(yè)務(wù)流程中不參與業(yè)務(wù)流程間交互的活動包括消息的任務(wù)類型的活動;b、中間事件類型的活動;c、內(nèi)容為空的網(wǎng)關(guān)對。上述技術(shù)方案中,還包括步驟4)、根據(jù)所述的完整矛盾交互集合計算最小消解集合;所述最小消解集合能夠推導(dǎo)出所述的完整矛盾交互集合,且所包含的矛盾交互對的個數(shù)最小。上述技術(shù)方案中,所述的步驟4)包括步驟4-l)、初始化最小消解集合為空;步驟4-2)、選擇矛盾交互集合中的一個交互對(z7,/2);步驟4-3)、若存在交互;c,使得/7與x之間的關(guān)系同時為順序前或同時為順序后或同時為并行,并且交互對(/2,x)已經(jīng)存在于最小消解集合中,則交互對不加入所述的最小消解集合,否則加入所述最小消解集合;步驟4-4)、從步驟4-2)開始重復(fù)執(zhí)行,直至遍歷完整矛盾交互集合中的所有交互對。上述技術(shù)方案中,還包括步驟5)、合并兩個業(yè)務(wù)流程,然后將合并后的業(yè)務(wù)流程與其它業(yè)務(wù)流程作為所選取的兩個業(yè)務(wù)流程,重新執(zhí)行步驟1)后的操作,直至不再有未經(jīng)處理的業(yè)務(wù)流程,從而實現(xiàn)多個業(yè)務(wù)流程間不匹配交互的發(fā)現(xiàn)。上述技術(shù)方案中,在所述的步驟5)中,所述的合并兩個業(yè)務(wù)流程包括將已經(jīng)得到完整矛盾交互集合的兩個業(yè)務(wù)流程進(jìn)行合并。上述技術(shù)方案中,所述的將已經(jīng)得到完整矛盾交互集合的兩個業(yè)務(wù)流程進(jìn)行合并包括步驟5-1)、選擇其中的一個作為目標(biāo)流程,另外一個業(yè)務(wù)流程作為輸入流程;步驟5-2)、將所述輸入流程中除了開始活動、結(jié)束活動以及交互對方已經(jīng)存在于所述目標(biāo)流程中的活動外的每一個活動都被加入所述目標(biāo)流程中;步驟5-3)、將所述輸入流程中除了連接開始活動和結(jié)束活動的遷移以外的每一個遷移添加到所述目標(biāo)流程中,如果新加入的遷移所連接的活動沒有加入到所述目標(biāo)流程中,則將該遷移連接原活動的交互對方。上述技術(shù)方案中,在所述的步驟3)中,所述的存在矛盾的交互對間關(guān)系包括二順序前"和"完全互斥"、"順序后"和"完全互斥,,、二順序前,,和"部分互斥"、"順序后"和"部分互斥"、"并^f亍"和"部分互斥"、"順序前"和"順序后"、"完全互斥"和"并行"。上述技術(shù)方案中,當(dāng)交互對間關(guān)系為下列之一時,所述交互對發(fā)生"死鎖,,:"順序前"和"完全互斥"、"順序后"和"完全互斥,,、二順序前"和"部分互斥"、"順序后"和"部分互斥"、"并行,,和"部分互斥"、"順序前"和"順序后";當(dāng)交互對間關(guān)系為"完全互斥"和"并行,,時,所述交互對發(fā)生"缺乏同步"。本發(fā)明還提供了一種業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置,包括業(yè)務(wù)流程選擇模塊、交互對間關(guān)系集合生成模塊、完整矛盾交互集合生成模塊;其中,所述的業(yè)務(wù)流程選擇模塊用于從多個待處理的業(yè)務(wù)流程中選取兩個業(yè)務(wù)流程;所述的交互對間關(guān)系集合生成模塊用于根據(jù)所選取的任一業(yè)務(wù)流程內(nèi)參與交互的兩個活動間的關(guān)系確定活動所在交互對在該業(yè)務(wù)流程內(nèi)的關(guān)系,進(jìn)而得到所選取的兩個業(yè)務(wù)流程所含交互的交互對間關(guān)系集合;其中,所述交互對間關(guān)系集合包括所述交互對在所選取的兩個業(yè)務(wù)流程內(nèi)的關(guān)系;所述活動間的關(guān)系包括順序前、順序后、并行、完全互斥以及部分互斥;所述的完整矛盾交互集合生成模塊用于根據(jù)所述交互對間關(guān)系集合中所包含的存在矛盾的交互對間關(guān)系確定所選取的兩個業(yè)務(wù)流程內(nèi)存在矛盾的交互對,從而生成所選取的兩個業(yè)務(wù)流程的完整矛盾交互集合。上述技術(shù)方案中,還包括業(yè)務(wù)流程約筒模塊,該模塊用于對不參與業(yè)務(wù)流程間交互的活動進(jìn)行約簡。上述技術(shù)方案中,還包括最小消解集合計算模塊;該模塊用于根據(jù)所述的完整矛盾交互集合計算最小消解集合;所述最小消解集合能夠推導(dǎo)出所述的完整矛盾交互集合,且所包含的矛盾交互對的個數(shù)最小。上述技術(shù)方案中,還包括業(yè)務(wù)流程合并模塊;該模塊用于合并兩個業(yè)務(wù)流程。本發(fā)明的優(yōu)點在于1、本發(fā)明具有快速、高效、實現(xiàn)簡單的優(yōu)點。2、本發(fā)明能找出不同類型的不匹配的交互。3、本發(fā)明能夠準(zhǔn)確地找出哪些交互造成了流程間交互的不匹配。圖1為本發(fā)明的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法的流程圖2為業(yè)務(wù)流程內(nèi)活動間五種控制流關(guān)系的示意圖3為業(yè)務(wù)流程中存在矛盾的交互對的一個范例;圖4為死鎖現(xiàn)象和缺乏同步現(xiàn)象的示例圖5為在業(yè)務(wù)流程中計算最小消解集合的一個范例;圖6為合并業(yè)務(wù)流程的一個范例。具體實施例方式下面結(jié)合附圖和具體實施方式對本發(fā)明進(jìn)行說明。在對本發(fā)明的方法進(jìn)行詳細(xì)說明前,首先對本發(fā)明方法中所涉及的一些概念進(jìn)行說明?;顒訕I(yè)務(wù)流程建模中不可再分的最小的工作單元,例如一段自動運行的程序。網(wǎng)關(guān)對成對出現(xiàn)以實現(xiàn)活動執(zhí)行路徑的分叉(split)及合并(join),根據(jù)活動執(zhí)行路徑是否并發(fā),網(wǎng)關(guān)對可以分為互斥網(wǎng)關(guān)對和并行網(wǎng)關(guān)對。例如,圖2(c)、圖2(d)中在活動a、b兩端的、用于表示分支的開始和結(jié)束的棱形就是所述的網(wǎng)關(guān)對,其中圖2(c)中的網(wǎng)關(guān)對為并行網(wǎng)關(guān)對,而圖2(d)中的網(wǎng)關(guān)對為互斥網(wǎng)關(guān)對。交互任意兩個業(yè)務(wù)流程間一次消息的傳遞被稱為業(yè)務(wù)流程間的一次交互,可以表示為&,其中的fl、6分別屬于不同的業(yè)務(wù)流程。完整矛盾交互集合兩個業(yè)務(wù)流程之間的交互集合由它們之間所有的交互組成,它們之間的完整矛盾交互集合包含所有相互矛盾的交互對,并且是它們之間交互集合笛卡爾積的子集。最小消解集合通過消除完整矛盾交互集合中的部分矛盾的交互對就能消除業(yè)務(wù)流程間的交互不匹配問題,這部分矛盾交互對構(gòu)成了最小消解集合。在對本發(fā)明中所涉及的相關(guān)概念做上述說明的基礎(chǔ)上,下面對本發(fā)明的具體實現(xiàn)過程進(jìn)行說明。本發(fā)明所要做的是在相互交互的多個業(yè)務(wù)流程中找出不匹配的交互。因此,本發(fā)明所要處理的對象是具有關(guān)聯(lián)關(guān)系的多個業(yè)務(wù)流程。所述的多個業(yè)務(wù)流程可以用
背景技術(shù)
中所提到的BPMN建模,也可以采用其他的流程建模語言建模。一個包含多個業(yè)務(wù)流程和它們之間消息傳遞的BPMN模型用二元組表示如下/ocA:age=r/rac^s^as,/w/era"/oraJ其中表示業(yè)務(wù)流程的集合,z'"terac"o似表示整個才莫型的交互的集合。業(yè)務(wù)流程可以進(jìn)一步表示為/race515^〖5"toW,£W,ac"'vWes,ga/e而j^s加,'"'ow5/其中,ac"v///^表示活動集合,表示活動之間遷移的集合,5VaW表示流程的開始活動,£m/表示流程的結(jié)束活動。在得到具有關(guān)聯(lián)關(guān)系的多個業(yè)務(wù)流程的相關(guān)信息后,就可以通過本發(fā)明的方法找出其中不匹配的交互。由于在兩個業(yè)務(wù)流程中查找不匹配的交互是基礎(chǔ)的操作,因此,首先以兩個業(yè)務(wù)流程為例,參考圖1,對本發(fā)明方法的實現(xiàn)過程進(jìn)行說明。從具有關(guān)聯(lián)關(guān)系的多個業(yè)務(wù)流程中任意選取兩個業(yè)務(wù)流程,分別用0和戶表示。一般來說,業(yè)務(wù)流程中與交互有關(guān)的活動只占業(yè)務(wù)流程的一部分,業(yè)務(wù)流程中的其它活動與交互無關(guān)。為了降低交互之間關(guān)系獲取的難度,本實施例中,作為一種優(yōu)選實現(xiàn)方式,可以約簡業(yè)務(wù)流程中不參與業(yè)務(wù)流程間交互的活動。但與此同時,為了不對業(yè)務(wù)流程間存在矛盾的交互的發(fā)現(xiàn)造成影響,需要對被約簡活動的范圍加以限制,在該優(yōu)選實現(xiàn)方式中,需要被約簡的活動可以分為3類1、不發(fā)送消息或者接受消息的任務(wù)類型的活動;2、中間事件(InmediateEvent)類型的活動;3、內(nèi)容為空的網(wǎng)關(guān)對。在約簡掉上述的l、2類活動后,若網(wǎng)關(guān)對的分叉和合并之間沒有任何任務(wù)活動,或者分叉和合并之間只包含一條分支的情況,則該網(wǎng)關(guān)視為內(nèi)容為空的網(wǎng)關(guān)對,需要將其約簡。雖然在本實施例中對已選取的兩個業(yè)務(wù)流程做了約簡操作,但在其他實施例中,也可以省略該約簡操作,只是后續(xù)相關(guān)操作的計算量會變大。在對上述所選取的業(yè)務(wù)流程g、尸做約簡操作后,就可以對交互之間的關(guān)系進(jìn)行判斷。根據(jù)本領(lǐng)域技術(shù)人員的相關(guān)知識可以知道如果兩個業(yè)務(wù)流程間包含相互矛盾的交互,那么這兩個業(yè)務(wù)流程就是不匹配的,否則,10否存在相互矛盾的控制流關(guān)系,進(jìn)一步的可以認(rèn)為,交互之間的關(guān)系依賴于業(yè)務(wù)流程內(nèi)部活動間的關(guān)系。因此,要判斷業(yè)務(wù)流程間的匹配關(guān)系需要首先知道業(yè)務(wù)流程內(nèi)部活動間的關(guān)系。根據(jù)本領(lǐng)域的相關(guān)知識,可以將業(yè)務(wù)流程內(nèi)部任意兩個活動間的控制流關(guān)系(以下筒稱"關(guān)系")總結(jié)為以下五種,分別是順序前(51—/Ve)、順序后(5^尸oW)、并行(尸ara〃e/)、完全互斥(Com_E)、部分互斥(尸gW—義如圖2(a)所示,若活動a總是先于活動b被執(zhí)行,則活動a與活動b之間的關(guān)系為順序前,可以記錄為a5^/Veb。相反的,如圖2(b)所示,若活動a總是后于活動b被執(zhí)行,則活動a與活動b之間的關(guān)系為順序后,可以記錄為a5"—尸oWb。如圖2(c)所示,若活動a與活動b在并行網(wǎng)關(guān)對的兩個分支上(即活動a與活動b需要并行執(zhí)行,且一個活動的執(zhí)行對另一個活動不造成影響),那么活動a與活動b之間的關(guān)系為并行,可以記錄為a尸b。如圖2(d)所示,若活動a與活動b在互斥網(wǎng)關(guān)對的兩個分支上(即活動a與活動b只能選擇其中之一執(zhí)行),那么活動a與活動b之間的關(guān)系為完全互斥,可以記錄為aCwn—£b。如圖2(e)所示,若活動b在互斥網(wǎng)關(guān)對的一條分支上,活動a在該互斥網(wǎng)關(guān)對的順序前或順序后,那么活動a與活動b之間的關(guān)系為部分互斥,可以記錄為a尸aw一五b。從集合論的角度來說,流程內(nèi)部活動間的關(guān)系可以看成是活動集合上的二元關(guān)系,因此活動間的上述五種關(guān)系滿足以下性質(zhì)*這五種關(guān)系都是不相交的并且它們的并集與活動集合的笛卡爾積相等;*是5^尸o^的逆關(guān)系并且它們都是可傳遞的;*在單個業(yè)務(wù)流程是結(jié)構(gòu)良好的情況下,0附_£與尸^"http://£/同樣是可以傳遞的。在得到活動的上述五種關(guān)系類型后,就要對業(yè)務(wù)流程內(nèi)部參與業(yè)務(wù)流程間交互的活動之間的關(guān)系加以歸類。這一歸類過程可以通過使用深度優(yōu)先遍歷算法獲得。首先利用有向圖的深度優(yōu)先遍歷算法發(fā)現(xiàn)從單個流程的開始活動到結(jié)束活動間的所有路徑和所有的網(wǎng)關(guān)對,這樣該流程中任意兩個參與交互的活動間的關(guān)系可以通過下面的規(guī)則獲得參如果兩個活動在同一條路徑下,并且在這條路徑中它們之間沒有不配對的網(wǎng)關(guān)活動,則它們之間的關(guān)系依據(jù)在路徑中的前后位置為順序前或者順序后;參如果兩個活動在同一條路徑下,并且在這條路徑中它們之間存在有不配對的網(wǎng)關(guān)活動,并且這個網(wǎng)關(guān)活動的類型為互斥的,則它們之間的關(guān)系為部分互斥;*網(wǎng)關(guān)對之間的不同分支上的兩個活動間的關(guān)系,依據(jù)網(wǎng)關(guān)類型的不同(并行或者互斥)分為并行或完全互斥。在前面的說明中已經(jīng)提到,交互之間的關(guān)系依賴于業(yè)務(wù)流程內(nèi)部活動間的關(guān)系,因此,通過上述原則知道參與交互的活動間的關(guān)系后就可以知道交互之間在同一業(yè)務(wù)流程中的關(guān)系。交互之間在同一業(yè)務(wù)流程中的關(guān)系與該業(yè)務(wù)流程中參與交互的活動間的關(guān)系相同,而交互之間的關(guān)系應(yīng)當(dāng)包括交互對在不同的業(yè)務(wù)流程中的關(guān)系。以圖3為例,業(yè)務(wù)流程戶中參與交互//、交互G的活動分別是活動a、活動6,它們之間的關(guān)系為aS—7Ve6,因此與G在P中的關(guān)系為z751—尸"Z2。類似的,可以獲得/7、G在流程g中的關(guān)系,"、G在業(yè)務(wù)流程0中的關(guān)系為"5L尸os"2。交互之間的關(guān)系可用集合的形式表示,如交互z7、交互G的相互關(guān)系的集合為"75"—尸"/2,51—尸。5〃_2}。通過上述操作可以得到兩個業(yè)務(wù)流程間任意兩個交互之間的關(guān)系。從上述的說明可以看出,對于兩個特定的交互在一個業(yè)務(wù)流程中有一種確定的相互關(guān)系,而在兩個不同的業(yè)務(wù)流程中則可能有兩種不同的相互關(guān)系。與流程內(nèi)部活動間的關(guān)系類似,交互之間關(guān)系也可以看作業(yè)務(wù)流程間交互集合上的二元關(guān)系,業(yè)務(wù)流程內(nèi)部活動間關(guān)系的性質(zhì)能夠同樣適用與交互之間的關(guān)系。在得到兩個業(yè)務(wù)流程間任意兩個交互之間的關(guān)系后,就可以對交互之間是否存在矛盾進(jìn)行判斷。此外,還可以根據(jù)矛盾的類型對不匹配的交互的具體類型進(jìn)行說明。在
背景技術(shù)
中已經(jīng)提到,不匹配交互的發(fā)生可能是因為靜態(tài)結(jié)構(gòu)錯誤,也可能是因為運行時的錯誤。下面分別對兩大類錯誤所產(chǎn)生的不匹配交互的判斷標(biāo)準(zhǔn)進(jìn)行說明。對于靜態(tài)結(jié)構(gòu)錯誤而言,在本發(fā)明中又提出了兩種交互不匹配的類型,它們是"死鎖"和"缺乏同步"。所謂的"死鎖"是指交互之間處于循環(huán)等待的狀態(tài),如圖4(a)所示,活動a與活動b之間的交互存在死鎖現(xiàn)象。所謂的"缺乏同步"是指由于缺乏同步并行執(zhí)行路徑的同步網(wǎng)關(guān)造成交互的多次重復(fù)執(zhí)行,如圖(b)所示,活動a與活動b之間存在缺乏同步的現(xiàn)象。當(dāng)交互之間在不同業(yè)務(wù)流程中的關(guān)系滿足下列標(biāo)準(zhǔn)時,可以認(rèn)為交互間存在"死鎖"或"缺乏同步"。死鎖當(dāng)交互對之間在不同業(yè)務(wù)流程中的關(guān)系滿足下列之一,就認(rèn)為交互間存在死鎖。"順序前"和"完全互斥"、"順序后"和"完全互斥"、順序前"和"部分互斥"、"順序后"和"部分互斥"、"并行"和"部分互斥"、"順序前"和"順序后"。缺乏同步當(dāng)交互對之間在不同業(yè)務(wù)流程中的關(guān)系滿足"完全互斥"和"并行"時,認(rèn)為交互對間存在缺乏同步。在下面的表1中也對上述標(biāo)準(zhǔn)做了說明,在該表中,第一行表示兩個交互在一個業(yè)務(wù)流程中的關(guān)系,第一列表示兩個交互在另外一個業(yè)務(wù)流程中的關(guān)系,"是"表示兩個交互是相互矛盾的,"否,,表示兩個交互不是相互矛盾的,*表示若互斥網(wǎng)關(guān)的條件滿足特定數(shù)據(jù)依賴要求時,交互對可以是不矛盾的。<table>tableseeoriginaldocumentpage13</column></row><table>以上是對靜態(tài)結(jié)構(gòu)錯誤所產(chǎn)生的不匹配交互的具體類型的說明。對于由于運行時的錯誤所產(chǎn)生的不匹配交互而言,其判斷標(biāo)準(zhǔn)較為簡單,在運行過程中,當(dāng)交互對之間在不同業(yè)務(wù)流程中的關(guān)系滿足"順序前"和"順序后"時,就認(rèn)為交互對間存在運行時錯誤。例如,在圖3中所提到的交互/人/2之間的關(guān)系為{5"JVez7,〃/2},由此可以知道交互/7,G之間存在矛盾,且交互仏G之間的矛盾是在運行時產(chǎn)生的。對兩個業(yè)務(wù)流程中任意兩個交互之間的關(guān)系都做上述判斷后,可以得到一個包括有所有矛盾交互的完整矛盾交互集合。在得到所述的完整矛盾集合后,可以認(rèn)為已經(jīng)基本完成了兩個業(yè)務(wù)流程中不匹配交互的發(fā)現(xiàn)。但在本實施例中,作為優(yōu)選實現(xiàn)方式,還可以在完整矛盾交互集合的基礎(chǔ)上進(jìn)一步求取最小消解集合。最小消解集合能夠為流程間交互不匹配的消除提供指導(dǎo),通過僅僅消除最小消解集合中相互矛盾的交互對即能保證兩個業(yè)務(wù)流程間的交互是相互匹配的。最d、消解集合的求取基于下列性質(zhì)性質(zhì)1:兩個業(yè)務(wù)流程之間的交互"、G、d,若〃與/2之間的兩個關(guān)系同時為順序前或同時為順序后或同時為并^f亍,而/2與/3是不匹配,則〃與/3是不匹配的。例如,在圖5所示的業(yè)務(wù)流程g與業(yè)務(wù)流程尸中,交互Z2、/3在流程尸中的關(guān)系為順序前,它們在流程g中的關(guān)系為部分互斥,根據(jù)表1可以判斷出交互G、/3是相互矛盾的。交互"、/2在流程尸中的關(guān)系為順序前,它們在流程g中的關(guān)系為順序前,根據(jù)性質(zhì)1可以得出交互z7、d是相互矛盾的。交互z7、/3在流程尸中的關(guān)系為順序前,它們在流程g中的關(guān)系為部分互斥,根據(jù)表1同樣能夠得出交互"、3是相互矛盾的。由此,業(yè)務(wù)流程g與業(yè)務(wù)流程戶之間的完整矛盾交互集合為((i2,i3),(i2,i4),(i3,i4),(il,i3),(il,i4)},而它們之間的最小消解集合僅為{(i2,i3),(i2,i4),(i3,i4)}。通過計算最小消解集合,需要消除的矛盾交互對的數(shù)量大大縮小了,而消除后的業(yè)務(wù)流程間的交互也是相互匹配的。最小消解集合在邏輯上應(yīng)當(dāng)滿足下面兩個條件1)、使用前述的性質(zhì)1能夠推導(dǎo)出完整矛盾交互集合;2)、滿足條件l)的前提下包含的矛盾交互對的個數(shù)最小。在完整矛盾交互集合的基礎(chǔ)上計算最小消解集合的方法如下a、初始化最小消解集合為空;b、選擇矛盾交互集合中的一個交互對(/7,/2);c、若存在交互x,使得"與x之間的關(guān)系同時為順序前或同時為順序后或同時為并行,并且交互對(d)已經(jīng)存在于最小消解集合中,則交互對07,,7)不加入最小消解集合,否則加入最小消解集合;d、從步驟b開始重復(fù)執(zhí)行,直至遍歷完整矛盾交互集合中的所有交互對。以上是對兩個業(yè)務(wù)流程中查找不匹配的交互的完整流程。在兩個業(yè)務(wù)流程的基礎(chǔ)上,可以進(jìn)一步得到其余業(yè)務(wù)流程中的不匹配的交互。在得到兩個業(yè)務(wù)流程的完整矛盾交互集合和最小消解集合,將已經(jīng)處理過的這兩個業(yè)務(wù)流程合并成一個業(yè)務(wù)流程,然后將合并后的業(yè)務(wù)流程與需要進(jìn)行交互不匹配發(fā)現(xiàn)的業(yè)務(wù)流程中余下的某個業(yè)務(wù)流程重復(fù)執(zhí)行前述的約簡流程、求取業(yè)務(wù)流程中的交互間的關(guān)系、計算完整矛盾交互集合、計算最小消解集合等操作,得到這兩個業(yè)務(wù)流程的完整矛盾交互集合和最小消解集合。如果還存在未被處理的業(yè)務(wù)流程,則繼續(xù)執(zhí)行合并業(yè)務(wù)流程、約筒流程、求取業(yè)務(wù)流程中的交互間的關(guān)系、計算完整矛盾交互集合、計算最小消解集合等操作,直至再也沒有未經(jīng)處理的業(yè)務(wù)流程。雖然在本實施例中按照上述順序完成業(yè)務(wù)流程的合并,但在其它實施例中,也可以按照其它順序完成業(yè)務(wù)流程的合并。在上述過程中,所提到的合并業(yè)務(wù)流程是指在合并兩個業(yè)務(wù)流程時,首先選擇其中的一個作為目標(biāo)流程,另外一個業(yè)務(wù)流程作為輸入流程。除了開始活動、結(jié)束活動以及交互對方已經(jīng)存在于目標(biāo)流程中的活動外,輸入流程中的每一個活動都被加入目標(biāo)流程中。輸入流程中的每一個遷移(即業(yè)務(wù)流程圖中的直線)都被加入到目標(biāo)流程中,除非遷移連接的是輸入流程的開始或者結(jié)束活動。如果新加入的遷移所連接的活動沒有加入到目標(biāo)流程中,則將遷移連接原活動的交互對方。在圖6中給出了一個合并兩個業(yè)務(wù)流程的例子。如果流程尸被當(dāng)作目標(biāo)流程,流程0#:當(dāng)作輸入流程,則流程Q中的所有活動都沒有加入流程尸,流程g中的所有遷移除了連接開始活動和結(jié)束活動的遷移外,都被加入到了流程0中,并且這些遷移所連接的活動都被重置為原來所連接活動的交互對方。本發(fā)明提供了與上述方法相對應(yīng)的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置,包括業(yè)務(wù)流程選擇模塊、交互對間關(guān)系集合生成模塊、完整矛盾交互集合生成模塊;其中,所述的業(yè)務(wù)流程選擇模塊用于從多個待處理的業(yè)務(wù)流程中選取兩個業(yè)務(wù)流程;所述的交互對間關(guān)系集合生成模塊用于根據(jù)所選取的任一業(yè)務(wù)流程內(nèi)參與交互的兩個活動間的關(guān)系確定活動所在交互對在該業(yè)務(wù)流程內(nèi)的關(guān)系,進(jìn)而得到所選取的兩個業(yè)務(wù)流程所含交互的交互對間關(guān)系集合;其中,所述交互對間關(guān)系集合包括所述交互對在所選取的兩個業(yè)務(wù)流程內(nèi)的關(guān)系;所述活動間的關(guān)系包括順序前、順序后、并行、完全互斥以及部分互斥;15所述的完整矛盾交互集合生成模塊用于根據(jù)所述交互對間關(guān)系集合中所包含的存在矛盾的交互對間關(guān)系確定所選取的兩個業(yè)務(wù)流程內(nèi)存在矛盾的交互對,從而生成所選取的兩個業(yè)務(wù)流程的完整矛盾交互集合。本發(fā)明的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置還包括業(yè)務(wù)流程約簡模塊,該模塊用于對不參與業(yè)務(wù)流程間交互的活動進(jìn)行約簡。本發(fā)明的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置還包括最小消解集合計算模塊;該模塊用于根據(jù)所述的完整矛盾交互集合計算最小消解集合;所述最小消解集合能夠推導(dǎo)出所述的完整矛盾交互集合,且所包含的矛盾交互對的個數(shù)最小。本發(fā)明的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置還包括業(yè)務(wù)流程合并模塊;該模塊用于合并兩個業(yè)務(wù)流程。本發(fā)明的上述方法和裝置通過業(yè)務(wù)流程內(nèi)的活動間的關(guān)系來判斷交互間的關(guān)系,從而找出不匹配的交互,具有快速、高效、實現(xiàn)簡單的優(yōu)點。本發(fā)明不僅能夠判斷出業(yè)務(wù)流程間是否存在不匹配的交互,而且還能找出不匹配的交互的具體類型。本發(fā)明不僅能找出由靜態(tài)結(jié)構(gòu)錯誤所產(chǎn)生的不匹配的交互,還能找出由運行時錯誤所產(chǎn)生的不匹配交互。本發(fā)明通過對最小消解集合的求解還能夠準(zhǔn)確地找出哪些交互造成了流^i間交互的不匹配。最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制。盡管參照實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。權(quán)利要求1、一種業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,包括步驟1)、從多個待處理的業(yè)務(wù)流程中選取兩個業(yè)務(wù)流程;步驟2)、根據(jù)所選取的任一業(yè)務(wù)流程內(nèi)參與交互的兩個活動間的關(guān)系確定活動所在交互對在該業(yè)務(wù)流程內(nèi)的關(guān)系,進(jìn)而得到所選取的兩個業(yè)務(wù)流程所含交互的交互對間關(guān)系集合;其中,所述交互對間關(guān)系集合包括所述交互對在所選取的兩個業(yè)務(wù)流程內(nèi)的關(guān)系;所述活動間的關(guān)系包括順序前、順序后、并行、完全互斥以及部分互斥;步驟3)、根據(jù)所述交互對間關(guān)系集合中所包含的存在矛盾的交互對間關(guān)系確定所選取的兩個業(yè)務(wù)流程內(nèi)存在矛盾的交互對,從而生成所選取的兩個業(yè)務(wù)流程的完整矛盾交互集合。2、根據(jù)權(quán)利要求1所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,在所述的步驟l)中,所選取的業(yè)務(wù)流程是對不參與業(yè)務(wù)流程間交互的活動進(jìn)行約簡后的業(yè)務(wù)流程。3、根據(jù)權(quán)利要求2所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,所述的所選取的業(yè)務(wù)流程中不參與業(yè)務(wù)流程間交互的活動包括a、不發(fā)送消息或者接受消息的任務(wù)類型的活動;b、中間事件類型的活動;c、內(nèi)容為空的網(wǎng)關(guān)對。4、根據(jù)權(quán)利要求1或2所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,還包括步驟4)、根據(jù)所述的完整矛盾交互集合計算最小消解集合;所述最小消解集合能夠推導(dǎo)出所述的完整矛盾交互集合,且所包含的矛盾交互對的個數(shù)最小。5、根據(jù)權(quán)利要求4所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,所述的步驟4)包括步驟4-l)、初始化最小消解集合為空;步驟4-2)、選擇矛盾交互集合中的一個交互對(仏G);步驟4-3)、若存在交互jc,使得"與x之間的關(guān)系同時為順序前或同時為順序后或同時為并行,并且交互對(O已經(jīng)存在于最小消解集合中,則交互對(z7,G)不加入所述的最小消解集合,否則加入所述最小消解集合;步驟4-4)、從步驟4-2)開始重復(fù)執(zhí)行,直至遍歷完整矛盾交互集合中的所有交互對。6、根據(jù)權(quán)利要求1或2或4所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,還包括步驟5)、合并兩個業(yè)務(wù)流程,然后將合并后的業(yè)務(wù)流程與其它業(yè)務(wù)流程作為所選取的兩個業(yè)務(wù)流程,重新執(zhí)行步驟1)后的操作,直至不再有未經(jīng)處理的業(yè)務(wù)流程,從而實現(xiàn)多個業(yè)務(wù)流程間不匹配交互的發(fā)現(xiàn)。7、根據(jù)權(quán)利要求6所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,在所述的步驟5)中,所述的合并兩個業(yè)務(wù)流程包括將已經(jīng)得到完整矛盾交互集合的兩個業(yè)務(wù)流程進(jìn)行合并。8、根據(jù)權(quán)利要求7所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,所述的將已經(jīng)得到完整矛盾交互集合的兩個業(yè)務(wù)流程進(jìn)行合并包括步驟5-1)、選擇其中的一個作為目標(biāo)流程,另外一個業(yè)務(wù)流程作為輸入流程;步驟5-2)、將所述輸入流程中除了開始活動、結(jié)束活動以及交互對方已經(jīng)存在于所述目標(biāo)流程中的活動外的每一個活動都被加入所述目標(biāo)流程中;步驟5-3)、將所述輸入流程中除了連接開始活動和結(jié)束活動的遷移以外的每一個遷移添加到所述目標(biāo)流程中,如果新加入的遷移所連接的活動沒有加入到所述目標(biāo)流程中,則將該遷移連接原活動的交互對方。9、根據(jù)權(quán)利要求1或2或4或6所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,在所述的步驟3)中,所述的存在矛盾的交互對間關(guān)系包括"順序前"和"完全互斥"、"順序后"和"完全互斥"、"順序前"和"部分互斥"、"順序后"和"部分互斥"、"并行"和"部分互斥"、"順序前"和"順序后"、"完全互斥"和"并行"。10、根據(jù)權(quán)利要求9所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,其特征在于,當(dāng)交互對間關(guān)系為下列之一時,所述交互對發(fā)生"死鎖""順序前"和"完全互斥"、"順序后"和"完全互斥"、二順序前"和"部分互斥"、"順序后"和"部分互斥"、"并行"和"部分互斥"、"順序前"和"順序后,,;當(dāng)交互對間關(guān)系為"完全互斥"和"并行"時,所述交互對發(fā)生"缺乏同步"。11、一種業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置,其特征在于,包括業(yè)務(wù)流程選擇模塊、交互對間關(guān)系集合生成模塊、完整矛盾交互集合生成模塊;其中,所述的業(yè)務(wù)流程選擇模塊用于從多個待處理的業(yè)務(wù)流程中選取兩個業(yè)務(wù)流程;所述的交互對間關(guān)系集合生成模塊用于根據(jù)所選取的任一業(yè)務(wù)流程內(nèi)參與交互的兩個活動間的關(guān)系確定活動所在交互對在該業(yè)務(wù)流程內(nèi)的關(guān)系,進(jìn)而得到所選取的兩個業(yè)務(wù)流程所含交互的交互對間關(guān)系集合;其中,所述交互對間關(guān)系集合包括所述交互對在所選取的兩個業(yè)務(wù)流程內(nèi)的關(guān)系;所述活動間的關(guān)系包括順序前、順序后、并行、完全互斥以及部分互斥;所述的完整矛盾交互集合生成模塊用于根據(jù)所述交互對間關(guān)系集合中所包含的存在矛盾的交互對間關(guān)系確定所選取的兩個業(yè)務(wù)流程內(nèi)存在矛盾的交互對,從而生成所選取的兩個業(yè)務(wù)流程的完整矛盾交互集合。12、根據(jù)權(quán)利要求11所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置,其特征在于,還包括業(yè)務(wù)流程約簡模塊,該模塊用于對不參與業(yè)務(wù)流程間交互的活動進(jìn)行約簡。13、根據(jù)權(quán)利要求11或12所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置,其特征在于,還包括最小消解集合計算模塊;該模塊用于根據(jù)所述的完整矛盾交互集合計算最小消解集合;所述最小消解集合能夠推導(dǎo)出所述的完整矛盾交互集合,且所包含的矛盾交互對的個數(shù)最小。14、根據(jù)權(quán)利要求11或12或13所述的業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)裝置,其特征在于,還包括業(yè)務(wù)流程合并模塊;該模塊用于合并兩個業(yè)務(wù)流程。全文摘要本發(fā)明提供一種業(yè)務(wù)流程間的不匹配交互的發(fā)現(xiàn)方法,包括從多個待處理的業(yè)務(wù)流程中選取兩個業(yè)務(wù)流程;根據(jù)所選取的任一業(yè)務(wù)流程內(nèi)參與交互的兩個活動間的關(guān)系確定活動所在交互對在該業(yè)務(wù)流程內(nèi)的關(guān)系,進(jìn)而得到所選取的兩個業(yè)務(wù)流程所含交互的交互對間關(guān)系集合;其中,交互對間關(guān)系集合包括交互對在所選取的兩個業(yè)務(wù)流程內(nèi)的關(guān)系;根據(jù)交互對間關(guān)系集合中所包含的存在矛盾的交互對間關(guān)系確定所選取的兩個業(yè)務(wù)流程內(nèi)存在矛盾的交互對,從而生成所選取的兩個業(yè)務(wù)流程的完整矛盾交互集合。本發(fā)明具有快速、高效、實現(xiàn)簡單的優(yōu)點;能找出不同類型的不匹配的交互;能夠準(zhǔn)確地找出哪些交互造成了流程間交互的不匹配;能找出由運行時錯誤所產(chǎn)生的不匹配交互。文檔編號G06Q10/00GK101650799SQ20091009280公開日2010年2月17日申請日期2009年9月8日優(yōu)先權(quán)日2009年9月8日發(fā)明者帥公,熊錦華,韓燕波申請人:中國科學(xué)院計算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阿拉善盟| 罗甸县| 沅陵县| 会泽县| 襄垣县| 郎溪县| 阳新县| 伊宁市| 南溪县| 永胜县| 沐川县| 保定市| 固安县| 余姚市| 南投市| 锦屏县| 镇雄县| 湘阴县| 布拖县| 吉林市| 泗阳县| 边坝县| 饶平县| 白朗县| 鄂托克旗| 镶黄旗| 临澧县| 慈溪市| 宁河县| 杭州市| 石嘴山市| 图木舒克市| 汤原县| 晴隆县| 汉沽区| 津南区| 平定县| 视频| 岐山县| 茌平县| 岳阳县|