APP下载

导弹作战流程Petri网建模及测试用例生成方法*

2019-05-28黄耀华

弹箭与制导学报 2019年5期
关键词:测试用例变迁武器

黄耀华

(西安现代控制技术研究所,西安 710065)

0 引言

作战流程是导弹武器系统作战运用的关键内容,是实现武器系统作战能力的基础。随着导弹信息化和智能化程度的提高,导弹作战流程的自动化程度和负载度也在急剧上升,所以有必要开展作战流程的建模和分析工作,尤其是对于新型武器的研制,需要深入研究作战过程中系统的状态变化,为武器研制和配套建设提供需求牵引[1-2]。

Petri网建模方法在处理动态离散事件和复杂系统时具有图形表示和数学分析描述的双重功能,支持对并行和并发流程的验证分析和优化,十分适合作为导弹作战流程的建模工具[3-4]。

另一方面,导弹作战流程测试工作是保障导弹武器系统可靠运行的重要环节,传统基于测试人员经验的导弹流程测试方法缺少对测试用例设计原理的细节描述,容易出现逻辑不严密、测试不充分等问题[5-6]。基于Petri网模型的测试用例生成方式则可以自动得到完整的测试用例集,能够有效缓解手工编写测试用例的困难,节省时间和人力成本。

文中首先介绍了Petri网的基本概念,然后具体分析了某型导弹武器系统的作战过程及其信息流程,在此基础上建立了导弹作战流程的Petri网模型,并基于Petri网模型构造了测试用例生成算法,算法输出的测试序列集能够实现对导弹作战流程状态变迁的完整性覆盖。

1 Petri网基本概念

Petri网是一种以图形的形式描述系统结构及运行方式的模型。Petri网既有图形类建模工具直观易用的优点,又有严格的数学定义,可借助数学工具分析系统的静态结构特征和动态运行特性。Petri网包含两类基本元素,分别称为位置(又称库所,记作S元素)和变迁(记作T元素)。库所用圆圈表示,变迁用矩形表示,库所和变迁之间用有向弧连接,弧不能连接同类元素。

Petri网的典型结构如图1所示,其形式化定义为一个三元组,即

N=(S,T;F)

(1)

式中:S和T是两个不相交的集合,F指代S和T之间的有向弧,F的限制条件可表达为:

F⊆(S×T)∪(T×S)

(2)

图1 Petri网结构

在Petri网中用标识(marking)来描述库所当前的状态,记作M,在图中表示为库所s中的小黑点(称为标记)个数,标识M的数学含义为定义在库所集上的一个映射,即

M:S→{0,1,2,…}

(3)

标识的变迁可用于描述系统的动态变化过程,Petri网的变迁发生规则(transition firing rule)为:

a)对于变迁t∈T,如果

∀s∈S:s∈·t→M(s)≥1

(4)

则变迁t在标识M有发生权,记为M[t>。

b)若M[t>,则从标识M发生变迁t得到的新标识M′(记为M[t>M′)等于

(5)

式中:·t表示变迁t的前置库所集合,t·表示变迁t的后置库所集合。

以图1中的Petri网为例进行分析,库所s2中有一个标记,该网络的初始标识M0= [0,1,0]T。根据变迁发生规则可知此时t1有发生权,记为M0[t1>。变迁发生后,s2失去标记,s1获得标记,得到新状态的标识为M1= [1,0,0]T。重复上述过程,则可用Petri网的标识变迁来描述系统的变化,并借助Petri网的分析工具和网络结构性质分析系统的动态特性。

2 导弹作战流程建模

2.1 导弹作战流程说明

导弹是制导武器系统中的大家族,经过多年的发展,已涌现出各种类型的系列化产品。按照射程可分为近程、中程、远程和洲际导弹;按照飞行方式可分为弹道导弹、防空防天导弹和飞航导弹等。不同种类导弹的结构和采用的技术不尽相同,作战流程也存在一定的差异。文中选取某型导弹武器系统的典型作战流程进行描述。

图2 导弹武器系统体系结构图

典型的导弹武器系统体系结构如图2所示,指挥控制中心用于实现导弹武器系统对各类战场信息的感知、战场态势信息的实时发布与更新、任务规划与更新以及打击效果评估等作战信息综合管控功能,是平台武器系统的上级指挥单元。平台武器控制系统配置在各种导弹发射平台上,用于控制导弹的射前检查和发射控制。战术信息平台结合卫星导航系统用于构建多平台机动作战的战术信息链路网络系统,为导弹远程精确打击提供中继通信保障。战术数据链通过无线信道将各级指挥单元和导弹链接起来,实现信息处理、交换和分发,形成导弹集群攻击等体系作战能力。

导弹武器系统的作战过程主要分为4个阶段,分别为:搜索、发现、识别和指示目标,跟踪目标并计算诸元,发射并制导导弹飞向目标以及起爆战斗部摧毁目标[7]。作战过程信息流程描述如下:

1)目标探测与跟踪:使用观瞄设备在规定范围内进行目标探测、识别和跟踪,实施敌我识别、威胁判定,并实时提供目标定位信息。

2)目标信息处理:对来自上级指挥中心和自主侦察得到的多源目标信息进行信息融合处理。

3)火力分配:根据目标威胁度、发射平台和外挂导弹的状态信息生成单发单目标、多发单目标、多发多目标等火力计划。

4)攻击区判定和弹道规划:根据发射平台和目标的相对运动关系、地形等参数进行攻击区判定和弹道规划特征点计算。

5)导弹发射控制:实时连续解算诸元参数,对射向进行持续动态调整,并判断导弹发射条件,实施射击流程。

6)射手操控:实现人工跟踪、自动跟踪、组合修正等导弹操控模式;在导弹飞行过程中,“人在回路”实现目标的准确识别与精确跟踪。

2.2 导弹作战流程Petri网建模

通过对导弹作战过程的信息流程进行分析,建立导弹作战流程的Petri网模型如图3所示,图中库所、变迁的意义说明如表1所示。为方便叙述,对实际导弹作战流程做了部分简化。

图3 导弹作战流程的Petri网模型

表1 库所、变迁的意义说明

对于复杂的导弹武器系统,利用Petri网模型对其动态特性进行分析能够加深对作战流程的理解,从而抓住系统运行的关键环节。分析图3所示Petri网模型的变迁规律,可知该Petri网模型是非死锁的,即不存在无法激发的变迁,且系统具有可逆性,体现出了导弹武器系统作战流程具有战前准备、战斗实施和再战准备循环转换的特性。

3 导弹作战流程测试用例生成

根据Petri网理论,将标识M用向量表示,则Petri网的结构可以等价地表示为一个矩阵,即,对于Petri网∑=(S,T;F,M),其中S={s1,s2,…,sm},T= {t1,t2,…,tn},∑可以用关联矩阵A=[aij]n×m来表示,其中:

(6)

(7)

式中:i∈{1,2,…,n},j∈{1,2,…,m}。

对于Petri网∑= (S,T;F,M)及其关联矩阵A,存在两个引理:

引理1:设ti∈T,则M[ti>的充分必要条件是

(8)

引理2:设M[ti>M′,则有

M′=M+(Ai*)T

(9)

式中Ai*表示矩阵A的第i行形成的行向量。

观察可知图3中Petri网模型的初始标识M0= [1,0,0,0,0,0,0,0,0,1,0,0,0,1]T,根据关联矩阵的定义,可得模型的对应关联矩阵为:

(10)

结合引理1和引理2,以M0为初始节点,可通过遍历算法生成所有可达标识节点及变迁关系,并以链表的形式存储,根据链表绘制出图3中Petri网模型对应的可达标识图如图4所示。可达标识图包含了从初始标识开始可能激发的变迁和可能到达的标识,可以方便观察系统状态的动态变化。

以可达标识链表为输入,可以通过构造堆栈生成符合变迁覆盖准则的测试序列集,使得可达标识图中的每一条路径都至少被一个测试序列覆盖,算法描述如表2所示。

表2中算法生成的导弹作战流程测试序列集如图5所示。通过对比可知算法生成的两个以M0为初始节点的测试序列能够实现对图4中变迁的覆盖,并将导弹作战流程中需要测试的状态变化梳理为符合导弹武器系统测试场景的测试序列,使得通过两次上电过程即可完成对系统变化的覆盖性测试。

图4 Petri网模型的可达标识图

图5 算法生成的测试序列

4 结论

通过对导弹武器系统作战流程的总结和梳理,文中基于Petri网理论建立了作战流程的状态变迁模型。Petri网模型的图形化描述方式使其能够方便地用于研究和分析导弹武器系统的状态变化特征;另一方面,Petri网模型的数学工具能够用于构造测试用例生成算法,实现测试序列的自动化生成。利用遍历算法生成测试序列的方式实现了测试工作的简化,同时也避免了人工梳理测试序列容易出现的测试不充分现象。

表2 测试序列生成算法

猜你喜欢

测试用例变迁武器
小渔村的变迁
基于LDA模型的测试用例复用方法*
回乡之旅:讲述世界各地唐人街的变迁
一纸婚书见变迁
清潩河的变迁
一张图看懂武器发展史
软件测试中的测试用例及复用研究
请放下你的武器
退役武器去哪儿了?
负荆请罪