Page 180 - 《软件学报》2020年第10期
P. 180
3156 Journal of Software 软件学报 Vol.31, No.10, October 2020
定义 15(协调映射). 给定部分正确协同业务过程 CBP=BP 1 ||BP 2 ||…||BP n ,BP=(S,s 0 ,F,A,Δ)为 CBP 中的一个
业务过程,A c 为 CBP 中的协调活动集,最小化后生成中间业务过程为 BP m =(S m ,s m0 ,F m ,A m ,Δ m ),则根据 BP 和 A c 对
BP m 进行协调映射后得到修正业务过程为 BP r =(S r ,s r0 ,F,A r ,Δ r ),其中,
(1) S r =S m ∪{s c |∀(r,a,s)∈Δ m ∧a∉A∧a∈A c }∪{s c1 ,s c2 |∀(r,a,s)∈Δ m ∧a∈A∧a∈A c };
(2) s r0 =s m0 ;
(3) F r =F m ;
(4) A r ={a|∀(r,a,s)∈cc.Δ m ∧a∈A∧a∉A c }∪{SYNC_1_a,SYNC_2_a|∀(r,a,s)∈Δ m ∧a∈A∧a∈A c }∪
{SYNC_1_a,SYNC_2_a|∀(r,a,s)∈Δ m ∧a∉A∧a∈A c };
(5) Δ r ={(r,SYNC_1_a,s c ),(s c ,SYNC_2_a,s)|∀(r,a,s)∈Δ m ∧a∉A∧a∈A c }∪
{(r,SYNC_1_a,s c1 ),(s c1 ,a,s c2 ),(s c2 ,SYNC_2_a,s)|∀(r,a,s)∈Δ m ∧a∈A∧a∈A c }∪
{(r,a,s)|∀(r,a,s)∈cc.Δ m ∧a∈A∧a∉A c }.
定义 15 中,对于 BP m 中的一个活动 a:(1) 若 a 不属于 BP 但需协调,则引入协调因子 SYNC_1_a、SYNC_2_a
及协调状态 s c ,用于将 BP m 中的格局迁移关系(r,a,s)设置为(r,SYNC_1_a,s c )和(s c ,SYNC_2_a,s),表示在状态 r 通
过协调因子 SYNC_1_a 对活动 a 开始进行协调,并通过协调因子 SYNC_2_a 对活动 a 结束协调;(2) 若 a 属于
BP 且需协调,则引入协调因子 SYNC_1_a、SYNC_2_a 及协调状态 s c1 和 s c2 ,用于将格局迁移关系(r,b,s)设置为
3 个状态迁移关系(r,SYNC_1_a,s c1 )、(s c1 ,a,s c2 )和(s c2 ,SYNC_2_a,s),表示在 a 执行前需进行协调,通过 SYNC_1_a
来实现,执行完成后进行结束协调,通过 SYNC_2_a 来实现;(3) 若 a 属于 BP 且无需协调,则格局迁移关系(r,b,s)保
持不变.
本质上,修正业务过程是一个迁移系统.特别地,给定一个业务过程 BP,其修正业务过程 BP′受 BP 行为(即迁
移序列)和协调因子的影响.根据我们的实验可以发现(见第 5.2 节),BP′结构通常较 BP 更复杂.同时,本文中 BP′
采用 LTS 进行描述,LTS 描述模型较其他图形化方式(如 BPMN、BPEL 和 Petri 网)描述的模型复杂、难懂.这就
限制了本文方法在实际中被用户接受的程度.事实上,研究者已经提出了一些方法 [21] 用于将以 LTS 描述模型转
换为 Petri 网描述模型,且能够保持转换前后行为一致(如保持强互模拟等).因此,针对修正业务过程对于用户较
难理解这个问题,可以考虑利用工具 Petrify(https://www.merriam-webster.com/dictionary/petrify)将其转换为 Petri
网来增强其实用性.有关 Petrify 介绍及使用可以参见文献[21],限于篇幅,这里不再阐述.
通过将修正业务过程集利用并发操作符加以组合,得到如下定义的修正协同业务过程.
定义 16(修正协同业务过程). 给定部分正确协同业务过程 CBP=BP 1 ||BP 2 ||…||BP n ,BP r1 ,…,BP rn 分别为业务
过程 BP 1 ,…,BP n 对应的修正业务过程,则修正协同业务过程为 CBP r =BP r1 ||BP r2 ||…||BP rn .
在忽视协调因子的情况下,修正协同业务过程中只含有修正前的协同业务过程中的所有完整轨迹,可见定
理 3.
定理 3. 给定部分正确协同业务过程 CBP=BP 1 ||BP 2 ||…||BP n ,CBP r =BP r1 ||BP r2 ||…||BP rn 为 CBP 的修正协同
业务过程,则如下结论成立.
(1) 对于 CBP 中任意完整的简单路径 r,CBP r 中存在一条完整的简单路径 r′,满足 trace(r)=trace(r′)↑A cf ;
(2) 对于 CBP r 中任意完整的简单路径 r,CBP 中存在一条完整的简单路径 r′,满足 trace(r′)=trace(r)↑A cf ;
其中,A cf 为 CBP 中所有协调因子集合;trace(r)↑A cf 表示将 r 的任务执行序列中的协调因子移除后形成的新
任务执行序列.
1 a
a
证明:1) 设 c 为根据算法 2 生成 CBP 的核,r=c 0 ⎯⎯→ c 1 …c m−1 ⎯⎯→ c m 为 c 中任意一条完整的简单路径.
m
i a
由定义 14 可知,对于 r 中任意迁移 c i−1 ⎯⎯→ c i (1≤i≤m),每个业务过程 BP n (1≤i≤n)对应隐藏核中存在如下迁
移,记为 C1:
c ⎧ ⎯⎯→ ⎪ τ , c a ∉ A ∪ A
c i− 1 ⎯⎯→ i a c = i ⎨ i− 1 i i c .
c ⎪ ⎩ i− 1 ⎯⎯→ i a i , c a ∈ i A ∪ A c
由文献[20]中提出的最小化方法可知,所有的τ-格局迁移关系(即由τ引起的格局迁移关系)均被移除,且满