南京大学曹春获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉南京大学申请的专利一种基于关系代数的OCL至SQL代码生成方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119441361B 。
龙图腾网通过国家知识产权局官网在2025-10-24发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202411493497.5,技术领域涉及:G06F16/28;该发明授权一种基于关系代数的OCL至SQL代码生成方法是由曹春;陈哲霏设计研发完成,并于2024-10-24向国家知识产权局提交的专利申请。
本一种基于关系代数的OCL至SQL代码生成方法在说明书摘要公布了:本发明公开一种基于关系代数的OCL至SQL代码生成方法,设计了一种关系代数的扩展,通过证明该扩展关系代数的语义集与OCL的给定语义集等价,使得整体的代码生成工作可以通过先将OCL转化至关系代数表达式,再将所得的关系代数表达式转化为SQL查询语句的方式完成。除此以外,在OCL至关系代数的过程中,所得的表达式会经由优化算法来进行简化,以尽可能降低结果语句的复杂度。本发明具有自动高效、优化能力强、通用性高等特点,相较于现有技术在OCL语义的覆盖度以及结果语句的执行效率上均有较大提升。
本发明授权一种基于关系代数的OCL至SQL代码生成方法在权利要求书中公布了:1.一种基于关系代数的OCL至SQL代码生成方法,其特征在于,包括以下内容: 1设计OCL的上下文无关文法,该文法描述的是OCL不变式所包含的常用语义集,后将被用于解析输入的OCL语句及生成对应的关系代数表达式; 2设计扩展关系代数的上下文无关文法,该文法描述的是关系代数的基本操作符以及为了满足转化过程而被添加的额外操作符,将被用于OCL至关系代数的生成以及关系代数至SQL语句的生成; 3设计两个转化算法,分别用于OCL至关系代数以及关系代数至SQL的转化过程; 4设计优化算法,能够在OCL至关系代数翻译的过程中检测是否生成冗余操作符,并对存在冗余的结果进行简化处理; 所述1中,具体包括: 11OCL不变式作为OCL的子集,封装了所用的OCL语义,包含各算术运算符和逻辑运算符,以及设定的特殊操作符; 12OCL不变式基于当前的UML类来书写,一个不变式实例由当前类的各属性间的算术及逻辑运算语句组成,其返回结果为布尔值;复杂的不变式可包含不同类之间的属性运算,返回结果仍为布尔值; 13解析OCL语句的过程需要的输入文件分为类定义文件和OCL语句文件,其中类定义文件为JSON格式,OCL语句为文本格式,整体流程为:先读入类定义文件获取当前的类信息,再读入OCL语句文件,基于已获取的类信息来对OCL语句进行解析,最终输出结果为与输入OCL语句语义等价的关系代数表达式; 所述2中,具体包括: 21关系代数表达式由基本运算符、高级运算符以及关系自身组成,扩展关系代数在以上的基础上,额外加入了特殊操作符;所述基本运算符包括选择、投影和笛卡尔积;所述高级运算符包括自然连接;所述特殊操作符包括集合的势、取极值和集合排序; 22关系代数表达式在流程中由上一步被解析的OCL语句生成,并通过算法保证两者的语义等价; 23关系代数表达式在之后会被用于生成对应的SQL查询语句,这部分同样由对应的算法保证前后语义等价性; 所述3中,具体包括: 31OCL至关系代数的转化算法通过ANTLR提供的编译框架实现,使用定义好的OCL文法,算法将能够解析OCL语句得到对应的关系代数表达式,具体流程为:首先,输入的OCL语句将经由文法解析拆解成语法树,语法树的每个节点均会对应一个OCL子句,包含操作符及操作的参数;随后,当检测到当前语句无法再被细分时,从叶节点开始将操作符与参数对应地转化为关系代数表达式,再向上回溯;最终回溯至根节点时,将得到一个完整的能够表述整条OCL语句的关系代数表达式; 32关系代数至SQL语句的转化算法与上述31同理,在此过程中,算法将使用前文定义的扩展关系代数文法来把关系代数表达式解析为AST,再从叶节点开始回溯,转化AST得到对应的SQL语句; 所述4中,具体包括: 41优化算法的主要目标是避免在OCL至关系代数转化过程中产生冗余项,优化算法被集成在OCL至关系代数转化的过程中,具体表现为在每次处理完当前节点后,不立即回溯至上层节点,而是首先进行一次冗余检测; 42在冗余检测过程中,算法会仔细检查刚生成的关系代数表达式,寻找其中可能存在的重复计算、不必要的操作符或其他形式的冗余项;如果发现冗余,算法会对表达式进行改写或简化,以去除这些冗余部分。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人南京大学,其通讯地址为:210023 江苏省南京市栖霞区仙林大道163号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
以上内容由龙图腾AI智能生成。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

皖公网安备 34010402703815号
请提出您的宝贵建议,有机会获取IP积分或其他奖励