黃 穎,何克清,馮在文,黃貽望
(1.武漢大學(xué)軟件工程國家重點實驗,武漢大學(xué)計算機(jī)學(xué)院,湖北武漢 430072;2.贛南師范學(xué)院數(shù)計學(xué)院,江西贛州 341000)
?
基于本體的業(yè)務(wù)流程適應(yīng)性配置方法研究
黃穎1,2,何克清1,馮在文1,黃貽望1
(1.武漢大學(xué)軟件工程國家重點實驗,武漢大學(xué)計算機(jī)學(xué)院,湖北武漢 430072;2.贛南師范學(xué)院數(shù)計學(xué)院,江西贛州 341000)
摘要:本文提出了一種基于描述邏輯的本體和規(guī)則的半自動業(yè)務(wù)流程配置框架.設(shè)計并實現(xiàn)了可配置節(jié)點本體及業(yè)務(wù)規(guī)則本體,提出七類元規(guī)則指導(dǎo)業(yè)務(wù)規(guī)則的撰寫.最后提出基于C-iEPC的流程配置算法,對可配置流程進(jìn)行配置.本文使用案例進(jìn)行驗證,結(jié)果證明本文方法能夠在降低人工成本的基礎(chǔ)上,取得與國際主流的問卷式流程配置方法相近的效果,并使用經(jīng)驗驗證的方法證明了本文方法的實用性和有效性.
關(guān)鍵詞:業(yè)務(wù)流程配置;本體;流程可配置節(jié)點本體;業(yè)務(wù)規(guī)則本體
1引言
業(yè)務(wù)流程是一組相關(guān)的結(jié)構(gòu)化的行為或活動的集合,它有特定目的,產(chǎn)生特定的服務(wù)或產(chǎn)品,從而滿足用戶的需求,以提高產(chǎn)品和服務(wù)質(zhì)量為目的,分析、提高、控制和管理過程的系統(tǒng)化、結(jié)構(gòu)化的方法[1,2].
目前已經(jīng)有許多業(yè)務(wù)建模工具如 ARIS 業(yè)務(wù)架構(gòu)[3],WebSphere等,這些工具支持不同的建模技術(shù),如UML 活動圖、BPMN和 EPCs[4].但是傳統(tǒng)業(yè)務(wù)流程建模復(fù)雜費時,除此之外用戶需求的多樣性以及業(yè)務(wù)流程專門化,都要求企業(yè)以更加有效的方法對業(yè)務(wù)流程建模.
創(chuàng)建流程模型時,流程設(shè)計者面臨的最根本的挑戰(zhàn)是如何應(yīng)對業(yè)務(wù)流程當(dāng)中的可變性,體現(xiàn)可變性的手段之一為流程模型當(dāng)中的可配置節(jié)點.Aalst等人提出了可配置的流程模型[5,6],提出用C-EPC(Configurable-Event Process Chain)作為可配置業(yè)務(wù)流程的建模語言.本文使用C-EPC的擴(kuò)展語言C-iEPC (Configurable-integrated Event Process Chain)[7]作為可配置模型的建模語言,首先,EPC是目的使用最廣泛的流程建模語言之一.其次,EPC的建模語言EPML[8]在業(yè)務(wù)流程建模領(lǐng)域建立了一種標(biāo)準(zhǔn)化表現(xiàn)形式[9].最后,除了與C-EPC同樣具有可配置功能,C-iEPC還具備描述流程內(nèi)數(shù)據(jù)對象的能力[9].
可配置節(jié)點是可配置業(yè)務(wù)流程模型的一個非常重要的概念,可配置節(jié)點的配置選擇不同將產(chǎn)生不同的配置結(jié)果,從而產(chǎn)生不同的個性化業(yè)務(wù)流程.本體描述某個領(lǐng)域甚至更廣范圍內(nèi)的概念以及概念之間的關(guān)系,使得這些概念和關(guān)系在共享的范圍內(nèi)具有共識的、明確的、唯一的定義,并且具備一定的推理功能,能夠輔助我們做出決策[10].
不是所有的配置選擇都能夠產(chǎn)生有效的配置,配置過程中必須明確可配置節(jié)點的各種關(guān)系,同時滿足特定用戶的要求.為解決該問題,La Rosa等人提出了基于問卷的業(yè)務(wù)流程配置方法[7],該方法一定程度的實現(xiàn)了流程的半自動化配置,但是配置結(jié)果完全依賴問卷的設(shè)計,使用命題邏輯設(shè)置問卷中問題的約束,面向的用戶為領(lǐng)域?qū)<?問卷的設(shè)計和回答對普通用戶困難很大.本文使用描述邏輯描述業(yè)務(wù)規(guī)則,對可配置節(jié)點的配置進(jìn)行約束.利用業(yè)務(wù)情境本體對可配置節(jié)點本體中的實例進(jìn)行推理,并使用領(lǐng)域知識庫輔助流程的配置.由于配置過程中可能涉及的規(guī)則的修改和更新,本文對業(yè)務(wù)規(guī)則進(jìn)行抽象,得到七類業(yè)務(wù)元規(guī)則.
本文的主要貢獻(xiàn):(1) 提出了兩個相互獨立但又互相依賴的本體:流程可配置節(jié)點本體和業(yè)務(wù)規(guī)則本體.(2) 對可能使用的規(guī)則進(jìn)行抽象概括,得到四類元業(yè)務(wù)規(guī)則及三類流程元配置規(guī)則.(3)不僅能夠?qū)α鞒棠P彤?dāng)中的控制流進(jìn)行管理,還能管理流程中的數(shù)據(jù)對象.
2相關(guān)工作
可配置節(jié)點模型是對可變性建模的方法之一,是在Webber對可配置節(jié)點的原始概念基礎(chǔ)上增加可變性機(jī)制[17].George 等人定義了一種全面的業(yè)務(wù)流程可變性語法,同時對已有流程可變性管理方法進(jìn)行判定[18].
Rosemann 等人提出了C-EPC,這是一種參考模型驅(qū)動的方法[19],通過它可以獲取個性化的流程模型.但是對沒有技術(shù)背景的用戶使用C-EPC還是有難度的.我們在前期工作中提出一種角色和目標(biāo)約束下以流程為中心的可配置業(yè)務(wù)流程模型[20].
流程配置根據(jù)流程內(nèi)特征的選擇和刪除限定了一個有效的場景,配置模型也可以視為一個決策模型[1].問卷驅(qū)動的配置采用問卷進(jìn)行配置[7],它使用命題邏輯表達(dá)對問卷的每個要點進(jìn)行限制.領(lǐng)域?qū)<依脝柧碓O(shè)計器設(shè)計必要的問題,然后用戶使用Quaestio 回答與事實對應(yīng)的問題,最后使用C-Mapper將問題的所有答案與可配置節(jié)點的所有可能情況相映射,同時使用命題邏輯進(jìn)行事實間的邏輯推理[1].但使用C-Mapper需要較多的領(lǐng)域知識,且對流程非常熟悉,這對普通用戶來說難度較大.Markovic等設(shè)計了一種業(yè)務(wù)目標(biāo)本體從而對流程目標(biāo)進(jìn)行建模[21].Lin Yun等目標(biāo)本體對流程進(jìn)行標(biāo)注,解決了流程模型的異構(gòu)性,并進(jìn)行流程配置[22].
3相關(guān)知識
根據(jù)對象不同C-iEPC中節(jié)點類型可分為控制流節(jié)點和數(shù)據(jù)對象節(jié)點.控制流節(jié)點包括:OR(或),AND(與),XOR(異或),Function(功能),Event(事件)節(jié)點,Edge(邊).數(shù)據(jù)對象節(jié)點包括:Role(角色),Object(對象)和 Range(范圍)節(jié)點.根據(jù)配置能力 C-iEPC 中的節(jié)點可分為可配置節(jié)點和不可配置節(jié)點.根據(jù)C-iEPC流程的定義[9],重新定義可配置業(yè)務(wù)流程.
定義1一個可配置的業(yè)務(wù)流程是一個三元組BP={Node,Property,Value},Node={E,A,F,C,R,O,CN},CN={FC,CC,RC,OC},Property={ID,name,optional,type,lowerBound,upperBound,source,target}.Node→Property.Node為流程當(dāng)中節(jié)點的類型,Property為流程節(jié)點的屬性,Value為節(jié)點屬性的具體值.Node與Property是部分映射,不同類型的節(jié)點屬性不同.
E:有限非空的事件節(jié)點集合;
A:有限非空的邊集合;
F:有限非空的功能節(jié)點集合;
C:有限非空的連接點集合,C=COR∪CXOR∪CAND∪CRANGE;
R:有限非空的角色節(jié)點集合;
O:有限非空的對象節(jié)點集合;
FC:有限非空的可配置功能節(jié)點集合;
CC:有限非空的可配置連接點集合,CC=CCOR∪CCXOR∪CCRANGE;
RC:有限非空的可配置角色節(jié)點集合;
OC:有限非空的可配置對象節(jié)點集合.
C-iEPC業(yè)務(wù)流程以本體的形式表現(xiàn),這里采用OWL-DL作為表示本體.
基于文獻(xiàn)[11]形式化定義OWL-DL本體及其類關(guān)系模型和屬性關(guān)系模型.
定義2OWL-DL本體:Ontology={Class,Property,Individual},Class 為本體類,Property 為本體的屬性,Individual為本體實例.
定義3類關(guān)系模型是二元組Ch={C,RC},RC={subClassOf,intersectionOf,unionOf,complementOf,Restriction, oneOf,HCi},C是一個有限非空的類的集合,RC表示類C的特定關(guān)系,HCi表示類所處的層次.
定義4屬性關(guān)系模型是一個四元組,Ph={OP,DP,ROP,RDP},Ph是一個有限非空的屬性集合,OP為對象屬性(Object Property),DP為數(shù)據(jù)屬性(Data Property),ROP為對象屬性的特定關(guān)系.RDP為數(shù)據(jù)屬性的特定關(guān)系.
4基于本體的流程配置
4.1框架描述
對業(yè)務(wù)流程進(jìn)行配置必須回答兩個問題,一為“配置什么?”,二為“如何配置?”.“配置什么”是指出業(yè)務(wù)流程當(dāng)中哪些部分需要配置,本文用本體表示.“如何配置”是如何對已經(jīng)提取出來的可配置節(jié)點進(jìn)行配置,本文使用業(yè)務(wù)規(guī)則本體,對可配置節(jié)點的配置進(jìn)行約束.
本文使用情境本體來表示配置時的業(yè)務(wù)需求,配置的目的是確定流程當(dāng)中可配置節(jié)點的配置選擇,設(shè)定的情境不能脫離可配置的業(yè)務(wù)流程.當(dāng)情境本體的實例被確定,就獲得了特定的流程情境,再結(jié)合業(yè)務(wù)規(guī)則就可以確定每個流程可配置點的配置情況.
設(shè)置配置方案的時候盡可能考慮所有可能情況,如果出現(xiàn)無法找到滿足約束的配置方案,由于業(yè)務(wù)規(guī)則本體相對于流程可配置節(jié)點是獨立的,可以通過對業(yè)務(wù)規(guī)則本體進(jìn)行修改或增加,滿足新的需求.這個也正是本文提出業(yè)務(wù)規(guī)則本體的目的之一.
本文情境本體的形式表達(dá)配置需求如下:
第1步,根據(jù)可配置業(yè)務(wù)流程模型當(dāng)中的可配置節(jié)點的特征,提取流程的可配置節(jié)點將其轉(zhuǎn)變?yōu)榭膳渲霉?jié)點本體;
第2步,根據(jù)業(yè)務(wù)情境,利用情境本體使用本體查詢語言對可配置節(jié)點本體查詢,得到與情境對應(yīng)的可配置節(jié)點;
第3步,根據(jù)領(lǐng)域本體和業(yè)務(wù)規(guī)則本體,對選取出來的可配置節(jié)點本體進(jìn)行選擇及推理;
第4步,推理結(jié)果映射到可配置業(yè)務(wù)流程模型中相應(yīng)節(jié)點上;
第5步,根據(jù)步驟 4映射結(jié)果,對可配置業(yè)務(wù)流程進(jìn)行配置,得到個性化的業(yè)務(wù)流程.
4.2流程可配置節(jié)點本體
為了給流程可配置節(jié)點增加語義信息,對其進(jìn)行本體化,定義5為C-iEPC流程可配置節(jié)點與OWL-DL的具體轉(zhuǎn)換規(guī)則.
定義5流程可配置節(jié)點與OWL-DL本體的映射關(guān)系(F(BP)→Ontology)定義如下:
Φ=CNCC:獲取除可配置連接點之外的可配置節(jié)點;
ψ=Property{ID}:獲取除ID之外屬性值;
Lid=CN→(Property.ID):獲取可配置節(jié)點對應(yīng)的ID屬性;
ζ=CN→ψ:獲取可配置節(jié)點的除ID之外對應(yīng)屬性;
Gname=Φ→(Property.name):獲取可配置節(jié)點對應(yīng)的name屬性;
Gid=CC→(Property.id):獲取可配置連接點對應(yīng)的id屬性;
V(Gname)=name.value:獲取流程可配置節(jié)點屬性集合成員的name值;
V(Gid)=id.value:獲取流程可配置節(jié)點屬性集合成員的id值;
V(Lid)=id.value:獲取流程可配置連接點屬性集合成員的id值;
F(CN)→HC1:將業(yè)務(wù)流程的節(jié)點類型映射到本體的一級類;
V(Gname)→HC2:將業(yè)務(wù)流程的流程屬性中name屬性的具體值映射為本體的二級類;
F(CN)→HDP1:將業(yè)務(wù)流程的節(jié)點類型映射為本體的一級數(shù)據(jù)屬性;
V(Gname)→HDP2:將業(yè)務(wù)流程中除可配置連接點的節(jié)點屬性中name屬性映射為本體的二級數(shù)據(jù)屬性;
V(Gid)→HDP2:將業(yè)務(wù)流程的可配置連接點的節(jié)點屬性中ID屬性映射為本體的二級數(shù)據(jù)屬性;
V(Lid)→I:將業(yè)務(wù)流程的節(jié)點屬性中的ID屬性的值映射為本體的實例;
V(ζ)→HDP2.value:將業(yè)務(wù)流程的節(jié)點屬性中除ID屬性之外的屬性的值映射為本體數(shù)據(jù)屬性值.
定義6描述了本體化后的流程可配置節(jié)點可能的配置情況.
定義6流程可配置節(jié)點本體配置選擇(CPOO:Configurable Point Ontology Option)為三元組定義CPOO={ConPoint,Property,ConResult}.
ConPoint={ConFunction,ConConnector ,ConRole,ConObject,ConRange}:是可配置節(jié)點類型的集合;
ConConnector={OR,XOR}:可配置連接點類型的集合;
ConObject={IN,OUT}:可配置對象節(jié)點類型的集合;
Property={MND,OPT,Consumed}:可配置對象節(jié)點屬性的集合;
ConResult={ON,OFF,OPT,OR,XOR,AND∪SEQ,Special,USED}:可配置節(jié)點的配置結(jié)果集合;
ConRole→Property∈{MND,OPT}:可配置角色節(jié)點的屬性集合;
OUT→Property∈{MND,OPT}:可配置輸出對象節(jié)點的屬性集合;
IN→Property∈{MND,OPT}:可配置輸入對象節(jié)點的屬性集合;
ConFunction→ConResult∈{ON,OFF,OPT}:可配置功能節(jié)點配置結(jié)果;
OR→ConResult∈{OR,XOR,AND,SEQ}:可配置OR連接點配置結(jié)果;
XOR→ConResult∈{XOR,SEQ}:可配置XOR連接點配置結(jié)果;
OUT→ConResult∈{OFF,Special}:可配置輸出對象節(jié)點配置結(jié)果;
4.3情境本體及領(lǐng)域本體
為了實現(xiàn)流程可配置節(jié)點的配置,還需要確定何種情境下對流程進(jìn)行配置,情境不同業(yè)務(wù)規(guī)則、用戶需求等都可能不同.定義7為情境本體的形式化定義,情境本體通過查詢可以與可配置節(jié)點本體相關(guān)聯(lián),并通過業(yè)務(wù)規(guī)則進(jìn)行推理.
定義7情境本體為二元組ContextOntology={conElement,conProperty},conElement為情境本體組件,conProperty為情境屬性.
組件為四元組conElement={User,Service,Platform,Environment},用戶為四元組User={task,role,profile}包含用戶角色、任務(wù)及用戶概述;
服務(wù)為三元組Service={profile,model,grounding}包含服務(wù)概述,模型和細(xì)節(jié);
平臺為二元組Platform={software,hardware}包括了軟硬件平臺;
環(huán)境為三元組Environment={location,time,condition}包括地點、時間和條件;
屬性為二元組conProperty={DP,OP},由數(shù)據(jù)屬性(DP)和對象屬性(OP)構(gòu)成.
配置過程需要結(jié)合特定領(lǐng)域,定義8是對領(lǐng)域知識本體的定義.
定義8領(lǐng)域本體為五元組DomainOntology={name,ImportOnt,Concept,Relation,Axiom}:name表示本體名稱;ImportOnt為引入的其他本體;Concept 為概念集合;Relation為該概念關(guān)系集合;
概念為三元組Concept={conceptName,ConceptIDs,Attribute}:conceptName為概念名稱;ConceptIDs為概念的父概念名集合;Attribute 為概念的屬性集合;
概念關(guān)系Relation={relationName,Parameter}:relationName為關(guān)系名;Parameter為參數(shù).
Axiom 為本體中定義的公理集合.公理Axiom={axiomName,logicExpr}:axiomName 為公理稱;logicExpr為公式表達(dá)式集合.
4.4業(yè)務(wù)規(guī)則本體
業(yè)務(wù)規(guī)則是定義或限制業(yè)務(wù)某些方面的陳述,目的是斷言業(yè)務(wù)結(jié)構(gòu),控制或影響業(yè)務(wù)行為[12].作為領(lǐng)域知識的一部分.業(yè)務(wù)規(guī)則通常是以限制或條件的形式表達(dá),本文使用謂詞邏輯表達(dá)業(yè)務(wù)規(guī)則本體,用戶可以對屬性及個體對象間的關(guān)系進(jìn)行推理.
本文將業(yè)務(wù)規(guī)則與業(yè)務(wù)流程分離,把它作為獨立、可擴(kuò)展部分,如某條規(guī)則改變,只需修改相應(yīng)規(guī)則或增加新規(guī)則,對流程沒有影響.
定義9業(yè)務(wù)規(guī)則本體為三元組Ruleontology={Issue,Constrain,Target},Issue是要處理問題的集合,Target 是想達(dá)到的目標(biāo),Constrain是為了達(dá)到目標(biāo)而對問題做的限制:Constrain(Issue)→Target.
4.5基于C-iEPC的業(yè)務(wù)元規(guī)則
配置過程中可能涉及一定規(guī)模的規(guī)則的修改和更新,我們使用元規(guī)則進(jìn)行抽象,業(yè)務(wù)元規(guī)則定義了業(yè)務(wù)規(guī)則和其他業(yè)務(wù)實體之間的依賴關(guān)系,它可以控制業(yè)務(wù)規(guī)則的選擇和調(diào)用.本文提出七大類元規(guī)則,規(guī)則(1)至(4)為元業(yè)務(wù)規(guī)則,目的是對所使用特定的領(lǐng)域概念進(jìn)行抽象,將領(lǐng)域的限制選擇以規(guī)則的形式表現(xiàn).規(guī)則(5)至(7)為流程可配置節(jié)點配置規(guī)則.具體如下所示:
(1)事實(facts)之間可以相互限制:
(2)事實相結(jié)合可以得到新的限制條件:
(3)事實與限制條件結(jié)合得到新的事實:
(4)事實與限制條件結(jié)合得到新限制條件:
(5)可配置連接點在某限制條件下設(shè)置為特定類型的連接點:
varconn∈{xor,or},conn∈{xor,or,and,seq}
(6)某流程可配置節(jié)點在某些限制下狀態(tài)為“ON”:
(7)某流程可配置節(jié)點在某些限制下狀態(tài)為“OFF”:
4.6配置算法
算法1給出了基于本體的C-iEPC流程配置算法,該算法嚴(yán)格遵守iEPC的語法和語義規(guī)范[13].文獻(xiàn)[14,15]證明了iEPC的正確性和合理性.
根據(jù)業(yè)務(wù)情境,選擇可配置的流程節(jié)點(2行).根據(jù)情境、業(yè)務(wù)規(guī)則和領(lǐng)域本體,確定可配置節(jié)點的選擇結(jié)果(3行).根據(jù)推理結(jié)果按表2的要求對可配置的工作流連接點配置(4,5行).如工作流連接點配置為順序,用一條邊替代它(6行).刪除只單進(jìn)單出的工作流連接點(7行).可配置功能節(jié)點配置為關(guān)閉時,刪除此節(jié)點,并刪除將該節(jié)點輸出的邊及相連的角色和對象節(jié)點(8~13行);可配置功能節(jié)點配置為開,保留該功能節(jié)點,變?yōu)椴豢膳渲霉?jié)點 (14行).利用算法2配置范圍連接點(15行).如果角色和目標(biāo)節(jié)點是待選類型則配置為強制或關(guān)閉,如果是強制類型則配置成關(guān)閉;角色和對象節(jié)點如果關(guān)閉,將其從流程中刪除(16~27行).刪除所有結(jié)點的前集或后集為空的節(jié)點(28行)和孤立結(jié)點(30行).
算法2是范圍連接點的配置及上下界值調(diào)整.
若范圍結(jié)點沒有角色或目標(biāo)節(jié)點與之相連,刪除該范圍節(jié)點(1,2行).范圍連接點入度為1時,用一條邊替代這個范圍連接點(3行).若范圍連接點配置結(jié)果為OFF,將其刪除,同時刪除與之相連的角色或目標(biāo)連接點(4~7行).當(dāng)范圍連接點還有多個角色或目標(biāo)節(jié)點與之相連時,需要配置其上限和下限的值.對范圍節(jié)點的配置即為增加其下限,減少其上限.統(tǒng)計范圍連接點x的初始入度degree=k;x的初始下限lowb(x)=m,初始上限uppb(x)=n.x下限增加值為increment(x)=i,上限減少值為decrement(x)=d;上限及下限的值按(9,10行)方法設(shè)定,隨著上、下限變化,具體修改方法見11~19行.
5實驗及案例分析
5.1實驗準(zhǔn)備
實驗過程中,將流程的可配置元素存儲到數(shù)據(jù)庫中.數(shù)據(jù)庫名為流程的名稱,數(shù)據(jù)表名為節(jié)點的類型,數(shù)據(jù)表中的列名為每種可配置節(jié)點中包含的屬性.數(shù)據(jù)表中的數(shù)據(jù)為對應(yīng)節(jié)點的屬性的具體值.具體如表1所示.
表1 C-iEPC轉(zhuǎn)化為MySQL數(shù)據(jù)庫的規(guī)則
在業(yè)務(wù)流程的可配置節(jié)點存入數(shù)據(jù)庫之后,根據(jù)定義5和定義6實現(xiàn)關(guān)系數(shù)據(jù)庫到OWL本體的模式轉(zhuǎn)換.情境本體可以是領(lǐng)域?qū)<以诳紤]流程所在領(lǐng)域可能出現(xiàn)的各種情境,以模板的形式提供.領(lǐng)域知識本體是根據(jù)流程所在的領(lǐng)域知識所構(gòu)建.
針對特定的業(yè)務(wù)情境,使用SARPQL根據(jù)業(yè)務(wù)情境查詢業(yè)務(wù)流程的可配置節(jié)點本體,根據(jù)查詢結(jié)果,結(jié)合設(shè)定的SWRL業(yè)務(wù)規(guī)則和領(lǐng)域本體使用Pellet推理機(jī)進(jìn)行推理,得到可配置節(jié)點在某情境下可能的配置情況.
5.2物流訂單管理案例
圖2是C-iEPC描述的可配置物流訂單管理流程圖.顧客在選擇商品后可以提交四種不同類型的訂單,所有類型訂單記錄的信息由訂單主管錄入后轉(zhuǎn)成電子訂單提交,提交的訂單由審單員進(jìn)行重復(fù)性檢測最終確認(rèn)信息并存儲,單證員將訂單分為采購訂單和配送訂單兩種類型.每一個訂單都會設(shè)定唯一的訂單號,訂單分揀員依據(jù)訂單的優(yōu)先級或配送區(qū)域進(jìn)行分類.
首先,抽取訂單管理流程當(dāng)中的可配置節(jié)點及不可配置節(jié)點,并將其存入根據(jù)流程結(jié)構(gòu)已經(jīng)自動構(gòu)建好了的數(shù)據(jù)庫中.
然后從數(shù)據(jù)庫中讀取所需要的數(shù)據(jù),按照表1的轉(zhuǎn)換規(guī)則,自動生成OWL本體.本文使用的數(shù)據(jù)庫是MySQL,但不僅限于MySQL數(shù)據(jù)庫.
圖3是圖2對應(yīng)的流程可配置節(jié)點本體示意圖,共有15個可配置的流程節(jié)點,4個可配置連接點,5個可配置功能節(jié)點,4個可配置對象節(jié)點,1個可配置范圍連接點,1個可配置角色節(jié)點.構(gòu)建本體時使用節(jié)點ID號表示實例,節(jié)點的名稱等其他屬性作為實例的數(shù)據(jù)屬性.
以“某電商采購一批食品訂單”為情境,對訂單流程進(jìn)行配置.根據(jù)業(yè)務(wù)規(guī)則電商只使用電子訂單.訂單分類按購買順序或運送順序均可.根據(jù)設(shè)定的業(yè)務(wù)情境,結(jié)合領(lǐng)域本體、業(yè)務(wù)規(guī)則,可配置節(jié)點的配置選擇及結(jié)果如下表所示.由于選擇電子訂單,ID號為3461、1491的可配置Object節(jié)點,ID號為3571的可配置Range節(jié)點,ID號為834的Role節(jié)點,直接從流程中移除,不考慮配置情況.
以下是部分具有代表性的配置規(guī)則,可以預(yù)先根據(jù)具體需求及情境按照元規(guī)則(5)建立配置規(guī)則:
(1)C-Connector(?p),FOFF(?x,true),FON(?y,true),FON(?z,true) -> XOR(?p,?y),XOR(?p,?z)
(2)C-Function(?y),C-Function(?x) FON(?x,true) -> OR(?x,?y)
(3)C-Connector(?p),FON(?x,true),FON(?y,true),FON(?z,true) -> XOR(?p,?x),XOR(?p,?y),XOR(?p,?z)
規(guī)則(1)表示可配置所屬連接點實例p,可配置功能節(jié)點的實例x,y,z.x的配置選擇狀態(tài)為關(guān)閉,y和z的配置選擇狀態(tài)為打開,則p與y間、p與z間的連接點為異或.
規(guī)則(2)表示可配置功能節(jié)點實例x、y,x的狀態(tài)為開,則x與y之間用OR連接點連接.
規(guī)則(3)表示對可配置連接點實例p,可配置功能節(jié)點的實例x,y,z.x,y,z的配置狀態(tài)均為打開,則p與x,y,z間的分別用異或連接點連接.
最后,使用算法1得到最終配置結(jié)果,配置后的流程如圖4所示.根據(jù)業(yè)務(wù)情境采用電子訂單,其余下單方式均關(guān)閉,也無需考慮訂單信息輸入,需要確定物品重量,由重量確定運費.圖2中可配置節(jié)點的配置結(jié)果如表2、3、4所示.
表2 可配置OR的配置結(jié)果
表3 可配置Object的配置結(jié)果
表4 可配置Function的配置結(jié)果
5.3電影聲音后期制作案例
本文以小成本簡單制作的多種音效結(jié)合的電影音效后期制作作為流程配置的情境*http://www.processconfiguration.com/download.html.小成本意味著拍攝介質(zhì)為磁帶(tape)或者數(shù)字(file),考慮電影常規(guī)音效.配置過程中涉及的主要業(yè)務(wù)規(guī)則,及關(guān)于可配置節(jié)點的配置規(guī)則如下.
如用數(shù)字化拍攝材料拍攝影片,只能用tape和file方式發(fā)行.符合元規(guī)則(1):
File(?x) -> File-Deliver(?y)
File(?x) -> Tape-Deliver(?z)
電影中不同的聲音元素,產(chǎn)生不同的聲音文件.符合元規(guī)則(2):
Dialog(?x),Sound-files(?y) -> hasFileProduce(?x,?y)
電影發(fā)行和編輯介質(zhì)依賴于聲音元素,聲音配置人員依賴聲音元素種類.符合元規(guī)則(2):
Audio-Elements(?x),Deliver-Media(?z),Edit-Media(?y) -> Dependency(?x,?y),Dependency(?x,?z)
有相關(guān)的聲音元素才需要對應(yīng)的“cue”,才需要進(jìn)行對應(yīng)的聲音設(shè)計.符合元規(guī)則(6):
Effectcues(?ec),Effect(?e) -> ON(?ec,true)
Dialogcues(?dc),Dialog(?d) -> ON(?dc,true)
如沒有音樂元素則不需要進(jìn)行音樂設(shè)計,符合元規(guī)則(7):
Effectcues(?ec),MusicDesign(?md) -> OFF(?md,true)
5.4實用性和有效性驗證
經(jīng)驗學(xué)習(xí)方法是通過問卷獲得受訪者對系統(tǒng)的感受,認(rèn)知負(fù)荷理論[16]為經(jīng)驗學(xué)習(xí)方法提供了理論基礎(chǔ).為了體現(xiàn)本方法的實用性和有效性,分步驟對受訪者測試,根據(jù)業(yè)務(wù)流程建模熟練程度的不同,受訪人群分為新手組:8名本科生組成;中級組:6名碩士生組成;高級組:3名博士生組成.設(shè)計了五個假設(shè):
H1:用戶愿意使用配置后的業(yè)務(wù)流程而不是重新設(shè)計業(yè)務(wù)流程模型.
H2a:流程建模者,使用配置方法比沒使用配置方法的建模者花費更少的時間.
H2b:配置業(yè)務(wù)流程時,用戶傾向使用本文方法.
H3a:使用本文方法對不同建模經(jīng)驗的用戶均適用.
H3b:使用本文方法配置得到個性化流程與用戶經(jīng)驗無關(guān),即本文方法適用范圍較廣.
要求受訪者對案例1和2使用的可配置流程進(jìn)行配置,用戶體驗測試采用三個步驟:
第1步:要求受訪者使用傳統(tǒng)的問卷式方法對可配置業(yè)務(wù)流程進(jìn)行配置;
第2步:要求受訪者使用本文所提的方法對可配置業(yè)務(wù)流程進(jìn)行配置;
第3步:要求受訪者重新設(shè)計兩個與案例1、案例2類似的業(yè)務(wù)流程;
測試結(jié)果如下:
新手組:3人未能完成獨立流程建模,2人未完成問卷式流程配置,問卷式流程配置完成者中有3人有誤;
中級組:1人未能完成獨立流程建模,1人未完成問卷式流程配置,問卷式流程配置完成者中有1人有誤;
新手組:均完成任務(wù),問卷式流程配置完成者中有1人有誤;
假設(shè)H1,虛假設(shè)為用戶更傾向于從零設(shè)計業(yè)務(wù)流程.調(diào)查涉及17人,除高級組有1人愿意自行設(shè)計流程,其他受訪者均表示愿意使用流程配置方法.結(jié)果表明,可以接受H1的假設(shè).
假設(shè)H2a,14人提交了全新構(gòu)建的流程.12人提出從配置獲取流程比完全自行構(gòu)建流程要快速,但2人提出簡單業(yè)務(wù)流程手工建模不復(fù)雜.
假設(shè)H2b,新手組和中級組成員贊同使用基于本體的方法,3人無法使用問卷式方式完成流程配置.完成問卷式流程配置方法的受訪者中4人沒有得到正確的個性化流程.高級組成員雖然正確完成了問卷式方式配置流程,但費時較長.
假設(shè)H3a,不同經(jīng)驗用戶群都完成了基于本體的流程配置.
假設(shè)H3b,虛假設(shè)為用戶的經(jīng)驗對流程配置情境的選擇有較大影響..測試結(jié)果顯示,只要需求明確,不同用戶均能對流程進(jìn)行配置,2人因需求不夠明確選取了不合適的情境.結(jié)果表明,可以接受H3b的假設(shè).
6總結(jié)與展望
本文描述了基于本體的業(yè)務(wù)流程配置方法,將流程當(dāng)中的可配置節(jié)點本體化,同時將流程所在領(lǐng)域的業(yè)務(wù)規(guī)則也本體化,使用業(yè)務(wù)規(guī)則本體作為業(yè)務(wù)流程配置的指導(dǎo)對可配置節(jié)點本體進(jìn)行配置約束,結(jié)合業(yè)務(wù)情境,再根據(jù)配置算法對可配置的業(yè)務(wù)流程進(jìn)行配置,最終獲得個性化的業(yè)務(wù)流程.本方法降低了配置過程中對用戶領(lǐng)域知識的要求,雖然需要一定的前期準(zhǔn)備工作,但減少了用戶在配置過程中的工作量.
本文使用C-iEPC作為業(yè)務(wù)流程建模語言,對其他主流建模語言建立的流程該方法同樣適用,只需根據(jù)建模語言對配置算法略作改進(jìn).
基于本體的方法一定程度上依賴本體規(guī)則、領(lǐng)域知識本體,獲得更好的配置效果必須建立更加精確、完整的知識庫.如何建立完善的支持業(yè)務(wù)流程配置的知識庫,是我們未來的工作.
參考文獻(xiàn)
[1]La Rosa M,van der Aalst WMP,Dumas M,et al.Questionnaire-based variability modeling for system configuration[J].Software and Systems Modeling,2009,8(2):251-74.
[2]Hebeler J,Fisher,M,Blace,R,Perez Lopez,Dean,M.Semantic Web Programming[M].USA:Wiley,2008.
[3]Scheer A W,Nüttgens M.ARIS Architecture and Reference Models for Business Process Management[M].Berlin:Springer Berlin Heidelberg,2000.
[4]Mendling J,Nüttgens M.EPC markup language (EPML):an XML-based interchange format for event-driven process chains (EPC)[J].Information Systems and e-Business Management,2006,4(3):245-263.
[5]Jan Mendling,Jan Recker,Michael Rosemann,Wil van der Aalst.Towards the interchange of configurable EPCs:An XML-based approach for reference model configuration[A].Proceedings Enterprise Modeling and Information Systems Architectures[C].Klagenfurt,Austria:EMISA,2005.8-21.
[6]Gottschalk,Florian,WMP van der Aalst,et al.Configurable process models-a foundational approach[A].Proceedings of the Reference Modeling Conference[C].Heideberg:Physica-Verlag HD,2007.59-77.
[7]La Rosa M,Lux J,Seidel S,et al.Questionnaire-driven configuration of reference process models[A].Advanced Information Systems Engineering[C].Trondheim:Springer Berlin Heidelberg,2007.424-438.
[8]Mendling J,Nüttgens M.EPC markup language (EPML):An XML-based interchange format for event-driven process chains (EPC)[J].Information Systems and e-Business Management,2006,4(3):245-63.
[9]Marcello La Rosa,Marlon Dumas,Arthur H.M.ter Hofstede,et al.Configurable multi-perspective business process models[J].Information Systems,2011,36(2):31-40.
[10]Thomas R Gruber.The role of common ontology in achieving sharable,reusable knowledge bases[A].2nd International Conference on Principles of Knowledge Representation and Reasoning[C].San Mateo,California:KR&R,1991.601-602.
[11]W3C OWL Working Group.OWL 2 Web Ontology Language Document Overview[OL].http:// www.w3.org/TR/owl2-overview/.
[12]Ross RG.Principles of the Business Rule Approach[M].Boston:Addison-Wesley Professional,2003.
[13]La Rosa,Marcello,et al.Beyond control-flow:Extending business process configuration to roles and objects[A].Conceptual Modeling-ER 2008[C].Barcelona:Springer Berlin Heidelberg,2008.199-215.
[14]Mendling,Jan,La Rosa,Marcello,ter Hofstede,Arthur H M.Correctness of Business Process Models with Roles and Object[EB/OL].http://eprints.qut.edu.au/13845/,2008-07-23.
[15]Mendling,Jan,La Rosa,Marcello,ter Hofstede,Arthur H M.Soundness of EPC Process Models with Objects and Roles[EB/OL].http://eprints.qut.edu.au/13172/,2008-03-28.
[16]Sweller J.Evolution of human cognitive architecture[J].Psychology of Learning and Motivation,2003,43:216-266.
[17]Gr?ner,Gerd,Marko Bo?kovic′,Fernando Silva Parreiras,et al.Modeling and validation of business process families[J].Information Systems,2013,38(5):709-726.
[19]Rosemann M,van der Aalst WM.A configurable reference modeling language[J].Information Systems,2007,32(1):1-23.
[20]黃貽望,何克清,等.一種目標(biāo)感知的可配置業(yè)務(wù)流程分析方法[J].電子學(xué)報,2014,42(10):2060-2068.
Huang Yi-wang,He ke-qing,et al.A goal-aware analytical method of configurable business process[J].Acta Electronica Sinica,2014,42(10):2060-2068.(in Chinese)
[21]Markov I,Kowalkiewicz M.Linking business goals to process models in semantic business process modeling[A].Enterprise Distributed Object Computing Conference[C].München,Germany:IEEE,2008.332-338.
[22]Lin Yun,John Krogstie.Semantic annotation of process models for facilitating process knowledge management[J].International Journal of Information System Modeling and Design,2010,1(3):45-67.
黃穎女,1981年生,江西萬載人.博士研究生,講師,CCF會員.研究方向為服務(wù)計算業(yè)務(wù)流程管理等.
E-mail:nhwshy@whu.edu.cn
何克清男,1947年生,湖北武漢人.教授,博士生導(dǎo)師,CCF高級會員.研究方向為服務(wù)計算、軟件工程、需求工程、ISO國際標(biāo)準(zhǔn).
E-mail:hekeqing@whu.edu.cn
馮在文(通訊作者)男,1980年生,湖北武漢人.博士.研究方向為服務(wù)計算、軟件工程等.
E-mail:zwfeng@whu.edu.cn
黃貽望男,1978年生于湖南懷化.副教授.博士研究生.研究方向為業(yè)務(wù)流程管理、形式化方法.
Research on Adaptive Approach for Business Process Configuration Based on Ontology
HUANG Ying1,2,HE Ke-qing1,FENG Zai-wen1,HUANG Yi-wang1
(1.StateKeyLaboratoryofSoftwareEngineering,SchoolofComputer,WuhanUniversity,Wuhan,Hubei430072,China;2.InstituteofMathematicalandComputerSciences,GannanNormalUniversity,Ganzhou,Jiangxi341000,China)
Abstract:This paper proposes a framework for carrying out semi-automatic service-based business process configuration.We design and implement a variation point ontology and business rule ontology,and propose seven kinds of meta rules to guide specific business rules,in which the guidelines of variable points are presented by these specific rules.We employ a configuration algorithm to configure a configurable business process depending on the reference result of variable points.The approach is validated by cases study,experiments results proved we obtain equal configurate effect with international mainstream method of questionnaire,and reduce the manual work.Finally we present a empirically study valid the usefulness and efficiency of our work.
Key words:business process configuration;ontology;variation point ontology;business rule ontology
作者簡介
DOI:電子學(xué)報URL:http://www.ejournal.org.cn10.3969/j.issn.0372-2112.2016.03.031
中圖分類號:TP301
文獻(xiàn)標(biāo)識碼:A
文章編號:0372-2112 (2016)03-0699-010
基金項目:國家973重點基礎(chǔ)研究發(fā)展計劃(No.2014CB340404);國家自然科學(xué)基金(No.61373037,No.61202031);江西省自然科學(xué)基金(No.20142BAB217028)
收稿日期:2014-09-23;修回日期:2014-12-04;責(zé)任編輯:藍(lán)紅杰