武器装备体系原理与工程方法
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.4.3 WF_CPN模型数据依赖关系分析

WF_CPN的活动(变迁)中,当输入参数vi在活动ti中产生作用并输出参数vj时,这两个参数就产生了依赖关系(称为参数依赖关系viRDvj),参数依赖关系可以分为直接参数依赖关系(记为viRDDvj)和间接参数依赖关系(记为viRDIvj)。当一个活动ti的输出参数成为另一个活动tj的输入参数时,这两个活动就发生了数据依赖关系(称为活动数据依赖关系tiRTtj),同样可以分为直接活动数据依赖关系(记为tiRTDtj)和间接活动数据依赖关系(记为tiRTItj)。

在WF_CPN模型的活动序列δ=t1t2tn中(见图4.9),有活动titi+1ti+2,它们的输入参数分别为IN1={inv11inv12,…,inv1n}、IN2={inv21inv22,…,inv2n}和IN3={inv31inv32,…,inv3n},输出参数分别为OUT1={outv11outv12,…,outv1n}、OUT2={outv21outv22,…,outv2n}和OUT3={outv31outv32,…,outv3n},经实施后的标识分别为Mi1Mi2Mi3Mi0ti的初始标识,则有如下定义。

图4.9 活动序列数据依赖关系

定义4.26(WF_CPN数据依赖关系):

表示活动ti在绑定b1引发时,活动操作实施时的具体动作。从上述的定义中可以看出,在ti中有直接参数依赖关系,则必须满足以下条件:

(1)<b1>=<inv11=cin11,inv12=cin12,…,inv1n=cin1n>;

(2)G(ti)<b1>=true;

(3)ti是能使的,并且步发生后有<outv11=cout11,…,outv1n=cout1n>;

(4)b1>⇒out11=cout11.

titi+1中有间接参数依赖关系和直接活动数据依赖关系,则必须满足以下条件:

(1)<b2>=<outv11=cout11,inv21=cin21,…,inv2n=cin2n>;

(2)G(ti+1)<b2>=true;

(3)ti+1是能使的,步发生后有<outv21=cout21outv22=cout22,…,outv2n=cout2n>;

(4)如果在ti中有,并且要求在ti+1中存在

titi+1ti+2中有直接活动数据依赖关系和间接活动数据依赖关系,则必须满足以下条件:

(1)<b3>=<outv21=cout21,inv31=cin31,…,inv3n=cin3n>;

(2)G(ti+2)<b3>=true;

(3)ti+2是能使的,步发生后有<outv31=cout31outv32=cout32,…,outv3n=cout3n>;

(4)如果在ti中有,并且要求在ti+1中存在,还要求在ti+2中存在outv21inv31)<b3>⇒outv31=cout31

然而ti+1直接数据依赖于titi+2直接数据依赖于ti+1,但ti+2不一定间接数据依赖于ti。如:

根据定义4.26,在活动系列δ=t1t2,…,tn中,对任意活动titi+1ti+2有数据依赖关系tiRTDti+1ti+1RTDti+2,并且从titi+2存在传递参数依赖关系,则活动ti+2数据依赖于活动ti,即tiRTti+2,因此活动数据依赖关系的传递性通过参数依赖关系的传递性实现。根据关系传递闭包可得到以下两个定义。

定义4.27(参数集关于活动的传递闭包):设RT为参数集V上的一组关于活动的数据依赖关系,XVRD+={A|XA能由RT根据参数依赖关系传递性导出},RD+称为参数集X关于活动数据依赖关系RT的传递闭包,简称参数依赖传递闭包。

定义4.28(活动集关于参数的传递闭包):设RD为活动集T上的一组关于参数的依赖关系,XTRT+={A|XA能由RD根据变迁数据依赖关系传递性导出},RT+称为活动集X关于参数的依赖关系RD的传递闭包,简称活动数据依赖传递闭包。

依据定义4.27,参数依赖传递闭包

上面讨论了WF_CPN模型中的数据依赖关系及其性质,在武器装备体系运行流程迁移切换过程中,需要在源模式和目标模式之间保持这些数据依赖关系,避免动态演化中出现的数据流错误,因此需要分析在动态演化过程中可能产生的数据流和控制流关系错误。