技术新讯 > 计算推算,计数设备的制造及其应用技术 > 代码自动生成方法、计算机设备和存储介质与流程  >  正文

代码自动生成方法、计算机设备和存储介质与流程

  • 国知局
  • 2024-08-22 14:58:35

本技术涉及汽车领域,特别是涉及一种代码自动生成方法、计算机设备和存储介质。

背景技术:

1、随着智能汽车的发展,v2x(vehicle to everything,车联万物)应用也从演示项目逐步进入商业化应用领域。v2x box接入汽车内并非以独立ecu(electronic controlunit,电子控制单元)部件进行工作,它需要与其他ecu融合来实现车路协同应用,这样v2xbox上的软件模块需要与其他ecu的软件能进行高效可靠的信息交互,而基于ae(automotive ethernet,汽车以太网)的some/ip是承载v2x与其他ecu进行信息通信的基本协议,且some/ip是能实现soa(service oriented architecture,面向服务的架构)的方法、事件及属性的一种软件中间件。

2、因此,对于具体实现v2x box与其他ecu通信的方法、事件及属性的编码设计就成为非常必须与重要的软件开发研究工作。这些工作通常是需要手动使用fdepl(frankadeployment parameter language,franka发布参数语言)来重新描述分配各种服务id、方法id和事件id,软件工程师手动在编码实现基于some/ip的方法、事件及属性过程中,代码工作量比较大,编码效率低,代码质量不高。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种代码自动生成方法、装置、计算机设备和存储介质。

2、一方面,提供一种代码自动生成方法,所述方法包括:获取接口描述语言文件,所述接口描述语言文件包括服务的类型、参数及返回值;对所述接口描述语言文件解析,生成对应的元素表,所述元素表包含方法表、属性表、事件表;根据预设的基本参数和所述元素表,生成所述接口描述语言文件对应的基于汽车以太网some/ip的部署参数语言文件,所述部署参数语言文件包括所述服务的运行参数和部署信息。

3、可选的,所述对所述接口描述语言文件解析,生成对应的元素表,包括:按行读取所述接口描述语言文件;通过对所述接口描述语言文件词法分析,提取关键字,所述关键字包括方法、属性和事件;判断所述接口描述语言文件是否包含所述关键字;若是,则将所述接口描述语言文件中包含所述关键词的行录入所述元素表。

4、可选的,所述根据预设的基本参数和所述元素表,生成所述接口描述语言文件对应的基于汽车以太网some/ip的部署参数语言文件,包括:创建部署参数语言文件;遍历所述属性表,将所述属性表和所述属性表对应的基本参数作为第一部分写入所述部署参数语言文件;遍历所述方法表,将所述方法表和所述方法表对应的基本参数作为第二部分写入所述部署参数语言文件;遍历所述事件表,将所述事件表和所述事件表对应的基本参数作为第三部分写入所述部署参数语言文件;根据所述第一部分、第二部分和第三部分,生成所述接口描述语言文件对应的基于汽车以太网some/ip的部署参数语言文件。

5、可选的,所述遍历所述属性表,将所述属性表和所述属性表对应的基本参数作为第一部分写入所述部署参数语言文件,包括:按行检索所述属性表;根据所述属性表内容自动分配对应的预设的第一基本参数;所述第一基本元素包括服务id、方法id、事件id、事件群组id;将所述属性表内容和所述第一基本参数写入所述部署参数语言文件。

6、可选的,所述遍历所述方法表,将所述方法表和所述方法表对应的基本参数作为第二部分写入所述部署参数语言文件,包括:按行检索所述方法表;根据所述方法表内容自动分配对应的预设的第二基本参数;所述第二基本元素包括方法id;将所述方法表内容和所述第二基本参数写入所述部署参数语言文件。

7、可选的,所述遍历所述事件表,将所述事件表和所述事件表对应的基本参数作为第三部分写入所述部署参数语言文件,包括:按行检索所述事件表;根据所述事件表内容自动分配对应的预设的第三基本参数;所述第三基本元素包括事件id、事件群组id;将所述事件表内容和所述第三基本参数写入所述部署参数语言文件。

8、可选的,所述方法还包括:创建javascript对象表示法文件;遍历所述属性表,根据所述属性表创建对应的javascript对象,并自动进行相应配置;将所述属性表对应内容作为第一部分写入所述javascript对象表示法文件;遍历所述事件表,根据所述事件表创建对应的javascript对象,并自动进行相应配置;将所述事件表对应内容作为第二部分写入所述javascript对象表示法文件;根据所述第一部分和所述第二部分,生成所述部署参数语言文件对应的javascript对象表示法文件。

9、可选的,所述方法还包括:获取多个基于汽车以太网some/ip的部署参数语言文件对应的javascript对象表示法文件;根据所述多个基于汽车以太网some/ip的部署参数语言文件对应的javascript对象表示法文件,生成vsomeipd运行对应的javascript对象表示法文件。

10、可选的,所述根据所述多个基于汽车以太网some/ip的部署参数语言文件对应的javascript对象表示法文件,生成vsomeipd运行对应的javascript对象表示法文件,包括:创建javascript对象表示法文件,写入第一对象;所述第一对象包括vsomeipd运行于主机系统的单播ip地址、服务提供列表;搜索并合并多个基于汽车以太网some/ip的部署参数语言文件对应的javascript对象表示法文件;创建第二对象,将所述第二对象对应内容写入所述javascript对象表示法文件;所述第二对象包括多个基于汽车以太网some/ip的部署参数语言文件对应的服务提供列表;写入第三对象,生成所述vsomeipd运行对应的javascript对象表示法文件;所述第三对象包括服务发现,所述服务发现包括组播ip地址。

11、另一方面,提供了一种代码自动生成装置,所述装置包括:获取模块,用于获取接口描述语言文件;所述接口描述语言文件包括服务的类型、参数及返回值;第一生成模块,用于对所述接口描述语言文件解析,生成对应的元素表,所述元素表包含方法表、属性表、事件表;第二生成模块,用于根据预设的基本参数和所述元素表,生成所述接口描述语言文件对应的基于汽车以太网some/ip的部署参数语言文件;所述部署参数语言文件包括所述服务的运行参数和部署信息。

12、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取接口描述语言文件,所述接口描述语言文件包括服务的类型、参数及返回值;对所述接口描述语言文件解析,生成对应的元素表,所述元素表包含方法表、属性表、事件表;根据预设的基本参数和所述元素表,生成所述接口描述语言文件对应的基于汽车以太网some/ip的部署参数语言文件,所述部署参数语言文件包括所述服务的运行参数和部署信息。

13、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取接口描述语言文件,所述接口描述语言文件包括服务的类型、参数及返回值;对所述接口描述语言文件解析,生成对应的元素表,所述元素表包含方法表、属性表、事件表;根据预设的基本参数和所述元素表,生成所述接口描述语言文件对应的基于汽车以太网some/ip的部署参数语言文件,所述部署参数语言文件包括所述服务的运行参数和部署信息。

14、上述代码自动生成方法、装置、设备和存储介质,所述方法包括:获取接口描述语言文件,所述接口描述语言文件包括服务的类型、参数及返回值;对所述接口描述语言文件解析,生成对应的元素表,所述元素表包含方法表、属性表、事件表;根据预设的基本参数和所述元素表,生成所述接口描述语言文件对应的基于汽车以太网some/ip的部署参数语言文件,所述部署参数语言文件包括所述服务的运行参数和部署信息,本技术可以实现通过分析fidl文件自动生成some/ip源代码fdepl文件,如此,可以大幅减少构建some/ip对应的方法、事件及属性的工作量,以及自动生成的some/ip源代码无错误,代码质量高,易于智能汽车系统集成。

本文地址:https://www.jishuxx.com/zhuanli/20240822/280654.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。