[发明专利]一种基于形式化模型的ROS代码生成器及代码生成方法有效
申请号: | 201910307270.X | 申请日: | 2019-04-17 |
公开(公告)号: | CN110109658B | 公开(公告)日: | 2022-08-23 |
发明(设计)人: | 王瑞;张芮;关永;李晓娟;施智平;李欣欣 | 申请(专利权)人: | 首都师范大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/35 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 李娜 |
地址: | 100048 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 形式化 模型 ros 代码 生成器 生成 方法 | ||
本发明公开一种基于形式化模型的ROS代码生成器,由四部分构成:输入模块,Java解析器,逻辑控制器以及输出模块;及一种基于形式化模型的ROS代码生成方法,包括如下步骤:S1、建立模型;S2、解析模型数据并且构建数据表;S3、定义模型到代码的映射规则;S4、进行代码生成。本发明优点及功效在于:本发明能够从UPPAAL工具验证的时间自动机模型中快速、高效地生成可执行的C++代码,不仅避免了手写代码容易引入错误的情况,而且极高地提高了代码生成的效率,提高准确率,从而缩短了软件开发的周期。
技术领域
本发明涉及一种基于形式化模型的ROS代码生成器及代码生成方法,是一种软件开发 领域的自动代码生成技术,主要应用于高可靠性机器人系统的从设计模型到代码的自动实 现系统,属于软件开发领域。
背景技术
近年来,机器人被广泛地应用于各种各样的工业和生活领域,极大地推动了社会的发 展。然而,机器人在推动社会快速发展的同时,也存在着许多的安全隐患,这要求机器人 系统的开发必须满足其严格的安全性和可靠性需求。
一种典型的方法是利用模型验证技术来检验系统的安全性需求和行为规范。该方法首 先利用时间自动机对机器人系统的内部交互进行建模,然后根据模型抽象出与系统安全性 和可靠性相关的需求规约并且将其转换成计算树逻辑。最后,利用模型验证技术来验证系 统的安全性能是否得到满足。然而这种可视化的数据模型仅仅是在系统设计的初级阶段对 系统交互行为的底层抽象,其并不能直接运行在机器人操作系统上。因此,为了将模型的 行为控制映射为目标平台的动作输出,我们需要将可视化的模型结构转换成与其具有相同 时序逻辑的操作代码。然而手动的代码转换不仅会引入许多人为的错误,系统的正确性难 以被保障;而且还会降低软件的开发效率,延长软件的开发周期。
针对这一问题,研究者将自动代码生成技术应用于模型驱动开发领域,并在此基础上 提出了多种解决方案。乌普萨拉大学开发的原型C代码生成工具Times tool是一个包含自 动代码生成功能的集成开发工具包。该工具能够从含有任务调度的时间自动机中自动地生 成可执行的C代码。但生成的代码主要是用于基于BrickOs操作系统的乐高机器人,而ROS 开发环境的主要特点比如节点,话题等没有被嵌入到生成的代码框架。开源的模型驱动开 发工具ROSMOD利用元语言对ROS工作空间进行建模并且能够将构造的系统模型自动地 转换成可执行的VHDL代码。然而,代码转换单元只负责将嵌入在模型中的业务逻辑代码 提取出来并放置在生成骨架的相应部分,对于模型和操作代码的严格的形式化检测功能尚 未被支持。
发明内容
为了保证系统的形式化模型与其实现机制的一致性,同时提高代码生成的效率和正确 性,本发明提供一种基于形式化模型的ROS代码生成器及代码生成方法。本发明能够从满 足UPPAAL验证需求的机器人系统模型中自动地生成可执行的C++代码,生成的代码提供 了一种与ROS系统相适应的框架结构,并且支持新的、可模块化的ROS指令的封装和调用,具有极大的灵活性和可扩展性。通过在ROS平台上运行生成的代码,能够实现与手写 代码一致的机器人的运动控制。本发明不仅降低了手工编码引入错误的概率,而且提高了 代码生成的质量和效率,从而为ROS系统的开发提供了便利。
本发明一种基于形式化模型的ROS代码生成器,设计原理如图1所示。它是由四部分 构成:输入模块(Input),Java解析器(Parser),逻辑控制器(Controller)以及输出模块(Output)。下面分别对其介绍:
输入模块:所述的输入模块用于指定模型文件的类型,系统的时间自动机模型被映射 成一个XML文件,该文件采用了抽象语法树结构来存储和定义模型中的状态、转换等数 据元素以及元素之间的依赖关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于首都师范大学,未经首都师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910307270.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种GPU微指令探测方法
- 下一篇:一种实现前端应用脚手架的系统和服务器