[发明专利]一种ROS底层通讯机制的形式化建模与验证方法有效
申请号: | 202110365733.5 | 申请日: | 2021-04-06 |
公开(公告)号: | CN113127344B | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 郭建;王子健;孙正旺 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海德禾翰通律师事务所 31319 | 代理人: | 夏思秋 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ros 底层 通讯 机制 形式化 建模 验证 方法 | ||
1.一种ROS底层通讯机制的形式化建模与验证方法,其特征在于,包括以下步骤:
步骤一:根据开源的ROS实现源码,提取出ROS包含的各个功能模块,以及各模块的功能和规则描述,然后建立其关于底层主题通信机制的形式化模型;所述步骤一建立形式化模型包括以下步骤:
步骤A1:从ROS开源代码中提取所要建模与描述的主节点、节点、发布器、订阅器、主题管理器和链接六个重要模块以及它们的功能与规则;
所述功能包括节点注册、建立链接、发布消息、订阅消息、执行回调;
步骤A2:根据主节点、节点、发布器、订阅器、主题管理器和链接六个模块的功能与规则描述提取出六个模块之间的同步关系,并用消息函数与通道进行表示;
步骤A3:根据消息函数与通道表示的模块之间的同步关系,对每个模块进行形式化建模,并将各模块的建模结果进行组合,结合形成完整的形式化模型;
步骤二:从“发布/订阅”通讯机制中提取需要验证的关键性质,并用时态逻辑语言来描述性质;所述关键性质包括:无死锁性、可达性、活性与正确性;
步骤三:使用形式化验证工具,通过所建立的形式化模型,结合具体的ROS应用实例,对提取的关键性质进行形式化验证,并对验证结果进行分析;
步骤四:根据步骤三的分析结果,如果所建立的形式化模型不满足所有关键性质,则修改ROS源代码或对ROS应用程序进行改进,直至满足所有关键性质;如果满足所有关键性质,则无需进行改进,获得正确的ROS代码或ROS发布订阅应用程序。
2.如权利要求1所述的ROS底层通讯机制的形式化建模与验证方法,其特征在于,所述步骤二从“发布/订阅”通讯机制中提取关键性质,用时态逻辑语言描述性质包括以下步骤:
步骤B1:从“发布/订阅”通讯机制的描述中提取ROS应用所必备的关键性质;
步骤B2:根据提取出的关键性质,使用时态逻辑语言,进行对关键性质的形式化表述;
所述关键性质包括:无死锁性、可达性、活性与正确性。
3.如权利要求2所述的ROS底层通讯机制的形式化建模与验证方法,其特征在于,所述步骤三使用形式化验证工具,通过所建立的形式化模型结合具体的ROS发布订阅应用实例,对提取的关键性质进行形式化验证,并对验证结果进行分析包括以下步骤:
步骤C1:根据所述步骤A3形成的形式化模型,在形式化验证工具中建立符合形式化验证工具规则的ROS通讯机制中的形式化模型;
步骤C2:根据所述步骤B2所得到的待验证关键性质的时态逻辑语言表述,在形式化验证工具中转化为符合形式化验证工具规则的表述形式;
步骤C3:在模型声明中,创建一个ROS应用实例情景,在形式化验证工具中描述应用实例中的订阅关系;
步骤C4:根据步骤C1中的形式化模型和步骤C3中的ROS应用实例,对步骤C2中的时态逻辑语言表述的关键性质进行模拟和验证,并对结果进行分析。
4.如权利要求3所述的ROS底层通讯机制的形式化建模与验证方法,其特征在于,所述步骤四修改ROS源代码或ROS机器人应用程序直至满足所有关键性质包括以下步骤:
步骤D1:如果步骤C4的分析结果与模拟存在不满足一条或多条关键性质的反例,则找出不满足所述关键性质的路径状态,并执行步骤D2;否则得到正确的ROS代码或ROS发布订阅应用程序;
步骤D2:根据路径状态得到源代码或ROS应用程序中对应的执行代码,进行完善和修改;
步骤D3:重复步骤C4,如果模拟验证结果不满足所有关键性质,则重新执行步骤D1,否则说明已经得到正确的ROS代码或ROS发布订阅应用程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110365733.5/1.html,转载请声明来源钻瓜专利网。