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 步;否则输出给定过程模型所对应的行为等价过程树.
   161   162   163   164   165   166   167   168   169   170   171