车载系统面向服务的架构代码文件生成方法和装置与流程

文档序号:33988754发布日期:2023-04-29 14:27阅读:31来源:国知局
车载系统面向服务的架构代码文件生成方法和装置与流程

本发明主要涉及车载系统,尤其涉及一种车载系统面向服务的架构代码文件生成方法和装置。


背景技术:

1、随着汽车智能化、网络化水平不断提高,车辆的各个域控制器之间的通信越来越广泛的采用基于面向服务的架构(service-oriented architecture,soa)的网络通信架构,以实现大数据量通信和软件的灵活更新部署。

2、一些面向服务的架构代码文件的生成方式是,基于autosar的ap(adaptiveplatform,自适应平台)标准,其开发流程为:定义网络(以太网)服务通信矩阵,建立并验证服务模型,而后生成服务代码,再集成部署服务软件,前述实现方式存在以下缺陷:1)开发周期长:由于生成服务代码的工具必须基于服务建模的输出产物arxml文件,但因建模的数据量大,建模软件的计算复杂,以及数据和文件的格式转换过程皆较为耗时,故完成一轮服务建模和验证需要较长时间,一般需要十数天或更长时间。在建模完成前,开发人员无法进行开发工作。2)需求响应慢:在产品需求变更且更新了服务通信矩阵后,又需要重新进行建模验证,在此之前软件开发人员亦无法针对新的产品需求推进开发工作。


技术实现思路

1、本发明要解决的技术问题是提供一种车载系统面向服务的架构代码文件生成方法、装置和计算机可读介质,实现车载系统面向服务的架构代码文件的便捷高效生成。

2、为解决上述技术问题,本发明提供了一种车载系统面向服务的架构代码文件生成方法,接收车辆通信服务映射表文件,所述映射表文件包括服务接口定义映射表、数据类型定义映射表、服务部署映射表和服务发现映射表;获取所述服务接口定义映射表、数据类型定义映射表、服务部署映射表和服务发现映射表中的多个定义项和相应的映射值;根据所述多个定义项和相应的映射值生成服务目标代码文件和服务目标配置代码文件。

3、在本发明的一实施例中,所述多个定义项包括所述服务接口定义映射表中的多个定义项,所述服务接口定义映射表中的多个定义项包括服务名称、服务接口名称、服务接口类型、参数名称、参数发送方向、参考数据类型;每一所述服务名称对应有一个或多个服务接口名称,每一服务接口名称具有相应的服务接口类型,所述服务接口类型包括属性类和方法类;每一服务接口类型对应有参数名称、参数发送方向和参考数据类型定义项;

4、根据所述多个定义项和相应的映射值生成服务目标代码文件和服务目标配置代码文件包括:根据所述服务名称定义项和相应的映射值,生成以所述服务名称命名的服务代理类头文件和源文件,并在所述服务代理类头文件和源文件中生成与所述服务名称定义项和相应的映射值对应的所述服务代理类的构造函数的声明和定义;根据所述服务接口名称和服务接口类型生成相应的接口声明和接口代码。

5、在本发明的一实施例中,根据所述服务接口名称和服务接口类型生成相应的接口声明和接口代码包括:当所述服务接口类型为属性类时,根据参数名称和参考数据类型在所述头文件和源文件中分别生成对应的接口声明和接口代码;当所述服务接口类型为方法类时,根据参数名称、参数发送方向和参考数据类型生成对应的接口声明和接口代码。

6、在本发明的一实施例中,所述多个定义项包括所述数据类型定义映射表中的多个定义项,所述数据类型定义映射表中的多个定义项包括数据类型名称、数据类型类别、数据成员名称、数据成员参考数据类型和枚举值;根据所述多个定义项和相应的映射值生成服务目标代码文件和服务目标配置代码文件包括:根据所述数据类型名称生成以所述数据类型名称命名的数据类型定义头文件;读取并判断数据类型类别,并根据不同的数据类型类别和相应的映射值生成对应的代码。

7、在本发明的一实施例中,读取并判断数据类型类别,并根据不同的数据类型类别和相应的映射值生成对应的代码包括:当所述数据类型类别为结构体时,生成以所述数据类型名称命名的结构体框架代码;读取所述结构体数据类型类别对应的数据成员名称和数据成员参考数据类型,并在所述结构体框架代码中生成对应的结构体定义代码;当所述数据类型类别为枚举类时,生成以所述数据类型名称命名的枚举类框架代码;读取所述枚举类数据类型类别对应的数据成员参考数据类型,并在所述枚举类框架代码中生成对应枚举值代码;当所述数据类型类别为基础型时,使用重定义关键字将该基础型数据类型类别重定义为成员参考数据类型;成员参考数据类型包括浮点型或整型。

8、在本发明的一实施例中,所述多个定义项包括所述服务接口定义映射表中的多个定义项,所述服务接口定义映射表中的多个定义项包括服务名称、服务id、主要版本、次要版本、服务接口名称、服务接口类型、服务接口id和传输协议类型;根据所述多个定义项和相应的映射值生成服务目标代码文件和服务目标配置代码文件包括:根据所述服务名称,生成以所述服务名称命名的服务配置json文件,所述服务配置json文件包括服务类代码段;在所述服务类代码段中生成与所述服务名称、服务id、主要版本、次要版本对应的代码行;读取并判断所述服务接口类型定义项和相应的映射值,并根据不同的服务接口类型生成对应的服务接口代码。

9、在本发明的一实施例中,所述服务类代码段包括方法类子代码段、属性类子代码段、事件类子代码段,网络端点子代码段,服务发现子代码段,述服务类代码段包括相应的框架代码,多个子代码段包括相应的子框架代码;读取并判断所述服务接口类型定义项和相应的映射值,并根据不同的服务接口类型生成对应的服务接口代码包括:当所述服务接口类型为属性类时,读取服务接口名称和服务接口id在所述属性类子代码段中生成对应的属性类字段代码,并在所述事件类子代码段中生成对应的事件类字段代码;当所述服务接口类型为方法类时,读取服务接口名称、服务接口id和输出协议,并在所述方法类子代码段中生成对应的方法类字段代码。

10、在本发明的一实施例中,所述属性类字段代码中的服务id对应于属性类服务接口中的获取、设置和通知操作;所述事件类字段代码中的服务id对应于属性类服务接口中的通知操作。

11、在本发明的一实施例中,所述多个定义项包括所述服务部署映射表中的多个定义项,所述服务部署映射表中的多个定义项包括ip地址和子网掩码;根据所述多个定义项和相应的映射值生成服务目标代码文件和服务目标配置代码文件包括:读取所述ip地址、子网掩码、服务发现组播地址和服务发现端口号,在所述网络端点子代码段中生成相应的网络端点字段代码。

12、在本发明的一实施例中,所述多个定义项包括所述服务发现映射表中的多个定义项,所述服务发现映射表中的多个定义项包括服务发现端口号、服务发现组播地址、最小初始化时间、最大初始化时间、重复阶段基础时间、重复次数和客户端声明周期;根据所述多个定义项和相应的映射值生成服务目标代码文件和服务目标配置代码文件包括:读取最小初始化时间、最大初始化时间、重复阶段基础时间、重复次数和客户端生命周期,在所述服务发现子代码段中生成相应的服务发现字段代码。

13、在本发明的一实施例中,所述方法还包括:基于所述服务目标代码文件和服务目标配置代码文件,进行编译和集成,形成系统刷写镜像文件。

14、在本发明的一实施例中,每一所述服务名称对应于车辆的零部件或车辆的控制操作。

15、本发明还提供一种车载系统面向服务的架构代码文件生成装置,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如前任一项所述的方法。

16、本发明还提供存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如前任一项所述的方法。

17、与现有技术相比,本发明具有以下优点:本技术的技术方案,能够提高面向服务的架构(soa)代码文件生成效率,从而提高系统开发效率,并有利于系统功能的集成和调试。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1