Page 179 - 《软件学报》2020年第10期
P. 179

莫启  等:协同业务过程的建模及正确性修正                                                            3155


         η.反复执行循环结构替换操作,最终得到替换后的 r′ c 必定为简单路径,推出 r′ c ∈R c .由算法 2 可知,由 R c 构建后的
         c 中必定存在格局迁移关系集合{(c i ,a i+1 ,c i+1 ),…,(c j−1 ,a j ,c i )}⊆Δ,由此可生成任意重复次数(设为 p,p≥0)的循环片
         段,即η p .由定义 9 可知,轨迹 r c 的长度有穷,可推出 r′ c 中的循环片段η的重复次数是确定整数(设为 q),即η q .由于
         q≤p,可推出η q 可由 c 中格局迁移关系{(c i ,a i+1 ,c i+1 ),…,(c j−1 ,a j ,c i )}⊆Δ生成.同时,对于 r′ c 中任意非循环结构片段,
                 g a
                                                                                g a
         即 c g−1 ⎯⎯→ c g (1≤g≤n),不存在 c u ,c v (1≤u,v≤n∧u<g−1∧v>g),使得 c u =c v ,r′ c 中存在 c g−1 ⎯⎯→ c g ,由算法 2 可知,
                                                                                   g a
                                                                g a
         (c g−1 ,a g ,c g )∈Δ.因此,从左至右扫描 r c ,对于非循环结构路径片段 c g−1 ⎯⎯→ c g ,r′ c 中存在 c g−1 ⎯⎯→ c g ,则可推出其
                                                                           j a
                                                                i a +
                                                                                             i a +
         可由 c 中(c g−1 ,a g ,c g )∈Δ生成,而对于多次重复的循环结构η k (η=c i ⎯⎯⎯→ c i+1 … ⎯⎯→ S i ),r′ c 中存在 c i ⎯⎯⎯→
                                                                                              1
                                                                 1
                 j a
         c i+1 … ⎯⎯→ c i ,则可推出其可由{(c i ,a i+1 ,c i+1 ),…,(c j−1 ,a j ,c i )}⊆Δ生成,重复这一过程,最终可由 c 生成 r c .
             必要性.可按类似方式证明,限于篇幅,这里从略.                                                           □
             给定部分正确协同业务过程 CBP=BP 1 ||BP 2 ||…||BP n ,根据算法 2 生成的 CBP 的核为 c.本文中,对 CBP 进行
         修正目标是要保证 CBP 中完整简单路径对应轨迹可在修正后的协同业务过程 CBP r =BP r1 ||BP r2 ||…||BP rn 中重
         现,且 CBP r 中仅含有这些完整简单路径的轨迹,以避免后续有效性确认,提高修正效率.其中,BP r1 ,…,BP rn 分别为
         业务过程 BP 1 ,…,BP n 对应的修正业务过程.根据定理 2,这一问题可转换为保证 CBP r 和核 c 的行为一致.
             为了生成与 CBP 行为一致的 CBP r ,基于核 c,本文提出协调映射概念.协调映射是指在映射过程中引入协调
         因子(对应活动),用于建模协调交互以实现协调逻辑,从而确保由映射生成 BP r1 ,…,BP rn 并发组合形成 CBP r 能够
         遵循 cc 行为.从外界视角来观察,在忽视协调因子的情况下,协调映射可使得 CBP r 只包含 CBP 中所有完整简单
         路径的轨迹.
             在实际应用中,不是 CBP 中的每个活动都需要进行协调.以核为基础,本文提出协调活动的概念.
             定义 13(协调活动).  给定部分正确协同业务过程 CBP=BP 1 ||BP 2 ||…||BP n ,CBP 对应的核 c=(C,c 0 ,C e ,A,Δ),称
                                                                a
         活动 a∈A 1 ∪A 2 ∪…∪A n 为协调活动,当且仅当存在格局 c 1 ∈C,使得 c 1 ⎯⎯→ c 2 ,且 c 2 ∉C,其中,∀i∈[1..n],A i 为业务过
         程 BP i 的活动集.
             由定义 13 可知,协调活动是指在协同业务过程执行中若不加以控制,则可能导致隐藏路径产生的活动,即
         从初始格局 c 0 至 c 2 或由 c 2 引出路径.因此,需要对这些活动进行协调,使其执行后到达正确格局 c 1 ,避免达到异
         常格局 c 2 .而对于除协调活动以外的其他活动,由于其执行后总能够到达正确状态,因此无需协调.
             以核为基础,映射生成修正业务过程之前需先将核中不相关活动(即不属于此业务过程及不是协调活动的
         其他活动)隐藏,形式定义如下.
             定义 14(隐藏).  给定部分正确协同业务过程 CBP,BP=(S,s 0 ,F,A,Δ)为 CBP 中一个业务过程,CBP 对应的核
         c=(C,c 0 ,C e ,A,Δ),协调活动集为 A c ,则根据 BP 及 A c 对 c 进行隐藏后得到隐藏核为 c′=(C′,c′ 0 ,C′ e ,A′,Δ′),其中,
             (1) C′=C;
             (2) A′={τ}∪{a|∀(r,a,s)∈c.Δ∧a∈A∪A c };
             (3)  对于∀(r,a,s)∈Δ,如果 a∈A∪A c ,则(r,a,s)∈Δ′,否则,τ格局迁移关系(r,τ,s)∈Δ′.
             由定义 14 可知,隐藏是将 c 中格局迁移关系重置.即若格局迁移关系中活动是 BP 中活动或是协调活动,则
         在重置的格局迁移关系中保持不变,否则将其设置为不可见活动τ.
             在对 c 进行隐藏后,需要将产生的隐藏核 c′最小化以生成修正业务过程.当前,研究者提出多种行为最小化
         技术  [19] ,如轨迹最小化、分支最小化及互模拟最小化等.由于本文关注协同业务过程间的路径一致,即路径对应
         轨迹相同,因此我们采用文献[20]中提出的弱轨迹最小化算法对隐藏核进行最小化操作,最小化后生成一个中
         间有穷自动机.本质上,标号迁移系统是一类特殊有穷自动机.因此,通过将中间有穷自动机中的状态集、开始状
         态、结束状态集、活动集及状态迁移关系分别对应到标号迁移系统中的状态集、初始状态、终止状态集、活
         动集及状态迁移关系,则可由隐藏核生成一个中间业务过程.这种转换过程非常直观,限于篇幅,这里不再赘述.
         通过利用文献[20]中提出的最小化方法,可确保中间业务过程与隐藏核保持弱轨迹等价,且中间业务过程中不
         含有不可见活动.
             基于最小化后生成的中间业务过程,根据协调活动集,下面给出协调映射定义,以生成修正业务过程.
   174   175   176   177   178   179   180   181   182   183   184