【技术实现步骤摘要】
一种基于形式化模型的ROS代码生成器及代码生成方法
本专利技术涉及一种基于形式化模型的ROS代码生成器及代码生成方法,是一种软件开发领域的自动代码生成技术,主要应用于高可靠性机器人系统的从设计模型到代码的自动实现系统,属于软件开发领域。
技术介绍
近年来,机器人被广泛地应用于各种各样的工业和生活领域,极大地推动了社会的发展。然而,机器人在推动社会快速发展的同时,也存在着许多的安全隐患,这要求机器人系统的开发必须满足其严格的安全性和可靠性需求。一种典型的方法是利用模型验证技术来检验系统的安全性需求和行为规范。该方法首先利用时间自动机对机器人系统的内部交互进行建模,然后根据模型抽象出与系统安全性和可靠性相关的需求规约并且将其转换成计算树逻辑。最后,利用模型验证技术来验证系统的安全性能是否得到满足。然而这种可视化的数据模型仅仅是在系统设计的初级阶段对系统交互行为的底层抽象,其并不能直接运行在机器人操作系统上。因此,为了将模型的行为控制映射为目标平台的动作输出,我们需要将可视化的模型结构转换成与其具有相同时序逻辑的操作代码。然而手动的代码转换不仅会引入许多人为的错误,系统 ...
【技术保护点】
1.一种基于形式化模型的ROS代码生成器,其特征在于:其由四部分构成:输入模块,Java解析器,逻辑控制器以及输出模块;所述的输入模块用于指定模型文件的类型,系统的时间自动机模型被映射成一个XML文件,该文件采用了抽象语法树结构来存储和定义模型中的状态、转换等数据元素以及元素之间的依赖关系;Java解析器:用于实现从模型到代码的低层抽象,所述的解析器读取XML文档并且提取文件中的数据元素;然后,根据所提取的数据元素构建一系列的数据表,其中包含三张静态查找表和一张动态查找表;逻辑控制器:用于实现从模型到代码的高层抽象,所述的逻辑控制器读取表格中的数据元素,然后根据模型内部的状 ...
【技术特征摘要】
1.一种基于形式化模型的ROS代码生成器,其特征在于:其由四部分构成:输入模块,Java解析器,逻辑控制器以及输出模块;所述的输入模块用于指定模型文件的类型,系统的时间自动机模型被映射成一个XML文件,该文件采用了抽象语法树结构来存储和定义模型中的状态、转换等数据元素以及元素之间的依赖关系;Java解析器:用于实现从模型到代码的低层抽象,所述的解析器读取XML文档并且提取文件中的数据元素;然后,根据所提取的数据元素构建一系列的数据表,其中包含三张静态查找表和一张动态查找表;逻辑控制器:用于实现从模型到代码的高层抽象,所述的逻辑控制器读取表格中的数据元素,然后根据模型内部的状态转换机制定义时序控制规则,最后逻辑控制器将与时间自动机模型的控制转换相一致的时序规则抽象成逻辑规约的形式,并且将该规约用C++代码的形式呈现出来;输出模块:用于将以C++代码形式所表示的抽象时序规约写入到C++文件中,其中包含三个源文件和四个头文件。2.一种基于形式化模型的ROS代码生成方法,其特征在于:该方法具体包括如下步骤:S1、建立模型对系统进行可视化建模,系统组件间的交互能够被建模成一个时间自动机网络,系统在不同时刻的状态被映射成模型中的节点,状态之间的迁移对应于模型里的转换;一旦标记在边上或节点中的条件满足指定要求,则转换发生;其中,文本编辑器定义了模型转换中涉及到的变量、函数,以此来支持转换的执行;S2、解析模型数据并且构建数据表时间自动机的存储和转换依赖于一系列由Java解析器构建的数据表;其中,静态表存储了模型中可视化的数据元素...
【专利技术属性】
技术研发人员:王瑞,张芮,关永,李晓娟,施智平,李欣欣,
申请(专利权)人:首都师范大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。