黃貽望,徐松金
(1. 銅仁學(xué)院 大數(shù)據(jù)學(xué)院,貴州 銅仁 554300; 2. 中國科學(xué)院自動化研究所,北京 100190)
一種情境感知的業(yè)務(wù)流程動態(tài)自適應(yīng)方法*
黃貽望1,2,徐松金1
(1. 銅仁學(xué)院 大數(shù)據(jù)學(xué)院,貴州 銅仁 554300; 2. 中國科學(xué)院自動化研究所,北京 100190)
提出一種基于服務(wù)應(yīng)用的綜合框架,在這個框架中開發(fā)過程碎片的概念。過程碎片是過程知識重用的建模方法,可以將過程碎片的動態(tài)、增加和情境感知組合應(yīng)用到動態(tài)服務(wù)應(yīng)用??蚣芴峁┝诉m應(yīng)機制集合,通過適應(yīng)策略進(jìn)行組合,從而能夠解決復(fù)雜的適應(yīng)問題。
自適應(yīng);情境感知;基于服務(wù)應(yīng)用;流程碎片
面向服務(wù)(RGPS中的S)范型的關(guān)鍵優(yōu)勢是有可能減少軟件應(yīng)用的開發(fā)和維護成本[1-4]。充分利用這個優(yōu)勢的關(guān)鍵因素是:面向服務(wù)應(yīng)用的適應(yīng)能力(例如,為了滿足新的需求和新形勢可以適時修改自身的行為進(jìn)行演變)??紤]到因特網(wǎng)服務(wù)的挑戰(zhàn),這里的應(yīng)用服務(wù)必須適應(yīng)持續(xù)不斷變化的環(huán)境:應(yīng)用操作的情境(Context)和所涉及到的服務(wù)(Service),使用者及提供者(Role)。在這種情形下,同一個應(yīng)用能夠面對不同情境進(jìn)行不同的操作,處理如事先不知道涉及到的服務(wù)和對新情形進(jìn)行動態(tài)改變等[3]。
研究者對于基于服務(wù)系統(tǒng)的適應(yīng)性問題,作了大量的研究工作[5-6,10-12],但大多數(shù)研究工作是集中于服務(wù)適應(yīng)能力的靜態(tài)方面,不能應(yīng)用于動態(tài)設(shè)置,這些動態(tài)設(shè)置都不能在設(shè)計階段進(jìn)行定義。在動態(tài)適應(yīng)方法中,適應(yīng)性活動(因果網(wǎng)中處理的也是活動)是指該活動滿足在當(dāng)前執(zhí)行環(huán)境和某些特殊需求運行過程中自動產(chǎn)生的約束。大多數(shù)方法都會約定范圍進(jìn)行局部的適應(yīng)(如替換)。而且,執(zhí)行環(huán)境的角色(RGPS中的R)也很少考慮進(jìn)去[7-8]。
在本文提出的框架中,(1)允許在設(shè)計階段部分規(guī)格化(粗粒度規(guī)格),而在運行階段考慮到特有的執(zhí)行情境時進(jìn)行自動精化(refinement)。這種精化過程主要是開發(fā)利用過程碎片,它是通過其他扮演者(角色)和系統(tǒng)提供的角色,這種扮演者和系統(tǒng)能夠在特定情境中描述提供給過程的服務(wù)和能力;(2)同時支持在運行階段對能夠影響到應(yīng)用執(zhí)行的異常情況進(jìn)行適應(yīng)處理,這種適應(yīng)處理是通過一個適應(yīng)機制集為應(yīng)用的重新執(zhí)行狀況由適應(yīng)策略進(jìn)行適當(dāng)組合而獲得的,而不同適應(yīng)能力機制是通過AI人工智能規(guī)劃技術(shù)來實現(xiàn)的[9]。
方法的應(yīng)用場景是一個基于海港操作的汽車場景:它處理汽車由船運達(dá)到提交給零售商的全部操作,必須承擔(dān)涉及到的各參與者的高復(fù)雜性度(different roles),每個參與者都有自己的規(guī)則和法律(Role’s constraints, rules),同時要承擔(dān)執(zhí)行環(huán)境的動態(tài)性(Contextual properties)(如港口設(shè)備的可用性、意外的損壞、人為錯誤或規(guī)則的改變等)。
這里是指德國不萊梅的一個港口城市,每年有無數(shù)車輛需要處理(從制造商到零售商的交付),如圖1所示。每輛汽車的交付過程包含了一個能夠根據(jù)汽車的商標(biāo)模型及特有零售商的需求進(jìn)行個性化定制的過程集。如汽車被船運達(dá)、卸貨,并在終端解包。一旦解包后,需根據(jù)其汽車類型和停車場空間的可用性,汽車被移動到固定存儲區(qū)域,不同的存儲區(qū)域需要執(zhí)行不同的停車過程。停完后汽車直到被零售商訂購后空出??课恢?,而汽車一旦被零售商訂購后需進(jìn)入一個提交過程,汽車準(zhǔn)備提交就被指派一個提交港口(gate),然后裝上卡車,最終提交給零售商。
圖1 汽車交付流程的自適應(yīng)機制架構(gòu)(略圖)
本文目的是開發(fā)一個應(yīng)用系統(tǒng)用來支持港口的操作和管理(CLS),這個系統(tǒng)涉及到多個參與者(ROLE)(汽車、船工、卡車、處理位置等)根據(jù)自身過程和業(yè)務(wù)策略進(jìn)行協(xié)同合作。這個場景應(yīng)用需要根據(jù)扮演者的可變性即個性化過程和影響到操作的情境變化來處理場景的動態(tài)性。個性化是指汽車的不同商標(biāo)和模型需要以個性化的方式進(jìn)行相似化處理。而且針對新的汽車模型(R),它有自身特定的需求(goal)和規(guī)程或程序(process),必須能夠很容易地整合到應(yīng)用中去。類似的,應(yīng)用需要靈活處理如船和卡車等外部參與者規(guī)程的改變。最后,應(yīng)用需要反映國際規(guī)則和法律的改變(Role’s constraints),要考慮情境的動態(tài)性(dynamic context)。
2.1應(yīng)用模型
對基于碎片動態(tài)適應(yīng)情境感知系統(tǒng)(CLS)提出一個建??蚣?。框架建模包括一個實體集,每個實體用自己的業(yè)務(wù)流程(business process)來規(guī)格自身的行為。這種業(yè)務(wù)過程與傳統(tǒng)的靜態(tài)描述規(guī)約不一樣,其定義的是動態(tài)業(yè)務(wù)過程,是能夠根據(jù)系統(tǒng)提供的特征在運行時進(jìn)行實時精化的。然后這些實體動態(tài)地加入到系統(tǒng)中去,并通過過程碎片發(fā)布這些實體的功能,這些實體的過程碎片能夠被其他實體進(jìn)行交互使用并能夠被發(fā)現(xiàn),使用發(fā)現(xiàn)的這些過程碎片進(jìn)行動態(tài)的精化。如:在CLS中,不論船什么時候到達(dá)港口,它都能夠得到由登陸管理者和關(guān)口提供的過程碎片。這些過程碎片是對特有海港的規(guī)程和法則進(jìn)行建模,都能夠被船只在進(jìn)行登陸時執(zhí)行的。由不同關(guān)口提供的不同碎片可以被某個特定的船只使用。類似的船只會發(fā)布它為卸貨面實現(xiàn)的碎片。這個框架另外一個特征是將在設(shè)計階段分析所有可能的異常情境,通過運行階段進(jìn)行異常行為處理和替代的可能性,然后在業(yè)務(wù)過程中植入一些相關(guān)的發(fā)現(xiàn)活動。這種方法極大簡化了應(yīng)用動態(tài)環(huán)境中的業(yè)務(wù)過程,因此,設(shè)計者沒必要考慮和規(guī)約針對特有情形而作的所有可能替代。
前述這種框架的動態(tài)特征依賴于情境模型,這個情境模型描述系統(tǒng)的操作環(huán)境。這個情境是通過情境屬性來定義的,每個屬性都描述一個系統(tǒng)的特定方面(如:汽車當(dāng)前的位置,存儲區(qū)域的位置等)。情境屬性可能會隨著一個領(lǐng)域正常行為(如汽車的當(dāng)前位置是在存儲區(qū)域A)相關(guān)的碎片活動執(zhí)行效果或異常改變(汽車的受損環(huán)境或存儲區(qū)域不可用等)的結(jié)果而演化。情境配置是特定時間的一個情境快照,是捕獲所有情境屬性的當(dāng)前狀態(tài)。例如:汽車位置圖(CarLocation)捕獲的是汽車怎樣隨著時間進(jìn)行位置的改變。最初狀態(tài)為汽車登船,則此階段汽車的流程活動狀態(tài)是從貨物卸載到貨物拆封,然后將貨物移動到倉庫。在處理位置時對汽車進(jìn)行裝飾。類似的,汽車狀態(tài)圖(CarStatus)表示了汽車的操作狀態(tài),如由一個異常事件損壞導(dǎo)致汽車狀態(tài)由ok到nok。
業(yè)務(wù)過程和碎片是通過APF(Adaptable Pervasive Flows)來建模的,一種傳統(tǒng)工作流語言的擴展,以適應(yīng)普適動態(tài)的業(yè)務(wù)流程執(zhí)行環(huán)境。APF除了經(jīng)典的工作流語言具有結(jié)構(gòu)處,還通過帶有標(biāo)注前件和效果活動增加了關(guān)聯(lián)系統(tǒng)情境過程執(zhí)行的可能性。前件對特有的情境配置的執(zhí)行活動進(jìn)行約束,在該框架中,對支持適應(yīng)的和預(yù)期行為的非正常行為進(jìn)行捕獲。效果是對系統(tǒng)情境的執(zhí)行活動的預(yù)期影響進(jìn)行建模,應(yīng)用于碎片或過程執(zhí)行序列的自動推理。
最后,為了使建模具有動態(tài)過程,擴充APF結(jié)構(gòu)使得其能夠?qū)^程碎片的個性化和適應(yīng)性進(jìn)行建模。特別的,介紹通過碎片對抽象活動進(jìn)行規(guī)格的可能性,抽象活動是根據(jù)在設(shè)計階段要達(dá)到的目標(biāo)定義的,表示為要達(dá)到的情境配置,能夠在運行的執(zhí)行過程中進(jìn)行精化,這里要考慮有效的碎片集、當(dāng)前情境配置和達(dá)到的目標(biāo)。
2.2適應(yīng)機制
為達(dá)到情境感知的普適系統(tǒng)的動態(tài)性需提出不同的適應(yīng)機制,該框架能夠處理兩種不同的適應(yīng)需求:在一個過程實例中對抽象活動的精化需求和活動的情境前件違背的情形下執(zhí)行;第二種適應(yīng)的目標(biāo)是通過將系統(tǒng)恢復(fù)到能夠重新執(zhí)行的過程的狀態(tài)中去解決違背性。
(1)精化機制:當(dāng)抽象活動在過程實例中需要精化時觸發(fā)。該機制的目的是自動組合有用的流程碎片,這些流程碎片需考慮到跟抽象活動相關(guān)的目標(biāo)和當(dāng)前情境配置。精化結(jié)果是一個組合由系統(tǒng)中其他實體提供的碎片的可執(zhí)行過程,如果這個可執(zhí)行過程執(zhí)行的話,則會滿足抽象活動的目標(biāo)。運行時進(jìn)行精化的優(yōu)勢有兩點:有效的碎片并不總是在設(shè)計時所熟知(如:卡車到提交區(qū)域可能提供自己的卸載碎片);組合對當(dāng)前的執(zhí)行情境有強依賴性(如:存儲區(qū)域可能滿,從而當(dāng)前碎片不可用)。
考慮到圖1中A1主要的汽車過程的存儲抽象活動?;顒拥膱?zhí)行是自動精化并組合了由不同實體提供的5個有效的碎片(如:存儲管理者—注冊、存儲指定,存儲區(qū)域A—存儲到A,存儲區(qū)域A—存儲到B,存儲區(qū)域A—存儲到C)。這種精化注入到汽車過程實例中去并能繼續(xù)執(zhí)行并達(dá)到目標(biāo)。在組合的碎片中也可能包括需進(jìn)一步精化的過程執(zhí)行。這種持續(xù)精化的結(jié)果構(gòu)成了多層執(zhí)行模型(如圖1),最頂層是最初的過程實體和逐步精化相關(guān)的中間層。
(2)本地適應(yīng)機制:是指具有對一個特定活動中產(chǎn)生的一個錯誤流程進(jìn)行重新配置并啟動的解決方案。因此,需生成一個組合碎片然后執(zhí)行將系統(tǒng)帶入到滿足活動前件的情境配置。
舉例:在圖1中1B的A1中,汽車過程準(zhǔn)備執(zhí)行注冊碎片中的Registration Reply活動,因汽車受到損壞,使得這個活動的前件P1無效。在這個實例中的本地適應(yīng)是需要對汽車進(jìn)行修復(fù)(如:屬性CarStatus=ok必須保持)。這個目標(biāo)通過兩個碎片達(dá)到:允許將汽車移動到處理的地點(MoveToTreatment)并做修復(fù)(repairment)。在執(zhí)行這個本地適應(yīng)過程后,汽車過程實例又重新回到初過程執(zhí)行狀態(tài)。
(3)補償機制:這個機制用于動態(tài)計算特定活動的補償過程。這個補償過程是由當(dāng)前情境和滿足補償目標(biāo)執(zhí)行選擇的過程碎片組合。
2.3適應(yīng)策略
適應(yīng)策略是為了實現(xiàn)有效組合適應(yīng)機制而設(shè)計的。它能夠處理那種不能單獨由適應(yīng)機制解決的復(fù)雜適應(yīng)性問題。如一個活動前件的違背不能由本地適應(yīng)能力機制來解決,另一個例子是由無效的碎片組合滿足特有情境目標(biāo)引起的失敗抽象活動精化問題。
框架提供適應(yīng)機制的不同組合方式:一次對齊適應(yīng)機制是為一個單一的適應(yīng)問題進(jìn)行不同適應(yīng)機制的組合,即發(fā)現(xiàn)一個解決方案就執(zhí)行;另一個是增量適應(yīng)機制,是指可能性策略中的每一個適應(yīng)機制被呼叫并且應(yīng)用下一個適應(yīng)機制之前適應(yīng)進(jìn)程也被執(zhí)行。這種適應(yīng)機制交錯過程的執(zhí)行使得可以為特定執(zhí)行情境進(jìn)行調(diào)整,其主要缺點是不能提前知道策略是否被完全執(zhí)行。
重精化策略:是指重復(fù)抽象活動的精化流程的過程。目的是補償標(biāo)記為補償目標(biāo)的所有精化活動,然后計算滿足抽象活動目標(biāo)的新精化過程,同時考慮新的情境配置。
后退適應(yīng)機制策略:將過程實例帶回到過程先前執(zhí)行的活動,給定新的情境配置,能夠允許不同的執(zhí)行決定。這種策略需要對所有需回滾活動進(jìn)行補償,并將系統(tǒng)帶回到滿足前件活動執(zhí)行的情境配置。
3.1相關(guān)定義
(1)情境屬性:每個情境屬性都建模成一個情境屬性圖,這是一個捕獲所有屬性值和值改變的狀態(tài)轉(zhuǎn)移系統(tǒng)。每個轉(zhuǎn)移都標(biāo)記相關(guān)的情境事件。
定義1:情境屬性圖是一個四元組c=〈L,L0,E,T〉,這里:
L是情境狀態(tài)集且L0?L為初始狀態(tài);
E=Eunc∪Ecnt是情境事件集,Eunc是不可控事件集,Ecnt是可控事件集,因此Eunc∩Ecnt=φ;
T?L×E×L是轉(zhuǎn)移函數(shù)。
標(biāo)記L(c)、E(c)等作為情境屬性圖C的相關(guān)元素。所有情境通常相當(dāng)復(fù)雜并且需要一個情境屬性圖C的集合規(guī)約。在這種情形下,一個情境狀態(tài)是它的屬性圖的狀態(tài)集合,形式上定義情境配置空間為L=Πc∈CL(c),同時也定義:Ecnt=∪c∈CEcnt(c)。
(2)過程碎片:用狀態(tài)遷移系統(tǒng)對過程碎片進(jìn)行建模,每個遷移都有一個相關(guān)特殊的碎片活動。區(qū)分4種活動:過程間通信的輸入和輸出活動;對過程內(nèi)部規(guī)格建模的具體活動;與過程的抽象活動相關(guān)的抽象活動。如前文所述,活動標(biāo)注了前件、效果和補償,而抽象活動標(biāo)注目標(biāo)。在定義過程碎片中,通過標(biāo)簽函數(shù)獲得。
定義2:過程碎片是定義在情境屬性圖C上的一個元組p=〈S,S0,A,T,Ann〉,這里:
S是一個狀態(tài)集且S0?S是初始狀態(tài)集合;
A=Ain∪Aout∪Acon∪Aabs是一個活動集,這里的Ain是輸入活動集,Aout是輸出活動集,Acon是具體活動集,Aabs是抽象活動集;
T?S×A×S是轉(zhuǎn)移函數(shù);
(3)過程和系統(tǒng)執(zhí)行:接下來定義的是捕獲給定過程的執(zhí)行的當(dāng)前狀態(tài)。如圖1所示,過程是一個層次結(jié)構(gòu),它是通過由抽象活動精化為碎片得到的。過程配置定義一系列的三元組,第一個三元組描述當(dāng)前執(zhí)行的碎片,當(dāng)前活動及執(zhí)行當(dāng)前活動的過去活動的歷史,其他三元組先前執(zhí)行活動的歷史,都伴隨著當(dāng)前執(zhí)行下的抽象活動和過往歷史?;顒託v史記錄對于后退適應(yīng)的執(zhí)行是必須的,決定哪個補償需要執(zhí)行。
定義3:過程配置是一個非空的三元組序列:
Ep=(p1,a1,h1),(p2,a2,h2)…(pn,an,hn)
這里pi是過程碎片,ai∈A(pi)是與過程碎片相關(guān)的活動,且ai∈Aabs(pi)對i≥2(如任何被精化的活動都是抽象的),hi∈A(pi)*是過程碎片執(zhí)行過的活動序列。整個系統(tǒng)的配置主要是通過情境屬性的當(dāng)前配置、系統(tǒng)中過程的配置及有效的碎片集定義的。具體定義如下:
定義4:系統(tǒng)配置是指給定一個情境屬性圖的集合C,定義C上的系統(tǒng)配置為一個元組S=〈I,ε,F〉,這里:
I∈L(c1)×…×L(cn),ci∈C,是情境屬性圖的當(dāng)前配置;
ε∈Ep1×…×Epn是運行過程的當(dāng)前配置;
F是有效碎片集。
然后用I(S)、ε(S)標(biāo)記系統(tǒng)配置S中的相關(guān)元素。受篇幅所限,這里沒有給出系統(tǒng)配置演化的形式化定義。
3.2適應(yīng)
(1)總適應(yīng)問題:用于對不同適應(yīng)機制進(jìn)行形式化,包含系統(tǒng)配置和適應(yīng)目標(biāo)的完整信息。
定義5:適應(yīng)問題是一個元組ξ=〈S,G〉,S是當(dāng)前系統(tǒng)配置,G是C上的適應(yīng)目標(biāo)。
對于目標(biāo),使用EAGLE定義自動規(guī)劃范圍內(nèi)的復(fù)雜目標(biāo),解決總適應(yīng)問題實際上是獲取有效碎片的過程Madapt,在沒有異常事件的情形下,確保情境配置的結(jié)果滿足目標(biāo)G。
(2)從適應(yīng)策略到適應(yīng)問題:將使用于系統(tǒng)配置中過程實例EP的適應(yīng)策略和機制轉(zhuǎn)化成總的適應(yīng)問題,如何將獲取的進(jìn)程Madapt從一個適應(yīng)系統(tǒng)配置S應(yīng)用研究于新的配置S′。
本地適應(yīng):這種自適應(yīng)機制能夠應(yīng)用于解決當(dāng)Pre(a1)有效時a1不能執(zhí)行的情形。這意味著為問題ξ生成一個自適應(yīng)解決方案,這里G(ξ)=Pre(a1).S,是從S中通過不斷更新Ep得到的,Ep=(p1‘,a0,h1), (p2,a2,h2)…(pn,an,hn),p1通過前面a1活動的自適應(yīng)機制獲得。
本文提出一種基于情景感知的流程碎片自適應(yīng)方法構(gòu)架,可以將此框架應(yīng)用于實際的業(yè)務(wù)流程管理。存在的挑戰(zhàn)是學(xué)習(xí)從過去的適應(yīng)機制找到最優(yōu)的策略,以解決具體的自適應(yīng)問題,并使用這種分析結(jié)果,提高業(yè)務(wù)流程管理策略。同時也需進(jìn)一步研究用規(guī)劃最優(yōu)適應(yīng)活動提升復(fù)雜標(biāo)準(zhǔn)的可能性,即不僅考慮時間成本,還要考慮副作用極小、最小的執(zhí)行成本等。
[1] BERTOLI P, KAZHAMIAKIN R, PAOLUCCI M, et al. Control flow requirements for automated service composition[C]. In Proc. ICWS’09, 2009: 17-24.
[2] B?SE F, PIOTROWSKI J. Autonomously controlled storage management in vehicle logistics applications of RFID and mobile computing systems[J]. International Journal of RT Technologies: Research an Application, 2009,1(1): 57-76.
[3] BUCCHIARONE A, KAZHAMIAKIN R, PISTORE M, et al. Adaptation of service-based business processes by contextaware replanning[C]. In SOCA 2011, 2011:1-8.
[4] LEONI M De. Adaptive process management in highly dynamic and pervasive scenarios[C]. In Proc. YR-SOC, 2009: 83-97.
[5] 韓偉倫,張紅延.業(yè)務(wù)流程建模標(biāo)注可配置建模技術(shù)[J].計算機集成制造系統(tǒng),2013,19(8): 1928-1934.
[6] 洪余柯,趙祎,姚青.基于活動依賴實現(xiàn)業(yè)務(wù)流程可變性的BPMS模型[J].計算機應(yīng)用研究,2009,26(9): 3348-3353.
[7] KRAMER J, MAGEE J. Self-managed systems: an architectural challenge[C]. In 2007 Future of Software Engineering, FOSE ’07, 2013: 259-268.
[8] MARCONI A, PISTORE M, TRAVERSO P. Automated composition of web services: the ASTRO approach[J]. IEEE Data Eng. Bull, 2008, 31(3): 23-26.
[9] 劉紅,劉祥偉,王麗麗.基于配置變遷的業(yè)務(wù)流程模型優(yōu)化分析方法[J].計算機科學(xué),2016,43(S2):509-512.
[10] RAIK H, BUCCHIARONE A, KHURSHID N, et al. Astro-captevo: dynamic context-aware adaptation for service-based systems[C]. In SERVICES, 2014.
[11] 杜磊,闞媛,李華,等. 應(yīng)急預(yù)案流程的Petri網(wǎng)建模方法研究[J]. 微型機與應(yīng)用,2014,32(9):345- 350.
[12] ZHAI Y, ZHANG J, LIN K. Soa middleware support for service process reconfiguration with end-to-end qos constraints[C]. In ICWS, 2015: 815-822.
Dynamic adaptation of business processes based on context-aware
Huang Yiwang1,2, Xu Songjin1
(1. School of Data Science, Tongren University, Tongren 554300, China;2. Institute of Automation, Chinese Academy of Sciences, Beijing 100190, China)
We propose a comprehensive framework for adaptively of service-based applications, which exploits the concept of process fragments as a way to model reusable process knowledge and to allow for the dynamic, incremental, context aware composition of such fragments into adaptable service based applications. The framework provides a set of adaptation mechanisms that, combined through adaptation strategies, are able to solve complex adaptation problems.
dynamic service adaptation; context-aware; service-based application; business fragment
TP311.5
A
10.19358/j.issn.1674- 7720.2017.19.007
黃貽望,徐松金.一種情境感知的業(yè)務(wù)流程動態(tài)自適應(yīng)方法[J].微型機與應(yīng)用,2017,36(19):23-26.
國家自然科學(xué)基金(61562073);貴州省科學(xué)技術(shù)廳聯(lián)合基金項目(黔科合平臺人才[2016]5611,黔科合LH字[2015]7248號);貴州省教育廳項目(黔教合人才團隊字[2015]67號,黔教合KY字[2016]051號);銅仁學(xué)院博士啟動基金(trxyDH1602)
2017-04-12)
黃貽望(1978-),男,博士后,副教授, CCF會員,主要研究方向:服務(wù)計算、業(yè)務(wù)流程管理、形式化方法等。徐松金(1970-),男,副教授,主要研究方向:數(shù)學(xué)建模、優(yōu)化算法。