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

4.4.4 动态演化错误分析

武器装备体系动态演化要求将正在运行的作战流程从源模式动态迁移切换到目标模式下继续执行,在导致已执行作战活动和将要执行作战活动之间,可能存在数据依赖关系的错误,主要包括:

(1)数据缺失。当一个活动需要获取某些数据时,这些数据从未被创建或被删除后再没有被创建。

(2)数据冗余。一个数据元素是冗余的,如果存在一个活动对其进行写入之后,在所有可能的执行过程中,这个数据被清空(销毁)或作战流程执行完毕之前没有被读取(使用)过。

(3)数据丢失。一个数据元素是被丢失的,如果存在一个活动对其进行写入,在所有可能的活动执行过程中,这个数据被读取(使用)之前就被再次写入。

(4)数据不一致。流程中的数据是不一致的,如果一个活动正在使用该数据,而另一些活动对该数据实施并行的写入或清空。

(5)数据清空。数据清空分两类,一类是数据从未被清空,如果存在这样的场景,数据被创建之后就没有被清空;另一类是数据被两次清空,如果存在这样的场景,在一个活动执行序列中数据被清空两次,在这两次清空之间该数据没有被创建过。

(6)数据没有及时删除。一个数据没有被及时删除,当在流程中存在一个活动对它进行只读取而不清空,之后这个数据不应该再被独立读取(使用)。

武器装备体系运行流程被迁移切换到目标模式后继续执行,如果存在数据缺少、数据丢失或数据不一致现象,可能会导致严重的后果。因此在实施动态演化过程中,从数据流的角度,首先必须确保以下条件得到满足:

(1)数据流的正确性,不能产生上述的数据依赖关系的错误;

(2)数据依赖关系的一致性。

从WF_CPN模型中可以看出控制流决定作战流程的具体执行路径。在WF_CPN中控制流关注于流程模型的结构正确性,例如无死锁、非正常终止性等;数据流则关注过程模型中活动之间数据依赖的可满足性。从控制流的角度上看,为了保证作战流程能够正确执行,需要满足流程模型的合理性[16,17]要求,具体包括3个方面:

(1)弱终止性,即保证流程在控制流上不会出现无死锁和活锁等错误;

(2)恰当终止性,即在流程中不会出现悬而未决的控制状态等错误;

(3)无死活动,即在流程中任何活动都有机会发生,不会存在永远没有机会执行的活动。

基于WF_CPN模型数据流和控制流分析角度,在武器装备体系动态演化过程中,已执行活动及其状态(当前状态或源状态),在运行流程迁移切换过程中需要保证从当前状态到目标状态是可达的,同时这些状态在未来将执行的活动中能够延续使用。因此,将作战运行流程从当前流程模式(源模式)动态地迁移切换到新流程模式下(目标模式)继续执行,要求:

(1)满足数据流的正确性,不能产生数据缺失、数据冗余和数据丢失等方面的错误,同时保证数据依赖关系的一致性;

(2)满足控制流的动态合理性,不能引入控制流方面的新错误,使目标模式产生死锁、活锁或流程异常终止等现象;

(3)满足数据流和控制流的动态合理性,不能引发选择分支间存在数据依赖关系而产生的死锁,不能引发并行分支间存在循环的数据依赖关系而产生死锁,不能引发并行分支间存在循环控制/数据依赖关系的交叉作用而产生死锁;

(4)源状态的继承性和目标状态的有效性,即已执行活动的相关数据状态、控制状态及其相互关系能够在目标模式下继承,并在后续的活动执行中得到应用,并且保证从源状态到目标模式状态是可达的。