一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种Ptolemy同步响应模型翻译的验证方法及插件与流程

2022-02-22 03:50:21 来源:中国专利 TAG:

一种ptolemy同步响应模型翻译的验证方法及插件
技术领域
1.本发明涉及计算机仿真、建模技术领域,具体而言,涉及一种ptolemy同步响应模型翻译的验证方法及插件。


背景技术:

2.ptolemy是一个开源的、面向角色的具有强大的建模仿真能力的集成环境。开发人员在进行实际设备研发前常常在ptolemy下构建模型,验证方案的可行性以节约研发成本。
3.建模是一个复杂且易错的过程,有错的模型将导致有错的实现,在系统运行之后再更正错误耗费巨大。在ptolemy中划分了多个域,例如:同步响应域、离散事件域、数据流域、连续时间域等,在不同的域中可以实现不同的模型搭建,以降低模型错误实现的概率,然而即便如此现有技术还是存在较高概率模型出错,因此需要对已经搭建好的模型进行验证。
4.然而ptolemy并不具备对模型进行形式化验证的能力。有大量实践数据可以证明,对模型进行形式化验证是至关重要的。现有技术中edward.lee曾在其论文中提出了一种能够将ptolemy同步响应模型中的fsm角色翻译为nusmv模型的方法,然后该方法存在以下缺陷:
5.1、所能够翻译的角色只有fsm actor,远远满足不了验证需求;2、对于复杂度高的模型往往会很频繁的使用层次化角色,而该方法未提出层次化角色的翻译方法;3、对于模型中各类角色的交互,该方法也没有提供相应的处理模式。


技术实现要素:

6.本发明提供的一种ptolemy同步响应模型翻译的验证方法及插件,用以克服现有技术中存在的至少一个技术问题。
7.第一方面,本发明提供的一种ptolemy同步响应模型翻译的验证方法,包括:
8.获取ptolemy同步响应模型;
9.将所述ptolemy同步响应模型翻译成nusmv模型;
10.其中,ptolemy同步响应模型由多个角色构成,所述nusmv模型由多个功能模块所组合而成,每个功能模块对应ptolemy同步响应模型中的一个角色;
11.分析所述nusmv模型中的危险情况和特征信息,将其抽象为描述为ctl公式;
12.生成ptolemy同步响应模型验证界面;
13.在所述ptolemy同步响应模型验证界面添加nusmv模型检测工具调用选项;
14.在所述ptolemy同步响应模型验证界面,选择nusmv模型检测工具调用选项以调用nusmv模型检测工具对所述ctl公式进行验证,完成对所述ptolemy同步响应模型的性质验证。
15.可选的,所述获取ptolemy同步响应模型包括:
16.从ptolemy集成环境中获取表示一个ptolemy同步响应模型的xml文件;
17.对所述xml文件进行读取,以获得ptolemy同步响应模型;
18.其中,所述ptolemy同步响应模型通过在ptolemy集成环境中选择sr director构建得到。
19.可选的,所述将所述ptolemy同步响应模型翻译成nusmv模型包括:
20.对ptolemy同步响应模型进行解析,获得各个角色的角色信息;
21.针对所述ptolemy同步响应模型中的每个角色,根据该角色的角色信息,将该角色翻译成nusmv中对应的模块,获得每个角色在nusmv中的模块;
22.将各个模块组合构成一个nusmv模型。
23.可选的,在获得各个角色的角色信息之后,所述ptolemy同步响应模型翻译的验证方法还包括:
24.将各个角色的角色信息存储至预先定义的角色容器中。
25.可选的,所述针对所述ptolemy同步响应模型中的每个角色,根据该角色的角色信息,将该角色翻译成nusmv中对应的模块,获得每个角色在nusmv中的模块包括:
26.查询预设的映射规则库,确定每个角色功能类型对应的映射规则;
27.遍历每个角色容器,根据同一功能类型对应的映射规则,对该功能类型对应的角色翻译成nusmv模块,获得每个角色在nusmv中的模块。
28.可选的,在所述ptolemy同步响应模型验证界面添加nusmv模型检测工具调用选项包括:
29.在ptolemy同步响应模型验证界面中添加对所述nusmv模型分别进行验证的验证工具组件、验证方式组件、验证性质组件以及验证结果组件。
30.可选的,在所述ptolemy同步响应模型验证界面,选择nusmv模型检测工具调用选项以调用nusmv模型检测工具对所述ctl公式进行验证,完成对所述ptolemy同步响应模型的性质验证包括:
31.在所述ptolemy同步响应模型验证界面,依次选择验证工具组件、验证方式组件、验证性质组件以及验证结果组件组件,以调用所述nusmv模型检测工具的应用接口对ctl公式进行验证,完成对所述ptolemy同步响应模型的性质验证。
32.可选的,在所述ptolemy同步响应模型验证界面,依次选择验证工具组件、验证方式组件、验证性质组件以及验证结果组件组件,以调用所述nusmv模型检测工具的应用接口对ctl公式进行验证,完成对所述ptolemy同步响应模型的性质验证包括:
33.选择验证工具组件后,生成检测所述nusmv模型的nusmv检测工具;
34.选择验证方式组件,生成一个可在nusmv检测工具中进行形式化验证的smv文件以及生成一个可在nusmv检测工具中进行形式化验证的临时smv文件;
35.选择所述验证性质组件所述调用所述nusmv检测工具读取临时smv文件、进行形式化验证的smv文件以对所述ctl公式进行验证;
36.选择验证结果组件,以返回ctl公式不满足验证条件时生成的错误案例,完成对所述ptolemy同步响应模型的性质验证。
37.其中,多个角色按照功能类型分为结果显示角色、功能角色和层次化角色。
38.第二方面,本发明提供的一种ptolemy同步响应模型翻译的验证插件,所述插件内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的ptolemy同
步响应模型翻译的验证方法的步骤。
39.本发明实施例的创新点包括:
40.1、本发明的一种ptolemy同步响应模型翻译的验证方法,将ptolemy同步响应模型翻译成nusmv模型,可以使用nusmv检测工具对nusmv模型进行仿真分析,同时可以黑盒的进行安全性、可达性的分析,是本发明实施例的创新点之一。
41.2、本发明的一种ptolemy同步响应模型翻译的验证方法,通过对各个角色进行翻译,然后组成nusmv模型,保留了ptolemy模型层次化的特点,避免了状态空间爆炸,是本发明实施例的创新点之一。
42.3、本发明的一种ptolemy同步响应模型翻译的验证方法,采用自动化的翻译方式将ptolemy同步响应模型翻译成nusmv模型,用户甚至无需掌握模型检测工具nusmv的具体使用方法,大大降低的形式化验证的工作成本,是本发明实施例的创新点之一。
43.4、本发明的一种ptolemy同步响应模型翻译的验证方法,查询统一的映射表进行翻译,以固定的翻译规则,使得翻译后的nusmv模型能够统一化,避免了人为翻译过程中可能出现的模型本身以外的问题,是本发明实施例的创新点之一。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1为本发明实施例提供的一种ptolemy同步响应模型翻译的验证方法的处理流程示意图;
46.图2为本发明实施例提供的步骤s1中的处理流程示意图;
47.图3为本发明实施例提供的中子步骤s3的处理流程示意图;
48.图4为本发明实施例提供的中步骤s32的处理流程示意图;
49.图5为本发明实施例提供的实现ptolemy同步响应模型翻译的验证方法中各个程序模块的结构示意图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
52.本发明实施例公开了一种ptolemy同步响应模型翻译的验证方法及插件。以下分别进行详细说明。
53.本发明提出了一种ptolemy同步响应模型翻译的验证方法,参考图1,图1为一种ptolemy同步响应模型翻译的验证方法的处理流程示意图。如图1所示,一种ptolemy同步响应模型翻译的验证方法包括如下步骤:
54.s1:获取ptolemy同步响应模型;
55.s2:将ptolemy同步响应模型翻译成nusmv模型;
56.其中,ptolemy同步响应模型由多个角色构成,nusmv模型由多个功能模块所组合而成,每个功能模块对应ptolemy同步响应模型中的一个角色;
57.值得说明的是:ptolemy模型是由多个角色构成的,将ptolemy同步响应模型翻译成适合模型验证的形式化模型,即nusmv模型。这样每个角色对应一个翻译成nusmv中的模块,将各个模块组合构成一个nusmv模型。
58.s3:分析nusmv模型中的危险情况和特征信息,将其抽象为描述为ctl公式;
59.s4:生成ptolemy同步响应模型验证界面;
60.值得说明的是ptolemy同步响应模型可以在ptolemy环境中生成,由于ptolemy同步响应模型通过读取文件或者新创建生成,验证该模型时在该环境下完成。
61.s5:在ptolemy同步响应模型验证界面添加nusmv模型检测工具调用选项;
62.s6:在ptolemy同步响应模型验证界面,选择nusmv模型检测工具调用选项以调用nusmv模型检测工具对ctl公式进行验证,完成对ptolemy同步响应模型的性质验证。
63.本发明提供的一种ptolemy同步响应模型翻译的验证方法,采用自动化的翻译方式通过对各个角色进行翻译,然后组成nusmv模型,保留了ptolemy模型层次化的特点,避免了状态空间爆炸;并且通过查询统一的映射表进行翻译,以固定的翻译规则,使得翻译后的nusmv模型能够统一化,避免了人为翻译过程中可能出现的模型本身以外的问题。并且用户甚至无需掌握模型检测工具nusmv的具体使用方法,大大降低的形式化验证的工作成本;使用nusmv检测工具对nusmv模型进行仿真分析,同时可以黑盒的进行安全性、可达性的分析,实现对ptolemy同步响应模型的安全性、可达性、死锁等性质的验证。
64.在一种实施例中,如图2所示,获取ptolemy同步响应模型包括:
65.s21:从ptolemy集成环境中获取表示一个ptolemy同步响应模型的xml文件;
66.s22:对xml文件进行读取,以获得ptolemy同步响应模型;
67.其中,ptolemy同步响应模型通过在ptolemy集成环境中选择sr director构建得到。
68.指的说明的是,本发明可以在ptolemy集成环境中构建新模型或者读取已有模型;过程为在ptolemy集成环境中选择sr director构建一个新的ptolemy同步响应模型;或在ptolemy集成环境中读取一个ptolemy同步响应模型的xml文件。
69.在一种实施例中,如图3所示,将ptolemy同步响应模型翻译成nusmv模型包括:
70.s31:对ptolemy同步响应模型进行解析,获得各个角色的角色信息;
71.本步骤可以在获取各个角色的角色信息后,将其存储至预先定义的角色容器中。
72.其中,多个角色按照功能类型分为结果显示角色、功能角色和层次化角色。
73.s32:针对ptolemy同步响应模型中的每个角色,根据该角色的角色信息,将该角色翻译成nusmv中对应的模块,获得每个角色在nusmv中的模块;
74.s33:将各个模块组合构成一个nusmv模型。
fsmactor会对fsmactor中的状态以及迁移路径进行遍历,所有状态会被翻译为nusmv中的一个状态变量,类型为枚举型;迁移路径上的条件表达式被翻译为nusmv中状态变量状态迁移的前置条件;目标状态则被作为新值被赋给状态变量。fsmactor中的其他变量采取和状态变量同样的翻译方式。
86.下述代码为fsmactor模板,包含枚举类型的状态变量state,值为state或state2,参数为输入端口参数input及其缺省值标志位。状态变量迁移以“前置条件:目标值”的形式给出(代码line5-10)。
[0087][0088]
对层次化角色的翻译:同步响应模型中的层次化角色包括两类:compositeactor和modalmodel,分别对应的翻译规则为图5中translation rules下的template of compositeactor和template of modalmodel。翻译逻辑都是将层次化角色及其内部的角色一一翻译成nusmv中的模块,将这些内部角色对应的模块实例作为层次化角色模块的变量,实现ptolemy中层次化角色到nusmv的翻译。
[0089]
template of compositeactor:如下述代码所示的compositeactor com,
[0090][0091]
其包含有两个角色,分别是a3和a4,翻译时,先将a3和a4翻译为单独的模块(module),然后让a3、a4的实例作为层次化角色com的一个变量(a3_instance,a4_instance)。输出变量为output和output1,值都是来自内部角色a4,分别表示具体的输出值以及输出值缺省标志位。层次化内部角色同时支持功能角色和层次化角色。
[0092]
template of modalmodel:modalmodel相当于层次化的fsmactor,ptolemy中,modalmodel下的状态允许用户添加refinement,refinement中用户可以进一步的制定更加细化的功能。modalmodel通过状态参数和下层的refinement进行交互,即modalmodel处于包含该refinement的状态时,才会触发该refinement。如下述代码所示的modalmodel modalmodel2,在其状态state下定义有一个refinement,refinement内定义了一个fsmactor,和单独的fsmac相比,refinement下的fsmactor会额外的需要一个来自上层modalmodel的状态参数upperstate,用来判断应该合适触发refinement中的fsmactor。
[0093][0094]
根据上述规则,把同步响应模型中的各个角色翻译为对应的nusmv模块,存储到专门的模块容器中,然后遍历容器中所有的模块,按照nusmv语法规则把这些模块组合成一个完整的nusmv模型。
[0095]
在一种实施例中,在ptolemy同步响应模型验证界面添加nusmv模型检测工具调用选项包括:
[0096]
在ptolemy同步响应模型验证界面中添加对nusmv模型分别进行验证的验证工具组件、验证方式组件、验证性质组件以及验证结果组件。
[0097]
值得说明的是:在ptolemy模型验证界面中添加nusmv模型检测工具调用及相关配套选项,包括验证工具的选择、验证方式的选择、验证性质的添加和验证结果的返回,此验证界面实现nusmv模型应用接口的调用。本发明可以通过组件添加设置选项按钮实现验证功能。
[0098]
在一种实施例中,在ptolemy同步响应模型验证界面,选择nusmv模型检测工具调用选项以调用nusmv模型检测工具对ctl公式进行验证,完成对ptolemy同步响应模型的性质验证包括:
[0099]
在ptolemy同步响应模型验证界面,依次选择验证工具组件、验证方式组件、验证性质组件以及验证结果组件组件,以调用nusmv模型检测工具的应用接口对ctl公式进行验证,完成对ptolemy同步响应模型的性质验证。
[0100]
值得说明的是ctl公式可用于验证nusmv模型的安全性、可达性、死锁。
[0101]
在一种实施例中,在ptolemy同步响应模型验证界面,依次选择验证工具组件、验证方式组件、验证性质组件以及验证结果组件组件,以调用nusmv模型检测工具的应用接口对ctl公式进行验证,完成对ptolemy同步响应模型的性质验证包括:
[0102]
s61:选择验证工具组件后,生成检测nusmv模型的nusmv检测工具;
[0103]
s62:选择验证方式组件,生成一个可在nusmv检测工具中进行形式化验证的smv文件以及生成一个可在nusmv检测工具中进行形式化验证的临时smv文件;
[0104]
s63:选择验证性质组件调用nusmv检测工具读取临时smv文件、进行形式化验证的smv文件以对ctl公式进行验证;
[0105]
s64:选择验证结果组件,以返回ctl公式不满足验证条件时生成的错误案例,完成对ptolemy同步响应模型的性质验证。
[0106]
验证方式的选择:(1)完成自动翻译过程后,在指定位置生成一个可在nusmv中进行形式化验证的smv文件,但不进行验证过程;(2)完成自动翻译过程后,生成一个可在nusmv中进行形式化验证的临时smv文件,调用nusmv工具读取临时文件和输入的验证性质,进行验证,返回验证结果后,自动删除临时文件。
[0107]
验证性质:根据ptolemy同步响应模型的特征抽象出ctl公式之后进行验证。
[0108]
验证结果的返回:当选择直接调用nusmv检测工具进行验证时,会返回输入的验证性质的验证情况:满足或者不满足,不满足时会会给出对应的错误案例。
[0109]
本发明提供一种插件,插件内存储有计算机程序,计算机程序执行时实现权利要求上述任一的ptolemy同步响应模型翻译的验证方法的步骤。
[0110]
值得说明的是,本发明可以提供插件,该插件是基于开源的ptolemy建模仿真集成环境并使用eclipse插件开发技术实现的。用户可以通过在ptolemy集成环境中使用该插件,完成上述ptolemy同步响应模型翻译的验证方法的步骤,实现对ptolemy同步响应模型的安全性、可达性、死锁等性质的验证。为了方便工程师对ctl验证公式的书写,改进性质公式的处理方式,以自动化的模型翻译、黑盒的模型检查器和可视化的ctl公式书写使模型验证成本大大减少。
[0111]
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0112]
本领域普通技术人员可以理解:实施例中的插件中的模块可以按照实施例描述分布于实施例的插件中,也可以进行相应变化位于不同于本实施例的一个或多个插件中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0113]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献