APP下载

基于服从性的协作流程变化域传播分析

2023-08-10王倩倩方贤文

计算机应用与软件 2023年7期
关键词:合作伙伴网关分支

王倩倩 方贤文

1(安徽科技学院信息与网络工程学院 安徽 蚌埠 233030)2(安徽理工大学数学与大数据学院 安徽 淮南 232001)

0 引 言

在大多数应用领域中,流程变化被认为是至关重要的[1]。有多种原因可以引起业务流程的变化,例如新法规的实施、新市场需求的出现等。变化不仅涉及流程的结构,还涉及相应的规则(例如,服从性、隐私或安全规则)。文献[2]中指出在多个流程合作伙伴共同协作的流程协作中,处理变化可能更加复杂,一个流程上的变化可能会对其他流程合作伙伴产生影响。例如,卖家可能希望在买家收货后向卖家发送一份关于客户满意度的问卷,这可以通过在卖家的私有流程中插入相应的活动来实现。如,某宝网上卖家希望得到客户满意度的协作流程中,卖家通过分别在私有流程和公共流程中插入相应的活动“开发问卷”和“发送问卷”,向买家发送相应的变化请求,从而影响买家能够接收相应的消息并对其反馈。在这种情况下,初始变化导致了多个合作伙伴的传递效应。Weidlich[3]使用行为轮廓来识别流程中变化的区域,并将变化传播到不同抽象级别的其他流程中。由于流程模型结构中的任何变化都会影响节点之间的关系(即行为轮廓),因此可以识别变化的区域,这种方法不考虑数据属性。文献[4]中,先给定流程模型的变化,通过使用行为轮廓中的行为关系,以确定另一个模型中的变化区域。此方法可以应对与层次结构不相关的模型对的变化,并显示行为不一致性,缺点是通过错误地识别对应关系,可能增加不一致程度。文献[5]提出了一种通过更新相应的流程视图来改变大型流程模型的方法,同时保证了所有其他流程视图在流程模型上的更新和一致性。可以将相应的变化操作应用于流程视图,并将相应的变化正确地传播到基础流程模型。此外,与此流程模型相关的所有其他视图也将被迁移到流程模型的新版本。文献[6]提出了一种通用的方法来传播协作过程维护场景中的变化,以保持调用一致性。在这样的场景中,不同的业务合作伙伴拥有自己的私有流程,从该流程可以为其他参与者提供公共视图。文献[7]提出了一种基于并发事务逻辑(CTR)的服从性验证方法,该方法通过将流程图转换为CTR公式来根据CTR中指定的约束验证流程模型,并允许应用推理技术来识别语义冲突。文献[8]使用FCL来指定契约,从业务契约的角度来处理服从性验证。通过将流程模型转换为类似于契约符号的形式来验证BPMN流程与给定契约的服从性。文献[9]提供了算法来自动检查交互模型的不同类型的服从性,即交互模型不与全局服从性规则冲突的能力。它可自动检查分布式协作工作流的公共元素是否确保全局服从性规则,并开发了一个概念验证原型来支持分布式和协作工作流的兼容性和服从性检查。与组织内流程的业务流程管理研究相比,在许多流程模型存储库作为模拟和工作评估的支持而存在的情况下,在组织间流程的上下文中缺乏此类存储库已成为一种不便。文献[10]使用LTL为流程模型开发了一个服从性检查框架,但是他们的方法只能在流程模型级别处理服从性。文献[11]提出了一种检测变化对协作流程服从性影响的方法,并在协作流程设置中提高了服从性检查的效率,但是没有考虑相关合作伙伴的隐私问题。

基于以上背景,许多研究都集中在协作业务流程的变化域传播分析,但很少考虑不同级别服从性变化在协作流程中如何进行传播的,具有一定的局限性。因此在文献[12]基础上,本文提出了基于服从性的协作流程变化域传播分析方法。首先根据随机编排模型算法生成编排模型,并推导出公共模型和私有模型,得到一个协作模型,然后基于服从性变化传播算法,分析不同级别的服从性发生变化是如何在协作模型中传播的,最后通过模型之间的映射关系发现相关流程的变化域。

1 基本概念

定义1[9](协作流程) 在协作流程中,P为所涉及合作伙伴的集合,并且p∈P是任意的合作伙伴,则:

1)T是所有任务(即活动)的集合,Tp⊆T是由p执行的任务集。Tp被划分为公共任务的集合Vp和私有任务的集合Sp,即Tp=Vp∪Sp。

2)M对应于所有交互的集合,Mp⊆M对应于涉及p的所有交互的集合,即发送或接收的消息。对于特定的交互I(m,s,r),消息m从s∈P发送到r∈P。SEND(I(m,s,r))、REC(I(m,s,r))表示I(m,s,r)的发送、接收任务。

3)Πp是p的私有流程模型。它包括Tp的任务和Mp的相互作用。Π对应于所有私有流程模型的集合。

4)γp是p的公共流程模型。它包括Vp的公共任务和Mp的交互。Γ对应于所有公共流程模型的集合。

5)lp是交互模型中p的局部视图,它发送和接收Mp的元素。L是所有局部视图的集合。

6)H是由M的相互作用组成的全局交互模型,即编排模型。

7) M:=Π∪Γ∪L∪{H}是所有模型的集合。

定义2(映射函数) 在协作流程中,P为所涉及合作伙伴的集合,并且p∈P是任意的合作伙伴,有:

1)ψ={ψp:γp↔Πp}p∈P是私有和公共模型之间节点的映射函数。

2)φ:γ↔γ′是不同公共模型之间节点的映射函数。

3)φ:γ↔H是编排模型与公共模型之间节点的映射函数。

定义3[9](迹) 设n∈M是一个模型,Κ⊆M是模型的子集,t∈T∪M是任务或交互,E⊆T∪M,ξ⊆((T×P)∪M)*是由任务和消息组成的迹。然后:

1)t∈+n表示t用于n。此外,n∈:={t∈T∪M|t∈+n}表示n使用的任务和交互集合。

2)ξ(n)∈((T×P)∪M)*是n上可产生的迹集。每个迹条目包含交换的消息或特定合作伙伴执行的任务。

4) [ξ]E∈((T×P)∪M)*对应于通过任意添加E的元素(即任务和消息)来得到的一组迹。

5) ϑ:=ξ*({H}∪Π)描述协作模型产生的迹集。ϑ的近似有:

通常,业务流程服从性意味着协作流程不会违反服从性规则。对于协作流程模型,需要区分三个不同级别的服从性:局部服从性、断言服从性和全局服从性。首先,局部服从性意味着合作伙伴的私有流程不违反其任何局部服从性规则。其次,断言的服从性意味着特定的合作伙伴向其他合作伙伴保证其私有流程服从特定的服从性规则集,即其断言集。因此,每个断言对应于与此特定合作伙伴的私有流程模型相关的局部服从性规则。最后,全局服从性意味着公共流程模型不违反任何全局服从性规则。

定义5[9](服从性和可兼容性) 设H为合作伙伴集P的编排模型,Γ是P的公共流程模型的集合。p∈P为合作伙伴,Πp∈Π为其私有过程模型,γp∈Γ为其公共过程模型。lr∈LCRp为p的局部服从规则,gr∈GCRp为全局服从规则,A为所有断言的集合。则:

1)Πp|=lr:⟺∀τ∈ξ(Πp):τ|=β(lr),表示私有流程Πp服从局部服从规则lr。

2)H|=GCR:⟺∃τ∈ζG:τ|=∧gr∈GCRβ(gr),表示编排模型H服从全局服从性规则GCR。

3)H‖-GCR:⟺∀I(m,s,r)∈+H:∃τ∈ζG:τ|=β(gr)和I(m,s,r)出现在τ中,表示编排模型H全面兼容全局服从性规则GCR。

定义6[13](域) 给定一个过渡流程PM′=(A′,G′,N′,F′,s′,e′,t′),一个流程PM=(A,G,N,F,s,e,t),若PM′中有域R(a),则两者之间有映射h:PM′→PM且a∈A,都有R(a)={a′∈A′|h(a′)=a}。

定义7[14](配置活动类型)

1) allow:允许活动是可见并且可执行的活动。

2) hide:隐藏活动是可以被跳过而直接执行下一个活动的活动,即该活动不可见。

3) block:阻塞活动是活动分支被禁止选择的活动,也就是删除该活动的分支。

其中配置参数allow作为默认参数,适用于所有活动集。

2 基于服从性的协作流程变化域传播流程

协作流程中的流程模型(例如公共或私有模型)和所涉及的服从性规则(例如全局或局部规则)是紧密相关的。更改流程模型不仅会影响其他合作伙伴的流程模型,还可能导致违反各自的服从性规则。同样,服从性规则的更改(例如,法律)也会对合作伙伴流程产生影响,从而导致其他合作伙伴的更改或者与其他合作伙伴的服从规则产生冲突。因此,本文针对基于服从性的协作流程变化域传播问题,主要从以下步骤进行处理:1) 生成编排模型;2) 计算公共/私有模型;3) 判断变化对流程是否有影响;4) 判断变化是否影响全局服从性;5) 计算直接或间接变化域;6) 确定目标变化域。图1为协作流程变化传播流程。

图1 协作流程变化传播流程

2.1 随机编排模型的生成

本节从参数约束的角度来分析随机编排模型的生成,并指定以下输入参数来影响编排模型的随机生成:1) 交互数量:决定消息交换的数量;2) 最大分支:为每个网关创建的最大可能路径数。由于对交互数量的限制,交互不一定总是被选择为下一个节点类型。同样,并不是每个打开的分支都可以被随机选择以将下一个节点放入模型中,因为这可能会违反模型的正确性或超过定义的交互次数。因此,本文提出了随机编排模型生成算法,该算法受到参数的约束,并且可以随机选择要放入模型中的下一个节点的节点类型和相应位置,而不会导致错误的模型。

任何流程模型都可以由图2中所示的一组基本结构表示,包括顺序、选择和并行。若为模型中的网关分支创建拆分,每个拆分可以包含多个分支,这些分支表示由并行或排他网关创建的不同路径。同样,每个分支都有相应的节点,在编排模型中,节点仅限于交互和网关。而路径跟拆分受其相应分支网关节点的合并节点的限制,即若前有并行(排他)网关,后则有并行(排他)网关与之相对应(图2(b)和图2(c))。此外,每个分支都有一个状态,指示分支是open、split还是close。

(a) 顺序 (b) 并行 (c) 排他图2 流程模型的基本结构

定义8(分支的状态)

1) open:分支尚未被其相应拆分节点的合并节点包围,并且可以通过在其路径上放置更多节点来进一步发展。

2) split:如果分支包含另一个拆分,所有拆分分支都尚未关闭且分支不能进一步发展,则该分支处于拆分状态。

3) close:分支已完成,无法进一步发展。

例如图3中分支1的状态为open,图4中分支2的状态为split,图5中所有分支的状态为close。

图3 分支的状态open

图4 分支的状态split

定义9[15]设x是打开和不可关闭的分支数,剩余交互是尚未放入模型的所有交互,剩余XOR网关和剩余AND网关是尚未放入模型的网关数量。然后:

保留交互分支=x

保留交互AND网关=剩余AND网关+1

保留交互AND网关=如果剩余AND网关>0则为0,否则为1

保留交互网关=保留交互AND网关+保留交互XOR网关

所有的保留交互=保留交互分支+保留交互网关

自由交互=剩余交互-所有的保留交互

根据定义9中指定变量的值,可以随机选择要放入模型中的下一个节点的节点类型和相应位置,而不会导致错误的模型。下面给出了随机编排模型生成的算法。

算法1随机编排模型的生成

1 begin:

2 for(i=remainingInteractionsNodes; i>0; i--)

3 {

4 nextNodeType=getRandomNodeType();

5 selectedBranch=getRandomBranch();

6 if selectedBranch=getRandomBranch()

7 {

8 close branch by random;

9 if closed

10 { continue;}

11 else

12 nextNode=instantiate node of nextNodeType;

13 if nextNodeType is Gateway

14 {

15 branchCount=getRandomBranchCount();

16 split=instantiate new split;

17 for(j=0; j<=banchCount; j++)

18 {

19 branch=instantiate new branch;

20 split.branches.append()=branch;

21 }

22 }

23 selectedBranch.nodes=selectedBranch.nodes∪ nextNode;

24 }

25 }

26 close still open splits;

27 add end event to root branch;

28 enrich interactions with reasonable sender and receiver sequence;

29 end

2.2 寻找基于服从性变化的协作流程的变化域

在算法1的基础上,遵循自顶向下的方法,派生和定义每个合作伙伴的公共模型。因此,编排模型的每个交互(编排任务)在相应的公共流程模型中转换为发送和接收任务。然后,通过使用抽象的私有任务丰富公共模型,每个私有模型都是从相应的公共模型派生而来的。最后,通过互连所有公共模型来构建协作模型。

在本节中,首先使用图6、图7和图8来分析不同级别服从性变化如何在协作模型中进行变化传播的,图中两个节点之间的虚线链接表示可能的传播。在变化传播的过程中,可能导致某些模型发生变化,产生一定的变化域。因此本节提出了寻找基于局部(全局)服从性变化的协作流程的变化域。

图6 LCR变化的影响

图7 断言变化的影响

图8 GCR变化的影响

图6描述的是局部服从性变化的影响。如果合作伙伴p的局部服从性发生变化,则需要检查p的私有模型是否符合变化后的规则。如果不符合,则需要确定变化位置来更改私有模型。如果私有模型的变化不是局部的,那么变化就需要进行传播。在这个过程,变化传播分为两类:直接变化传播和间接变化传播。对于间接变化传播可以利用中间方的信息交换来进行变化传播。这样模型产生的变化域可能是直接造成的,也可能是间接造成的。如图9所示,私有模型p变化导致相应公共模型p1产生的变化域为直接的,而与p的公共模型相关的其他公共模型p3产生的变化域是间接的,是通过中间方p1间接传递的。

图9 间接影响

图7中描述的是断言变化的影响。如果断言变化,则检查断言中涉及的私有和公共模型的可兼容性。当不兼容时,则需要更改模型,那么就需要使用与前一步相同的确定变化域过程。算法2给出了寻找基于局部服从性变化的协作流程的变化域。

算法2寻找基于局部服从性变化的协作流程的变化域

输入:变化的lr、gr,协作流程。

输出:变化域。

步骤1在协作流程中,如果Πp|≠changedlr,则根据changedlr找到Πp变化区域CR1;如果Πp|=changedlr,则无影响返回Πp。

步骤2∀x∈CR1,在γp中的映射节点为ψ(x),所有的映射节点构成γp的变化域CR2。

步骤3如果γp|≠gr,则返回步骤1,重新寻找Πp变化域;如果γp|=gr,∀ψ(x)∈CR2,对于与γp相关的公共模型γp′,其映射节点为φ(ψ(x)),同样可得到γp′的变化域CR3。

步骤4∀φ(ψ(x))∈CR3,在Πp′的映射节点为ψ(φ(ψ(x))),则Πp′的变化域为CR4。

步骤5如果Πp′|≠changedlr,返回步骤4重新计算CR4;如果Πp′|=changedlr,则Πp′的变化域为CR4。

步骤6输出变化域CR1、CR2、CR3、CR4。

图8中描述的是GCR变化。如果全局服从性规则发生变化,那么将检查编排模型以及相关公共模型的兼容性。当不兼容时,就要确定编排模型的变化导致公共模型产生的变化域。对于涉及到更改的公共模型,确定公共模型的变化导致相应私有模型产生的变化域。如果需要对私有模型进行更改,则检查断言和相应的LCR是否存在可能的违反。算法3给出了寻找基于全局服从性的协作流程的变化域。

算法3寻找基于全局服从性变化的协作流程的变化域

输入:变化的gr、lr,协作流程。

输出:变化域。

步骤1在协作流程中,如果H|=changedgr,返回H;如果H|≠changedgr,则根据changedgr找到H变化区域R1。

步骤2∀y∈R1,存在q∈P,在γq中的映射节点为φ(y),所有的映射节点构成γq的变化域R2。

步骤3对于与q相关的合作伙伴q′,∀φ(y)∈R2,根据映射关系得到γq′的映射节点φ(φ(y)),同样得到γq′的变化区域R3。

步骤4∀φ(φ(x))∈R3,在Πq′的映射节点为ψ(φ(φ(x))),则Πp′的变化域为R4。

步骤5如果Πq′|≠lr,返回步骤4重新计算R4;如果Πp′|=lr,则的变化域为R4。

步骤6输出变化域R1、R2、R3、R4。

3 实例分析

本节通过网上购物场景来说明变化传播问题。根据算法1得到了网上购物场景的编排模型(图10)、协作模型(图11)、公共模型(图12),以及私有模型(图13)。其中,活动字母对应名称如表1所示。该场景描述了3个合作伙伴的协作,即买家、卖家、快递公司。买家将订单消息发送给卖家,卖家收到消息后对买家进行身份验证,身份验证完成后,买家下单,并通过快递公司进行发货。如果买家接收货物后不满意,则向卖家发送退货通知,卖家向快递公司发送退货通知,否则向卖家和快递公司发送确认收货。

表1 活动字母表

图10 编排模型

图11 协作模型

图12 公共模型

图13 私有模型

网上购物场景符合以下5条服从规则(CR),这些规则和标准反映了需要遵守的法规和标准:

C1:购买货物要付款。

C2:快递运输期间要保证地址的正确性。

C3:取消订单一定要在发货前。

C4:一定要对货物进行质量检查。

C5:收到货物通知,则需要去拿货。

为了保护商业隐私,合作伙伴只会分享其流程的公共视图(参见图12);例如,卖家隐藏库存检查以及准备货物(参见图13)。为了验证服从性 C1-C5,合作伙伴对其私有流程的隐藏行为提供以下断言规则(AR):

A1:如果买家没有在线支付,则必须进行到付。

A2:货物运输期间不能直接修改地址和电话号码。

A3:卖家接收订单后一定要检查库存,如果货物库存不足,则需要补充货物,然后才能发货。如果无法补充货物,则取消订单。

A4:如果卖家没有对货物进行质量检查,快递公司要确保货物的质量。

A5:快递公司在运输期间保证货物无破损。

当服从规则发生变化时,由算法2和算法3可知,相关流程可能作出相应的变化,才能满足服从规则。例如,A2,为了满足买家需求,现在更改服从规则,使货物运输期间可以修改地址和电话号码。如果买家在运输期间要更改送货地址,这样快递公司就需要作出相应的更改。由算法2可知,可以在模型中找到相应的变化域如图14-图16所示。文献[16]中详细介绍了不同变化模式下变化传播的过程。与文献[16]相比,算法2和算法3从服从性的角度来分析变化传播过程,并根据映射函数确定相关流程的变化域。

图14 买家公共流程变化域

图15 快递公司公共流程变化域

图16 快递公司私有流程变化域

4 结 语

本文基于服从性的基础知识对协作流程模型的变化域进行了分析,从而有利于发现相关流程的变化区域。本文首先在参数约束条件下提出编排模型生成算法,然后分析了不同级别服从性变化在协作流程中是如何传播的,最后通过模型之间的映射关系发现相关流程的变化域。在未来的工作中,将要对本文的算法做出新的改进,找到更精确的变化域。

猜你喜欢

合作伙伴网关分支
分不开的合作伙伴
聚焦IBIS全球合作伙伴——Carstar及Mitchell公司
美印合作伙伴
巧分支与枝
一类拟齐次多项式中心的极限环分支
CHIP全球合作伙伴
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计