[发明专利]基于XML的扩展Lustre代码生成方法在审
申请号: | 202310142370.8 | 申请日: | 2023-02-21 |
公开(公告)号: | CN116126304A | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 李浩宇;贾张涛;冯大成;张霄霄;张建伟;王磊;陶金龙;安恒;李雅斯;王云则;庞皓明;金玉川;孔祥炳;邵飒 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/40;G06F8/41 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 辛海明 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 xml 扩展 lustre 代码 生成 方法 | ||
本发明涉及一种基于XML的扩展Lustre代码生成方法,属于软件开发工具领域。本发明首先对扩展Lustre语言文法规则进行模块拆解,实现文法中关键词的解耦;定义模型持久化文件中的标签与扩展Lustre语言之间的映射关系;通过调用jdom2工具对模型持久化文件中的标签结构进行读取遍历,并按照文法关键词解耦结果设计对应的标签解析规则;按照解析规则将解析得到的标签生成对应扩展Lustre关键词,最终完成对整个模型持久化文件到扩展Lustre语言的代码生成过程。本发明为航天领域基于模型的软件开发工具开发过程中模型代码生成这一关键环节提供解决办法。
技术领域
本发明属于软件开发工具领域,具体涉及一种基于XML的扩展Lustre代码生成方法。
背景技术
随着基于模型的系统工程(Model Based Systems Enginerring,MBSE)等概念的提出,相比于传统软件系统工程,MBSE的理念更适合当下软件发展的趋势,传统的软件开发模式也正在被基于模型的开发方式所替代。
基于模型的软件开发工具主要包括建模工具实现、模型持久化、模型语言生成与可执行目标代码生成几个关键模块。建模工具的实现基于预定义好的文法规则,通过代码实现文法中各个元素之间的关系并通过可视化界面进行,是建模的第一步;模型持久化通过将模型转化为持久化文件(本发明中持久化文件以XML格式进行存储)实现模型到本地持久化的过程;模型语言生成通过以模型持久化文件作为输入,输出相应的模型语言(本发明中模型语言为扩展的Lustre语言);可执行代码生成通过对模型语言进行词法、语法分析等过程,实现对模型语言的编译,生成最后的可执行代码。
本发明针对航天领域基于模型的软件开发工具开发过程中模型代码生成部分,建模工具选择以XML数据格式进行模型持久化存储,模型持久化文件包括模型中元素(如输入输出、算子、包等)以及元素之间的组合关系,在模型语言转化过程中需要将这些信息全部保留并按照文法规则进行模型语言代码生成。针对模型语言的文法规则需要自定义,当下并没有XML解析工具可以实现从持久化文件到模型语言的翻译这一情况,本发明通过设计一种基于XML的扩展Lustre代码生成方法来填补这一空白。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于XML的扩展Lustre代码生成方法,以解决基于模型的软件开发工具中从持久化文件到模型文件这一关键步骤的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于XML的扩展Lustre代码生成方法,该方法包括如下步骤:
S1、基于扩展Lustre语言文法进行功能和模块拆解;
S2、通过jdom2工具进行持久化文件遍历
模型的XML持久化文件中包含了模型中标签以及各标签之间的关系,调用jdom2工具中定义的方法对标签内容进行抽取,并设计解析算法对标签之间的嵌套关系进行分析,最终实现对XML持久化文件的遍历,得到标签内容以及标签间的关系;
S3、定义XML标签到扩展Lustre语言的映射并完成代码转换
通过定义标签和扩展Lustre语言中关键词的关系,将模型中的逻辑关系转化为扩展Lustre的表达,最终完成代码生成过程。
进一步地,所述步骤S1具体包括:扩展Lustre语言通过巴科斯范式进行规则表达,按照功能和模块对Lustre语言文法内容进行拆解,用于后续对每个相对独立之间的模块进行遍历规则和函数方法的设计实现,拆解结果包括:程序Program和包结构、声明Declarations、表达式Express ion、等式Equat ion和状态机State Machine。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310142370.8/2.html,转载请声明来源钻瓜专利网。