黃貽望,徐松金
(1. 銅仁學院 大數據學院,貴州 銅仁 554300; 2. 中國科學院自動化研究所,北京 100190)
一種情境感知的業務流程動態自適應方法*
黃貽望1,2,徐松金1
(1. 銅仁學院 大數據學院,貴州 銅仁 554300; 2. 中國科學院自動化研究所,北京 100190)
提出一種基于服務應用的綜合框架,在這個框架中開發過程碎片的概念。過程碎片是過程知識重用的建模方法,可以將過程碎片的動態、增加和情境感知組合應用到動態服務應用。框架提供了適應機制集合,通過適應策略進行組合,從而能夠解決復雜的適應問題。
自適應;情境感知;基于服務應用;流程碎片
面向服務(RGPS中的S)范型的關鍵優勢是有可能減少軟件應用的開發和維護成本[1-4]。充分利用這個優勢的關鍵因素是:面向服務應用的適應能力(例如,為了滿足新的需求和新形勢可以適時修改自身的行為進行演變)。考慮到因特網服務的挑戰,這里的應用服務必須適應持續不斷變化的環境:應用操作的情境(Context)和所涉及到的服務(Service),使用者及提供者(Role)。在這種情形下,同一個應用能夠面對不同情境進行不同的操作,處理如事先不知道涉及到的服務和對新情形進行動態改變等[3]。
研究者對于基于服務系統的適應性問題,作了大量的研究工作[5-6,10-12],但大多數研究工作是集中于服務適應能力的靜態方面,不能應用于動態設置,這些動態設置都不能在設計階段進行定義。在動態適應方法中,適應性活動(因果網中處理的也是活動)是指該活動滿足在當前執行環境和某些特殊需求運行過程中自動產生的約束。大多數方法都會約定范圍進行局部的適應(如替換)。而且,執行環境的角色(RGPS中的R)也很少考慮進去[7-8]。
在本文提出的框架中,(1)允許在設計階段部分規格化(粗粒度規格),而在運行階段考慮到特有的執行情境時進行自動精化(refinement)。這種精化過程主要是開發利用過程碎片,它是通過其他扮演者(角色)和系統提供的角色,這種扮演者和系統能夠在特定情境中描述提供給過程的服務和能力;(2)同時支持在運行階段對能夠影響到應用執行的異常情況進行適應處理,這種適應處理是通過一個適應機制集為應用的重新執行狀況由適應策略進行適當組合而獲得的,而不同適應能力機制是通過AI人工智能規劃技術來實現的[9]。
方法的應用場景是一個基于海港操作的汽車場景:它處理汽車由船運達到提交給零售商的全部操作,必須承擔涉及到的各參與者的高復雜性度(different roles),每個參與者都有自己的規則和法律(Role’s constraints, rules),同時要承擔執行環境的動態性(Contextual properties)(如港口設備的可用性、意外的損壞、人為錯誤或規則的改變等)。
這里是指德國不萊梅的一個港口城市,每年有無數車輛需要處理(從制造商到零售商的交付),如圖1所示。每輛汽車的交付過程包含了一個能夠根據汽車的商標模型及特有零售商的需求進行個性化定制的過程集。如汽車被船運達、卸貨,并在終端解包。一旦解包后,需根據其汽車類型和停車場空間的可用性,汽車被移動到固定存儲區域,不同的存儲區域需要執行不同的停車過程。停完后汽車直到被零售商訂購后空出停靠位置,而汽車一旦被零售商訂購后需進入一個提交過程,汽車準備提交就被指派一個提交港口(gate),然后裝上卡車,最終提交給零售商。

圖1 汽車交付流程的自適應機制架構(略圖)
本文目的是開發一個應用系統用來支持港口的操作和管理(CLS),這個系統涉及到多個參與者(ROLE)(汽車、船工、卡車、處理位置等)根據自身過程和業務策略進行協同合作。這個場景應用需要根據扮演者的可變性即個性化過程和影響到操作的情境變化來處理場景的動態性。個性化是指汽車的不同商標和模型需要以個性化的方式進行相似化處理。而且針對新的汽車模型(R),它有自身特定的需求(goal)和規程或程序(process),必須能夠很容易地整合到應用中去。類似的,應用需要靈活處理如船和卡車等外部參與者規程的改變。最后,應用需要反映國際規則和法律的改變(Role’s constraints),要考慮情境的動態性(dynamic context)。
2.1應用模型
對基于碎片動態適應情境感知系統(CLS)提出一個建模框架。框架建模包括一個實體集,每個實體用自己的業務流程(business process)來規格自身的行為。這種業務過程與傳統的靜態描述規約不一樣,其定義的是動態業務過程,是能夠根據系統提供的特征在運行時進行實時精化的。然后這些實體動態地加入到系統中去,并通過過程碎片發布這些實體的功能,這些實體的過程碎片能夠被其他實體進行交互使用并能夠被發現,使用發現的這些過程碎片進行動態的精化。如:在CLS中,不論船什么時候到達港口,它都能夠得到由登陸管理者和關口提供的過程碎片。這些過程碎片是對特有海港的規程和法則進行建模,都能夠被船只在進行登陸時執行的。由不同關口提供的不同碎片可以被某個特定的船只使用。類似的船只會發布它為卸貨面實現的碎片。這個框架另外一個特征是將在設計階段分析所有可能的異常情境,通過運行階段進行異常行為處理和替代的可能性,然后在業務過程中植入一些相關的發現活動。這種方法極大簡化了應用動態環境中的業務過程,因此,設計者沒必要考慮和規約針對特有情形而作的所有可能替代。
前述這種框架的動態特征依賴于情境模型,這個情境模型描述系統的操作環境。這個情境是通過情境屬性來定義的,每個屬性都描述一個系統的特定方面(如:汽車當前的位置,存儲區域的位置等)。情境屬性可能會隨著一個領域正常行為(如汽車的當前位置是在存儲區域A)相關的碎片活動執行效果或異常改變(汽車的受損環境或存儲區域不可用等)的結果而演化。情境配置是特定時間的一個情境快照,是捕獲所有情境屬性的當前狀態。例如:汽車位置圖(CarLocation)捕獲的是汽車怎樣隨著時間進行位置的改變。最初狀態為汽車登船,則此階段汽車的流程活動狀態是從貨物卸載到貨物拆封,然后將貨物移動到倉庫。在處理位置時對汽車進行裝飾。類似的,汽車狀態圖(CarStatus)表示了汽車的操作狀態,如由一個異常事件損壞導致汽車狀態由ok到nok。
業務過程和碎片是通過APF(Adaptable Pervasive Flows)來建模的,一種傳統工作流語言的擴展,以適應普適動態的業務流程執行環境。APF除了經典的工作流語言具有結構處,還通過帶有標注前件和效果活動增加了關聯系統情境過程執行的可能性。前件對特有的情境配置的執行活動進行約束,在該框架中,對支持適應的和預期行為的非正常行為進行捕獲。效果是對系統情境的執行活動的預期影響進行建模,應用于碎片或過程執行序列的自動推理。
最后,為了使建模具有動態過程,擴充APF結構使得其能夠對過程碎片的個性化和適應性進行建模。特別的,介紹通過碎片對抽象活動進行規格的可能性,抽象活動是根據在設計階段要達到的目標定義的,表示為要達到的情境配置,能夠在運行的執行過程中進行精化,這里要考慮有效的碎片集、當前情境配置和達到的目標。
2.2適應機制
為達到情境感知的普適系統的動態性需提出不同的適應機制,該框架能夠處理兩種不同的適應需求:在一個過程實例中對抽象活動的精化需求和活動的情境前件違背的情形下執行;第二種適應的目標是通過將系統恢復到能夠重新執行的過程的狀態中去解決違背性。
(1)精化機制:當抽象活動在過程實例中需要精化時觸發。該機制的目的是自動組合有用的流程碎片,這些流程碎片需考慮到跟抽象活動相關的目標和當前情境配置。精化結果是一個組合由系統中其他實體提供的碎片的可執行過程,如果這個可執行過程執行的話,則會滿足抽象活動的目標。運行時進行精化的優勢有兩點:有效的碎片并不總是在設計時所熟知(如:卡車到提交區域可能提供自己的卸載碎片);組合對當前的執行情境有強依賴性(如:存儲區域可能滿,從而當前碎片不可用)。
考慮到圖1中A1主要的汽車過程的存儲抽象活動。活動的執行是自動精化并組合了由不同實體提供的5個有效的碎片(如:存儲管理者—注冊、存儲指定,存儲區域A—存儲到A,存儲區域A—存儲到B,存儲區域A—存儲到C)。這種精化注入到汽車過程實例中去并能繼續執行并達到目標。在組合的碎片中也可能包括需進一步精化的過程執行。這種持續精化的結果構成了多層執行模型(如圖1),最頂層是最初的過程實體和逐步精化相關的中間層。
(2)本地適應機制:是指具有對一個特定活動中產生的一個錯誤流程進行重新配置并啟動的解決方案。因此,需生成一個組合碎片然后執行將系統帶入到滿足活動前件的情境配置。
舉例:在圖1中1B的A1中,汽車過程準備執行注冊碎片中的Registration Reply活動,因汽車受到損壞,使得這個活動的前件P1無效。在這個實例中的本地適應是需要對汽車進行修復(如:屬性CarStatus=ok必須保持)。這個目標通過兩個碎片達到:允許將汽車移動到處理的地點(MoveToTreatment)并做修復(repairment)。在執行這個本地適應過程后,汽車過程實例又重新回到初過程執行狀態。
(3)補償機制:這個機制用于動態計算特定活動的補償過程。這個補償過程是由當前情境和滿足補償目標執行選擇的過程碎片組合。
2.3適應策略
適應策略是為了實現有效組合適應機制而設計的。它能夠處理那種不能單獨由適應機制解決的復雜適應性問題。如一個活動前件的違背不能由本地適應能力機制來解決,另一個例子是由無效的碎片組合滿足特有情境目標引起的失敗抽象活動精化問題。
框架提供適應機制的不同組合方式:一次對齊適應機制是為一個單一的適應問題進行不同適應機制的組合,即發現一個解決方案就執行;另一個是增量適應機制,是指可能性策略中的每一個適應機制被呼叫并且應用下一個適應機制之前適應進程也被執行。這種適應機制交錯過程的執行使得可以為特定執行情境進行調整,其主要缺點是不能提前知道策略是否被完全執行。
重精化策略:是指重復抽象活動的精化流程的過程。目的是補償標記為補償目標的所有精化活動,然后計算滿足抽象活動目標的新精化過程,同時考慮新的情境配置。
后退適應機制策略:將過程實例帶回到過程先前執行的活動,給定新的情境配置,能夠允許不同的執行決定。這種策略需要對所有需回滾活動進行補償,并將系統帶回到滿足前件活動執行的情境配置。
3.1相關定義
(1)情境屬性:每個情境屬性都建模成一個情境屬性圖,這是一個捕獲所有屬性值和值改變的狀態轉移系統。每個轉移都標記相關的情境事件。
定義1:情境屬性圖是一個四元組c=〈L,L0,E,T〉,這里:
L是情境狀態集且L0?L為初始狀態;
E=Eunc∪Ecnt是情境事件集,Eunc是不可控事件集,Ecnt是可控事件集,因此Eunc∩Ecnt=φ;
T?L×E×L是轉移函數。
標記L(c)、E(c)等作為情境屬性圖C的相關元素。所有情境通常相當復雜并且需要一個情境屬性圖C的集合規約。在這種情形下,一個情境狀態是它的屬性圖的狀態集合,形式上定義情境配置空間為L=Πc∈CL(c),同時也定義:Ecnt=∪c∈CEcnt(c)。
(2)過程碎片:用狀態遷移系統對過程碎片進行建模,每個遷移都有一個相關特殊的碎片活動。區分4種活動:過程間通信的輸入和輸出活動;對過程內部規格建模的具體活動;與過程的抽象活動相關的抽象活動。如前文所述,活動標注了前件、效果和補償,而抽象活動標注目標。在定義過程碎片中,通過標簽函數獲得。
定義2:過程碎片是定義在情境屬性圖C上的一個元組p=〈S,S0,A,T,Ann〉,這里:
S是一個狀態集且S0?S是初始狀態集合;
A=Ain∪Aout∪Acon∪Aabs是一個活動集,這里的Ain是輸入活動集,Aout是輸出活動集,Acon是具體活動集,Aabs是抽象活動集;
T?S×A×S是轉移函數;

(3)過程和系統執行:接下來定義的是捕獲給定過程的執行的當前狀態。如圖1所示,過程是一個層次結構,它是通過由抽象活動精化為碎片得到的。過程配置定義一系列的三元組,第一個三元組描述當前執行的碎片,當前活動及執行當前活動的過去活動的歷史,其他三元組先前執行活動的歷史,都伴隨著當前執行下的抽象活動和過往歷史。活動歷史記錄對于后退適應的執行是必須的,決定哪個補償需要執行。
定義3:過程配置是一個非空的三元組序列:
Ep=(p1,a1,h1),(p2,a2,h2)…(pn,an,hn)
這里pi是過程碎片,ai∈A(pi)是與過程碎片相關的活動,且ai∈Aabs(pi)對i≥2(如任何被精化的活動都是抽象的),hi∈A(pi)*是過程碎片執行過的活動序列。整個系統的配置主要是通過情境屬性的當前配置、系統中過程的配置及有效的碎片集定義的。具體定義如下:
定義4:系統配置是指給定一個情境屬性圖的集合C,定義C上的系統配置為一個元組S=〈I,ε,F〉,這里:
I∈L(c1)×…×L(cn),ci∈C,是情境屬性圖的當前配置;
ε∈Ep1×…×Epn是運行過程的當前配置;
F是有效碎片集。
然后用I(S)、ε(S)標記系統配置S中的相關元素。受篇幅所限,這里沒有給出系統配置演化的形式化定義。
3.2適應
(1)總適應問題:用于對不同適應機制進行形式化,包含系統配置和適應目標的完整信息。
定義5:適應問題是一個元組ξ=〈S,G〉,S是當前系統配置,G是C上的適應目標。
對于目標,使用EAGLE定義自動規劃范圍內的復雜目標,解決總適應問題實際上是獲取有效碎片的過程Madapt,在沒有異常事件的情形下,確保情境配置的結果滿足目標G。
(2)從適應策略到適應問題:將使用于系統配置中過程實例EP的適應策略和機制轉化成總的適應問題,如何將獲取的進程Madapt從一個適應系統配置S應用研究于新的配置S′。

本地適應:這種自適應機制能夠應用于解決當Pre(a1)有效時a1不能執行的情形。這意味著為問題ξ生成一個自適應解決方案,這里G(ξ)=Pre(a1).S,是從S中通過不斷更新Ep得到的,Ep=(p1‘,a0,h1), (p2,a2,h2)…(pn,an,hn),p1通過前面a1活動的自適應機制獲得。
本文提出一種基于情景感知的流程碎片自適應方法構架,可以將此框架應用于實際的業務流程管理。存在的挑戰是學習從過去的適應機制找到最優的策略,以解決具體的自適應問題,并使用這種分析結果,提高業務流程管理策略。同時也需進一步研究用規劃最優適應活動提升復雜標準的可能性,即不僅考慮時間成本,還要考慮副作用極小、最小的執行成本等。
[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] 韓偉倫,張紅延.業務流程建模標注可配置建模技術[J].計算機集成制造系統,2013,19(8): 1928-1934.
[6] 洪余柯,趙祎,姚青.基于活動依賴實現業務流程可變性的BPMS模型[J].計算機應用研究,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] 劉紅,劉祥偉,王麗麗.基于配置變遷的業務流程模型優化分析方法[J].計算機科學,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] 杜磊,闞媛,李華,等. 應急預案流程的Petri網建模方法研究[J]. 微型機與應用,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
黃貽望,徐松金.一種情境感知的業務流程動態自適應方法[J].微型機與應用,2017,36(19):23-26.
國家自然科學基金(61562073);貴州省科學技術廳聯合基金項目(黔科合平臺人才[2016]5611,黔科合LH字[2015]7248號);貴州省教育廳項目(黔教合人才團隊字[2015]67號,黔教合KY字[2016]051號);銅仁學院博士啟動基金(trxyDH1602)
2017-04-12)
黃貽望(1978-),男,博士后,副教授, CCF會員,主要研究方向:服務計算、業務流程管理、形式化方法等。徐松金(1970-),男,副教授,主要研究方向:數學建模、優化算法。