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

3150                                  Journal of Software  软件学报 Vol.31, No.10, October 2020

             (a)  基于弱合理将协同业务过程行为抽象为完整的简单路径;
             (b)  将抽象的完整简单路径合并以构建核,核中包含修正前的协同业务过程中所有正确的任务执行系列;
             (c)  将核隐藏、最小化后生成每个参与组织的中间业务过程;
             (d)  将中间业务过程协调映射为修正业务过程,通过将修正业务过程并发组合建立修正协同业务过程.
             下面将对图 1 所示的正确性修正方法进行详细的阐述.

         2    协同业务过程定义

             为了实现协同业务过程与需求一致性检测,参与组织需要首先对协同业务过程及期望需求进行建模.
         2.1   协同业务过程建模
             对协同业务过程进行形式定义是实现协同业务过程正确性修正的基础.本节采用标号迁移系统对业务过
         程建模,并将其并发组合形成协同业务过程.
             业务过程由参与组织活动集和建立其上的控制流组成,它由该组织自治管理,是构建协同业务过程的基础.
         本文采用标号迁移系统建模业务过程.
             定义 1(业务过程).  业务过程是一个迁移系统 BP=(S,s 0 ,F,A,Δ),其中,
             (1) S 为状态集合;
             (2) s 0 ∈S 为初始状态;
             (3) F⊆S 为终止状态集合;
             (4) A=A l ∪A i 为活动集合,其中,A l 为本地活动集合,A i 为交互活动集合;
             (5) A i =A si ∪A ai ,其中,A si 为同步交互活动集合,A ai 为异步交互活动集合;
             (6) A ai =A as ∪A ar ,其中,A as 为异步发送活动集合,A ar 为异步接收活动集合;
                                                                                             a
             (7)  Δ⊆S×A×S 为状态迁移关系集,用来刻画活动间执行顺序,即控制流.对于∀(r,a,s)∈Δ,记为迁移 r ⎯⎯→ s,
         表示 BP 在执行活动 a 后由状态 r 转换为状态 s.
                                                               1 a
                                                                         2 a
             特别地,称 BP 是确定的当且仅当对于其中的任意两条迁移 r ⎯⎯→ s 1 及 r ⎯⎯→ s 2 ,若 a 1 =a 2 ,则 s 1 =s 2 .本文中
         所讨论的业务过程均默认是确定的.对于任意同步交互活动 a∈A si ,则协同业务过程中至少存在一个其他业务过
         程 BP′,BP′的同步交互活动集合中包含 a;而对于任意异步交互活动 a∈A ai ,若 a∈A as ,则 a 记为!m,表示发送消息 m
         的活动,“!”表示发送动作,若 a∈A ar ,则 a 记为?m,表示接收消息 m 的活动,“?”表示接收动作.对于业务过程 BP,其
         发送消息集为 M      ! BP  ={m|!m∈ A as },而接收消息集为 M ? BP  ={m|?m ∈ A ar }.
             采用标号迁移系统建模业务过程有如下 3 个方面的原因:(1)  标号迁移系统具有直观图形表示,可以形式化
         地刻画系统的行为,是系统行为深入分析的可靠工具                   [17] ;(2)  迁移系统作为一种中间表示,任意具有执行语义的
         过程模型(如利用 Petri 网或进程代数建模过程模型)都可以方便地转换为本文中以标号迁移系统描述业务过
         程 [17] ;(3)  便于后文中映射生成修正业务过程.特别需要说明的是,由于 Petri 网具有直观图形化表示,严格形式
         语义和丰富的形式分析技术,被广泛地用于业务过程建模和分析中.本文没有采用 Petri 网进行协同业务过程修
         正的根本原因是在具体修正中需要首先生成协同业务过程完整简单路径,然后合成核(本质上是标号迁移系
         统),最后通过对核进行协调映射生成每个修正业务过程(也为标号迁移系统).而若采用 Petri 网建模协同业务过
         程,则具体修正仍然需要对应到标号迁移系统上开展,不够直观.
             以业务过程为基础可建模协同业务过程.本质上,协同业务过程可视为由多个业务过程构成的并发交互系
         统.进程代数能够自然地以模块的方式构建复杂的交互并发系统                        [18] ,借鉴其思想,本文提出并发操作符概念.并
         发操作符提供了一种通过组合业务过程构建协同业务过程方法.
             定义 2(协同业务过程).  设参与协同的业务过程为 BP 1 ,…,BP n ,由这 n 个业务过程构成的协同业务过程记为
         CBP=BP 1  ||…||BP n .
             特性需要说明的是,定义 2 只是将多个业务过程在形式上列为并发关系,CBP 中的活动执行及交互可按实
   169   170   171   172   173   174   175   176   177   178   179