基于模型的运行时验证方法及系统技术方案

技术编号:35817204 阅读:27 留言:0更新日期:2022-12-03 13:41
本发明专利技术提供了一种基于模型的运行时验证方法及系统,包括:根据系统需求和系统满足预期的安全属性,分别构建系统模型和性质模型;将所述系统模型和性质模型转化为模型描述语言;通过模型构建器将所述模型描述语言转化为相应的数据模型;通过运行时验证器检测验证所述数据模型。本发明专利技术通过在模型的基础上提出基于模型的性质,再使用运行时验证器对建立的系统模型和性质进行验证,提高了所搭建的模型的安全性和可靠性。安全性和可靠性。安全性和可靠性。

【技术实现步骤摘要】
基于模型的运行时验证方法及系统


[0001]本专利技术涉及形式化验证
,具体地,涉及一种基于模型的运行时验证方法及系统。

技术介绍

[0002]随着现代科技的发展,嵌入式控制系统规模越来越大,开发系统的规模和复杂性不断增加,而对于系统的安全性和可靠性的要求越来越高,较之普通软件领域,在高安全性的嵌入式开发领域如轨道交通、航空、国防等领域,因其任务特点,更需要保证高可靠性。传统的从客户需求、系统规划﹑软硬件设计到系统集成的开发方法越来越不能适应,基于模型的开发就是解决些问题的一种方法。虽然采用基于模型的开发方法有助于提高系统的安全性和可靠性,但是如何进一步确保搭建的模型符合用户预期,确保搭建的模型与用户想要的模型相一致也是一个重要问题。目前,主要的验证方法有三种:定理证明、模型检测和软件测试。定理证明使用数学推理的方式试图证明软件的正确性,但是因为其证明过程常需要人工干预,自动化程度低,不适合大规模的使用;模型检测虽然有着易于使用,自动化程度高的特点,但是不论基于何种优化,始终存在着状态爆炸问题,针对规模较大的系统难以获取其验证结果;软件测试虽然可以发现软件的漏洞,但是仅通过有限的测试用例难以覆盖到软件运行的所有情形。
[0003]专利文献CN112560939A公开了一种模型验证方法、装置及计算机设备,该方法包括:获取目标模型基于基线数据执行模型训练的训练过程数据;从所述训练过程数据中拆分出数据输入过程和计算过程;接收关于所述目标模型的模型验证任务;调度所述数据输入过程和所述计算过程协同执行所述模型验证任务,以得到对应的第一验证结果和第二验证结果;将所述第一验证结果和所述第二验证结果聚合得到模型验证结果。
[0004]在现有的模型验证技术中,验证效率低。所以,急需可以提升基于模型的开发方式中系统的安全性和可靠性,提升运行时验证的验证效率的一种基于模型的运行时验证方法及系统。

技术实现思路

[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种基于模型的运行时验证方法及系统。
[0006]根据本专利技术提供的一种基于模型的运行时验证方法,包括:
[0007]步骤S1:根据系统需求、系统满足预期的安全属性,分别构建系统模型、性质模型;
[0008]步骤S2:将所述系统模型和性质模型转化为模型描述语言;
[0009]步骤S3:将所述模型描述语言转化为相应的数据模型;
[0010]步骤S4:检测验证所述数据模型。
[0011]优选地,步骤S4包括:
[0012]步骤S4.1:用例数据载入数据模型;其中,所述用例数据包括周期、周期下的变量;
[0013]步骤S4.2:根据载入的数据模型模拟运行过程,并判断是否满足用户提出的性质需求;若满足,则验证通过并给出验证结果;若不满足,则验证不通过并反馈不通过的反例信息给用户;
[0014]所述反例信息包括:违反性质所在的周期以及在所述周期下引发这个性质违规的变量信息。
[0015]优选地,所述检测和模型运行周期相关,在每一个周期运行结束的时候都对用户提出的性质需求进行检测并记录检测信息;
[0016]在验证时,不会因检测出违反性质而停止模拟运行;
[0017]在用例数据模拟运行的过程中记录每一个性质中的状态信息并根据当前周期下执行的状态信息直接计算获取验证结果。
[0018]优选地,所述步骤S2包括:
[0019]步骤S2.1:检查所述系统模型和性质模型中的构件和构件间的连线正确性;
[0020]步骤S2.2:针对模型的点边描述集合进行拓扑排序。
[0021]优选地,所述步骤S3包括:
[0022]步骤S3.1:通过对所述模型描述语言进行词法和语法的处理生成抽象语法树;
[0023]步骤S3.2:解析所述抽象语法树,并将数据结构存储至抽象语法树对应的各个节点中。
[0024]优选地,所述性质模型使用时态逻辑构件进行描述。
[0025]根据本专利技术提供的一种基于模型的运行时验证系统,包括:
[0026]模块M1:根据系统需求、系统满足预期的安全属性,分别构建系统模型、性质模型;
[0027]模块M2:将所述系统模型和性质模型转化为模型描述语言;
[0028]模块M3:将所述模型描述语言转化为相应的数据模型;
[0029]模块M4:检测验证所述数据模型。
[0030]优选地,模块M4包括:
[0031]模块M4.1:用例数据载入数据模型;其中,所述用例数据包括周期、周期下的变量;
[0032]模块M4.2:根据载入的数据模型模拟运行过程,并判断是否满足用户提出的性质需求;若满足,则验证通过并给出验证结果;若不满足,则验证不通过并反馈不通过的反例信息给用户;
[0033]所述反例信息包括:违反性质所在的周期以及在所述周期下引发这个性质违规的变量信息。
[0034]优选地,所述模块M4的检测和模型运行周期相关,模块M4在每一个周期运行结束的时候都对用户提出的性质需求进行检测并记录检测信息;
[0035]所述模块M4在验证时,不会因检测出违反性质而停止模拟运行;
[0036]所述模块M4在用例数据模拟运行的过程中记录每一个性质中的状态信息并根据当前周期下执行的状态信息直接计算获取验证结果;
[0037]所述模块M2包括:
[0038]模块M2.1:检查所述系统模型和性质模型中的构件和构件间的连线正确性;
[0039]模块M2.2:针对模型的点边描述集合进行拓扑排序。
[0040]优选地,所述性质模型使用时态逻辑构件进行描述。
[0041]与现有技术相比,本专利技术具有如下的有益效果:
[0042]1、本专利技术通过在模型的基础上提出基于模型的性质,再使用运行时验证器对建立的系统模型和性质进行验证,提高了所搭建的模型的安全性和可靠性。
[0043]2、本专利技术通过自定义运行时验证器验证模型,提高了运行时验证的验证效率。
[0044]3、本专利技术在普通命题逻辑构件的基础上引入了时态逻辑构件,提升了模型对性质的描述能力,进而增加了用户操作的易用性和友好性。
附图说明
[0045]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0046]图1为本专利技术的流程示意图。
[0047]图2为本专利技术的实施例中求平方的系统模型示意图。
[0048]图3为本专利技术的实施例中求平方的性质模型示意图。
[0049]图4为本专利技术的实施例中求平方的系统模型对应的抽象语法树结构示意图。
具体实施方式
[0050]下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于模型的运行时验证方法,其特征在于,包括:步骤S1:根据系统需求、系统满足预期的安全属性,分别构建系统模型、性质模型;步骤S2:将所述系统模型和性质模型转化为模型描述语言;步骤S3:将所述模型描述语言转化为相应的数据模型;步骤S4:检测验证所述数据模型。2.根据权利要求1所述的基于模型的运行时验证方法,其特征在于,步骤S4包括:步骤S4.1:用例数据载入数据模型;其中,所述用例数据包括周期、周期下的变量;步骤S4.2:根据载入的数据模型模拟运行过程,并判断是否满足用户提出的性质需求;若满足,则验证通过并给出验证结果;若不满足,则验证不通过并反馈不通过的反例信息给用户;所述反例信息包括:违反性质所在的周期以及在所述周期下引发这个性质违规的变量信息。3.根据权利要求2所述的基于模型的运行时验证方法,其特征在于,所述检测和模型运行周期相关,在每一个周期运行结束的时候都对用户提出的性质需求进行检测并记录检测信息;在验证时,不会因检测出违反性质而停止模拟运行;在用例数据模拟运行的过程中记录每一个性质中的状态信息并根据当前周期下执行的状态信息直接计算获取验证结果。4.根据权利要求1所述的基于模型的运行时验证方法,其特征在于,所述步骤S2包括:步骤S2.1:检查所述系统模型和性质模型中的构件和构件间的连线正确性;步骤S2.2:针对模型的点边描述集合进行拓扑排序。5.根据权利要求1所述的基于模型的运行时验证方法,其特征在于,所述步骤S3包括:步骤S3.1:通过对所述模型描述语言进行词法和语法的处理生成抽象语法树;步骤S3.2:解析所述抽象语法树,并将数据结构存储至抽象语法树对应的...

【专利技术属性】
技术研发人员:刘颖娜符凯
申请(专利权)人:华东计算技术研究所中国电子科技集团公司第三十二研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1