基于json格式规约描述的6016b规则测试的文本模型构建方法
技术领域
1.本发明涉及6016b规则测试及devs仿真建模技术领域,特别涉及一种基于json格式规约描述的6016b规则测试的文本模型构建方法。
背景技术:
2.mil
‑
std
‑
6016b系列消息规则(后简称6016b规则)是由美国军师司令部制定的标准消息格式和通信协议,其作用在于链接传感器、指挥控制系统和武器平台,从而实时自动地传输战场态势、指挥引导、战术协同、武器控制等格式化数据。根据6016b规则,可以实现多个参与单元之间的数据互联互通,美军及其盟军利用其互操作性装备大容量、抗干扰、保密的战术信息分发系统,同时使其具备相对导航、网内识别、任务管理、武器协同、目标监视、空中控制、数字保密话音和电子战支持能力,是美军数据链实现互联互通互操作的基础。
3.离散事件系统规范(discrete event system specification,devs)是一种用于系统建模与仿真的模块化、层次化和形式化的机制,提供了一种对离散事件系统以分级和模块化方式进行建模的方法。devs通过6016b规则文本建模得到的测试模型可在真实的硬件/软件系统上执行测试,以验证6016b规则文本的规范性。
4.由于6016b消息标准一般采用自然语言编写,计算机无法自动识别,无法支撑大规模的智能分析,故需要将消息标准转换成计算机可识别的系统行为表示方法,同时,也要求该表示方法符合devs的标准定义,从而实现自动建模。
技术实现要素:
5.本发明实施例的目的是提供一种基于json格式的规约描述文件的6016b规则测试的文本模型构建方法,通过提供基于json格式的规约描述文件,使6016b规则原文转换成符合devs仿真模型所需的格式,实现了对已处理的6016b规则的自动解析,同时,该方法也支持对于尚未处理的6016b新规则的手动扩充;其中应用特定json格式规约描述、正则表达式及启发式规则等方法实现对6016b规则原文的解析及多规则间依赖关系的自动分析。
6.为实现以上的目的,本发明是通过以下技术方案来实现的:
7.(1)设计特定的规约描述,该规约描述可将自然语言描述的6016b规则原文与devs仿真建模的输入相对应,其中,所述规约描述文件为json格式,主要包含五个字段:输入消息(input messages)、输出消息(output messages)、条件(condition)、结果(do)和依赖关系(dependency);
8.(2)构建状态变量表,步骤(1)中6016b规则原文与devs仿真建模输入的对应需要通过预先规定好的状态变量表来实现,具体地,规约描述中的条件和结果字段填充的即为状态变量;
9.(3)建立规则库,使用正则表达式实现步骤(1)中将非结构化的6016b原文转换成
结构化的规约描述,建立规则库的目的是存储原文与规约描述中各字段对应关系的对应表,其具体形式是解析规则所对应的正则表达式;
10.(4)分析6016b规则间的依赖关系,通过判断json格式的规约描述中的条件和结果字段内的状态变量是否有交集来确定依赖关系;
11.(5)将上述步骤处理后得到的6016b规则原文所对应的json格式规约描述文件输入到devs仿真模型中进行验证;
12.经过测试,本发明具有的有益效果是:
13.1、使用特定的json格式规约描述可明确地表示6016b单条规则内的逻辑关系及多条规则间的依赖关系。
14.2、使用归纳好的正则表达式模板库,可较为高效地处理与之相似的规则,并且模板库可拓展。
附图说明
15.图1本发明实施例提供的基于json格式的规约描述文件的6016b规则测试方法的框架图。
16.图2本发明方法流程图。
17.图3本发明设计的json格式。
18.具体实施方式(对本发明所提出的方法进行详细阐述)
19.以下结合附图对本发明的具体实施方案做作进一步说明。
20.本发明的主用于将6016b规则原文转换成devs仿真建模所需的输入格式;图1为本发明实施例提供的基于json格式的规约描述文件的6016b规则测试方法的框架图;
21.步骤1设计特定的json规约描述格式,具体格式如图3所示,该json格式面向的对象为最小i/o对,即每个最小i/o对都包括“输入消息”、“输出消息”、“条件”、“结果”四个字段。devs仿真模型的构建要求其输入需要满足七元组定义,即
22.devs=<s,ta,δ
int
,x,δ
ext
,y,λ>
23.其中,s为系统状态集,其集合内的元素与本发明设计的json格式中各个字段内的状态变量对应;x为外部输入事件集,在本发明设计的json格式中对应“输入”字段;y为输出集,在本发明设计的json格式中对应“输出”字段;ta为事件推进函数,δ
int
为内部转移函数,δ
ext
为外部转移函数,λ为输出函数,该四部分在本发明设计的json格式中没有一一对应的关系,通常是devs仿真模型根据json格式中的“条件”和“结果”两个字段内的状态变量来做判断。此外,如果6016b中某条规则对应多条最小i/o对,devs仿真模型还需要其输入能够表示规则内部的逻辑关系,具体为“与”、“或”及“时序”三种关系。在图3中,a、b和c分别表示一个最小i/o对,本发明规定,这三者的关系为(a and b)or c,其中a和b有先后时序关系,a、b和c则为“或”的关系。
24.步骤2构建状态变量表。状态变量表是6016b消息变量中相关字段与devs仿真模型本地数据库中状态标记的集合,也是json描述的文本模型构建devs仿真模型的桥梁。每个状态变量需要四个字段描述:变量名(name)、类型(type)、取值(value)和说明(remark);
25.步骤3构建规则库。规则库中的正则表达式是对规则中对应的状态变量的归纳,如果之后遇到要处理的规则与之相似则可重复使用其来处理。要处理的规则与规则库中已录
入的规则匹配采用的算法为杰卡德系数法,具体为:
[0026][0027]
其中,a表示要处理的规则文本中的单词集合,b表示规则库中已录入的规则文本中的单词集合,通过该算式来衡量文本间的相似度,若该相似度超过某个设定阈值即认为是相似的,经过试验,该阈值取值0.75效果较好。
[0028]
步骤4使用启发式规则分析多规则间的依赖关系,具体是:设有规则a和b,其json格式规约描述中的“条件”和“结果”字段对应的状态变量集合分别为“condition
‑
a”、“condition
‑
b”、“do
‑
a”、“do
‑
b”,分别做“condition
‑
a”和do
‑
b”、“condition
‑
b”和“do
‑
a”的交集,如果其交集不为空,则判定有关系从“do
‑
x”到“condition
‑
y”。如,“condition
‑
a”和do
‑
b”的交集不为空,则有规则b依赖于规则a。特别地,取交集的操作需要同时满足状态变量的“变量名”和“取值”完全相同,且该两个交集不会出现同时非空的情况。例:6016b第4.4.4.14节中的航迹报告职责规则,规则b原文为“a ju transmits a track report for an air,surface(maritime)or land(ground)track only when it has r2 for that track.”,其条件“condition
‑
b”为“localr2==true”(本地承担航迹播报职责),结果“do
‑
b”为“sendmessage=j3.x”(发送j3系列消息);规则c原文为“aju assumes r2 on a common track if its local tq at the time of transmission exceeds the receivedtq by 2ormore.”其条件“condition
‑
c”为“localtq
‑
remotetq>=2”(本地航迹质量tq比远端航迹质量tq大于等于2),结果“do
‑
c”为“localr2=true”(本地承担航迹播报职责),易得出do
‑
c与condition
‑
b的交集为状态变量“localr2”,故有规则c依赖于规则b。
转载请注明原文地址:https://doc.8miu.com/read-1250046.html