Page 166 - 《软件学报》2021年第5期
P. 166
1390 Journal of Software 软件学报 Vol.32, No.5, May 2021
一个出现网 o=(P,T;G)的有限配置 C,h(Cut(C))的位置集是一个可达标记,表示条件集合 Cut(C)所能到达的
事件,用 Mark(C)表示 h(Cut(C)).
定义 14(截断事件). 二元组Π=(o,h)是过程模型 p=(C,A;F,M 0 )的一个分支进程,其中,o=(S,T;F′)是一个出现
网,h 是一个映射.如果Π中存在事件 e′使得另一个事件 e 是一个截断事件时,记为 corr(e)=e′,满足:
(1) Mark([e])=Mark([e′]),即通过 e 到达的情态与 e′的相等.
(2) [e′]<·[e],本地配置[e′]和本地配置[e]是适当偏序关系.
将 e 到达的情态 Cut([e])称为截断条件 p,对于任意截断条件,其后面的元素都被截断了,即任意截断条件
p·=∅.
例如图 5(a)所示的 Petri 网,图 5(b)所示为其完全前缀展开,也是该网的一个分支进程,其中有配置[a]={a},
[e]={a,b,d,e},[f]={a,b,c,d,f},而割集 Cut([a])={1},Cut([b])={2,3}.针对事件 b 与 e,具有 Mark([b])=Mark([e])={3}
和[b]<·[e]([b]={a,b},[e]={a,b,d,e}),事件 e 为截断事件,其对应事件是 corr(e)=b.同样对于事件 g 与 i,有 Mark([i])=
Mark([j])={7}和[g]<·[i]([g]={a,b,c,d,f,g},[i]={a,b,c,d,f,g,j,l,i}),因此有 corr(i)=g.
Fig.5 Complete prefix unfolding of case
图 5 完全前缀展开案例
3 行为等价过程树生成
本节分为 3 部分:首先对行为等价过程树生成的总体流程进行了介绍;然后详细阐述总体流程中基于完全
有限前缀展开的活动关系判断方法,为下文的模型重构提供了实现基础;最后阐述模型重构方法及模型重构的
先决条件.
3.1 总体流程
基于完全有限前缀展开的行为等价过程树生成算法,该算法的主要步骤包括六步,具体如图 6 所示.
Fig.6 Overall process of generating algorithm for the behavior equivalent process tree
图 6 行为等价过程树生成算法总体流程
第 1 步. 完全前缀展开,将给定的过程模型进行完全前缀展开,得到为一个包含截断事件的分支进程.
第 2 步. 抽取活动关系,根据模型及其分支进程,判断每组活动之间的关系,并将其保存到活动关系矩阵中.
第 3 步. 判断关系间是否存在冲突,若活动关系间存在冲突,则该过程模型无法转化为行为等价的过程树,
算法停止;若活动关系间无冲突,则进行下一步.
第 4 步. 通过比较活动关系优先级,获得优先级高的活动关系集合.
第 5 步. 过程模型重构,若当前存在可重构的活动关系,则依次进行重构,否则算法停止.
第 6 步. 若存在多个活动,则跳转至第 1 步;否则输出给定过程模型所对应的行为等价过程树.