Page 168 - 《软件学报》2021年第5期
P. 168

1392                                     Journal of Software  软件学报 Vol.32, No.5,  May 2021

                 述条件时,a 1 与 a 2 存在可合并的迭代关系,其中,a 1 先发生,记为∝(a 1 ,a 2 ),a 2 先发生,记为∝(a 2 ,a 1 ).
                    (1) [t 1 ]=[t 2 ]−{t 2 },即 t 1 的配置和 t 2 的配置只相差 t 2 .
                    (2) [corr(t 2 )]=[t 1 ]−{t 1 },即 t 2 是一个截断事件,且它的对应事件 corr(t 2 )的配置比[t 1 ]少一个 t 1 .
                    (3)  若 h(t 2 )≠h(corr(t 2 )),则 a 1 与 a 2 存在可合并的迭代关系,且 a 1 先发生;否则 a 2 与 a 1 存在可合并的迭代关
                 系,且 a 2 先发生.
                    定义 17(选择关系判断条件).  对于过程模型 p=(C,A;F,M 0 ),Π=(o,h)为过程模型 p 对应的一个包含截断事件
                 的分支进程,其中,o=(S,T;F′)是一个出现网,h 是一个映射函数.∀t 1 ,t 2 ∈T,∀a 1 ,a 2 ∈A,h(t 1 )=a 1 ,h(t 2 )=a 2 ,当 t 1 ,t 2 满足下
                 述条件时,a 1 与 a 2 存在可合并的选择关系,记为×(a 1 ,a 2 )或×(a 2 ,a 1 ).
                    (1) ·t 1 ∩·t 2 ≠∅,事件 t 1 与事件 t 2 的前驱是相交的.
                    (2) [t 1 ]−{t 1 }=[t 2 ]−{t 2 },即 t 1 和 t 2 的发生条件是相同的.
                    (3) corr(t 1 )=t 2 或 corr(t 2 )=t 1 ,即 t 1 和 t 2 中有一个是截断事件且对应事件为对方.
                    定义 18(并发关系判断条件).  对于过程模型 p=(C,A;F,M 0 ),Π=(o,h)为过程模型 p 对应的一个包含截断事件
                 的分支进程,其中,o=(S,T;F′)是一个出现网,h 是一个映射函数.∀t 1 ,t 2 ∈T,∀a 1 ,a 2 ∈A,h(t 1 )=a 1 ,h(t 2 )=a 2 ,当 t 1 ,t 2 满足下
                 述条件时,a 1 与 a 2 存在可合并的并发关系,记为||(a 1 ,a 2 )或||(a 2 ,a 1 ).
                    (1) ·t 1 ∩·t 2 =∅,事件 t 1 与事件 t 2 的前驱不相交.
                    (2) [t 1 ]−{t 1 }=[t 2 ]−{t 2 }.
                    (3)  对于所有 t∈T 且 t≠t 1 ∧t≠t 2 ,必有{t 1 ,t 2 }∩[t]=∅或{t 1 ,t 2 }∩[t]={t 1 ,t 2 }.

                                          Table1    Event information for the case in Fig.5
                                                表 1   图 5 中案例的事件信息
                                事件         配置         前驱     后继     是否为截断事件        对应事件
                                 a         {a}        {0}     {1}        −            −
                                 b         {a,b}      {1}    {2,3}       −            −
                                 c        {a,b,c}     {2}     {4}        −            −
                                 d        {a,b,d}     {3}     {5}        −            −
                                 e       {a,b,d,e}    {5}    {3′}        Yes          b
                                 f       {a,b,c,d,f}  {4,5}   {6}        −            −
                                 g      {a,b,c,d,f,g}  {6}    {7}        −            −
                                 h      {a,b,c,d,f,h}  {6}    {8}        −            −
                                 i     {a,b,c,d,f,g,i,j,l}  {9}  {7′}    Yes          g
                                 j      {a,b,c,d,f,g,j}  {7}  {10}       −            −
                                 k      {a,b,c,d,f,h,k}  {8}  {11′}      Yes          m
                                 l      {a,b,c,d,f,g,j,l}  {10}  {9}     −            −
                                 m     {a,b,c,d,f,g,j,m}  {10}  {11}     −            −
                                 n     {a,b,c,d,f,g,j,m,n}  {11}  {12}   −            −

                    例如表 1 是图 5 中完全前缀展开案例是事件信息,根据表 1 中的信息可知活动 d 和 e 之间存在迭代关系,a
                 和 b、h 和 k、l 和 i 之间存在顺序关系.
                    通过本节的 4 种关系的判断条件,可以构造出活动关系抽取算法 IdentifiesRelation,它的基本步骤如下.
                    第 1 步.  将过程模型展开获得一个包含截断事件的分支进程Π=(o,h),其中,o=(S,T;F′)是一个出现网,h 是一
                 个映射函数.
                    第 2 步.  构造一个二元矩阵 RM 以方便读取和保存活动间的关系,RM 的行数与列数都等于 p 中的活动数.
                    第 3 步.  利用二次嵌套循环判断任意 t 1 ,t 2 ∈T∧h(t 1 )≠h(t 2 )间的关系,具体判断方法可参考定义 15~定义 18,当
                 其存在某种关系时将其保存到二元矩阵 RM 中.

                 3.3   模型重构
                    冲突判断条件对应算法的总体流程中的第 3 步,判断关系之间是否存在冲突.如果关系之间存在冲突,则该
                 过程模型就是非 TEPM,不能转换为行为等价的过程树,下面给出冲突的判断条件的定义.
                    定义 19(冲突的判断条件).  对于过程模型 p=(C,A;F,M 0 ),RM 是过程模型 p 的活动关系集合,当任意 a 1 ,a 2 ∈A,
   163   164   165   166   167   168   169   170   171   172   173