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,