掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及新能源汽车技术领域,特别是涉及一种汽车软件架构、模块关联方法、计算机设备和存储介质。

背景技术

随着汽车行业的快速发展,汽车主要通过控制器域网的通信方式在各控制器间进行交互,以实现复杂的功能服务。

但是,在通过如Simulink、MATLAB等工具链对汽车功能服务进行开发、数据分析、仿真建模等过程中,因为汽车架构中各模块间的冗余度高、耦合性强、会造成工具链连线复杂、代码映射异常,进而导致如信号循环、信号定义不一致等信号交互异常的问题,还会造成功能服务的时序冲突,无法对根据信号交互对汽车架构中的各模块进行有效地关联。

发明内容

基于此,提供一种汽车软件架构、模块关联方法、计算机设备和存储介质,解决现有技术中汽车软件架构开发过程中的模块关联效率低的问题。

一方面,提供一种汽车软件架构,所述软件架构包括:

运行模块,用于提供软件架构运行环境,并通过所述软件架构运行环境和电子控制单元进行通信;

中间件模块,所述中间件模块与所述运行模块连接,所述中间件模块包括第一中间件和第二中间件,其中,所述第一中间件用于转换信号类型,所述第二中间件用于根据模块信息和/或信号信息对所述软件架构中的模块进行连线;

输入模块,所述输入模块与所述中间件模块连接,所述输入模块用于接收经过所述第一中间件转换后的信号;

逻辑运算模块,所述逻辑运算模块与所述输入模块连接,所述逻辑运算模块用于根据所述转换后的信号进行逻辑运算,得到逻辑控制信号;

输出模块,所述输出模块分别与所述逻辑运算模块和所述中间件模块连接,所述输出模块用于将所述逻辑控制信号输出至所述第一中间件,所述第一中间件将所述逻辑控制信号进行转换并通过所述运行模块传输至所述电子控制单元,以使所述电子控制单元实现汽车功能。

在其中一个实施例中,逻辑运算模块包括:

至少一个逻辑运算子模块,所述逻辑运算子模块用于提供分布式的逻辑运算子服务;

所述第二中间件根据模块信息和/或信号信息将至少一个所述逻辑运算子模块进行连线;

所述逻辑运算模块根据连线后的所述逻辑运算子模块进行逻辑运算,得到所述逻辑控制信号。

另一方面,还提供一种基于汽车软件架构的模块关联方法,所述方法可以应用于上述实施例中的软件架构中,所述方法包括:

中间件模块获取软件架构中的模块信息和信号信息;

所述中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述软件架构中的模块进行连线,得到交互链路;

经过连线的所述模块根据所述交互链路并按照调度时序表进行信号交互。

在其中一个实施例中,中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述软件架构中的模块进行连线,得到交互链路,包括:

所述中间件模块根据所述模块名称信息或所述信号名称信息进行字符检索,得到所述模块信息或所述信号信息互相匹配的待关联模块或待关联信号;

将互相匹配的所述待关联模块进行连线,得到所述交互链路;

或,查找与互相匹配的所述待关联信号对应的所述软件架构中的模块,并将所述软件架构中的模块进行连线,得到所述交互链路。

在其中一个实施例中,中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述汽车架构中的模块进行连线,得到交互链路,包括:

若所述中间件模块检测到用于触发所述软件架构中的模块运行的触发信号,则根据所述触发信号,将发送所述触发信号的模块和接收所述触发信号的模块进行连线,得到所述交互链路。

在其中一个实施例中,中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述汽车架构中的模块进行连线,得到交互链路,包括:

若所述中间件模块需要与所述软件架构中的模块进行通信,则将所述中间件模块和所述软件架构中的模块进行连线,得到所述交互链路。

在其中一个实施例中,中间件模块获取软件架构中的模块信息和信号信息,包括:

所述中间件模块检测并判断获取到的信号的类型信息为单信号或结构体信号,其中,所述单信号用于与电子控制单元的通信,所述结构体信号用于与逻辑运算模块的通信;

若所述信号的所述类型信息为单信号,则通过中间件模块对所述信号进行类型转换,得到可以被所述逻辑运算模块使用的结构体信号。

在其中一个实施例中,在所述得到可以被所述逻辑运算模块使用的结构体信号之后,还包括:

所述逻辑运算模块根据所述结构体信号中的标识信息对所述结构体信号进行拆分重组,得到重新排序后的结构体信号,以防止所述结构体信号被解析。

在其中一个实施例中,在所述按照预设的连线规则对所述汽车架构中的模块进行连线之前,还包括:

所述中间件模块将所述软件架构中的模块的信号交互类型进行对比,判断所述软件架构中的模块的所述信号交互类型是否匹配;

若是,则所述中间件模块根据所述连线规则对所述软件架构中的模块进行连线。

在其中一个实施例中,在所述按照预设的连线规则对所述汽车架构中的模块进行连线之前,还包括:

所述逻辑运算模块进行逻辑建模,得到用于执行逻辑运算的逻辑运算模型;

根据所述逻辑运算模型对所述软件架构进行代码编译,得到架构文件,其中,所述架构文件记录了所述软件架构中的模块的接口信息;

判断待关联的所述软件架构中的模块的所述接口信息是否匹配;

若是,则根据所述模块信息和/或所述信号信息,将所述接口信息匹配的所述软件架构中的模块进行连线,得到所述交互链路。

再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下软件架构:

运行模块,用于提供软件架构运行环境,并通过所述软件架构运行环境和电子控制单元进行通信;

中间件模块,所述中间件模块与所述运行模块连接,所述中间件模块包括第一中间件和第二中间件,其中,所述第一中间件用于转换信号类型,所述第二中间件用于根据模块信息和/或信号信息对所述软件架构中的模块进行连线;

输入模块,所述输入模块与所述中间件模块连接,所述输入模块用于接收经过所述第一中间件转换后的信号;

逻辑运算模块,所述逻辑运算模块与所述输入模块连接,所述逻辑运算模块用于根据所述转换后的信号进行逻辑运算,得到逻辑控制信号;

输出模块,所述输出模块分别与所述逻辑运算模块和所述中间件模块连接,所述输出模块用于将所述逻辑控制信号输出至所述第一中间件,所述第一中间件将所述逻辑控制信号进行转换并通过所述运行模块传输至所述电子控制单元,以使所述电子控制单元实现汽车功能;

或,所述处理器执行所述计算机程序时实现以下方法步骤:

中间件模块获取软件架构中的模块信息和信号信息;

所述中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述软件架构中的模块进行连线,得到交互链路;

经过连线的所述模块根据所述交互链路并按照调度时序表进行信号交互。

又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下软件架构:

运行模块,用于提供软件架构运行环境,并通过所述软件架构运行环境和电子控制单元进行通信;

中间件模块,所述中间件模块与所述运行模块连接,所述中间件模块包括第一中间件和第二中间件,其中,所述第一中间件用于转换信号类型,所述第二中间件用于根据模块信息和/或信号信息对所述软件架构中的模块进行连线;

输入模块,所述输入模块与所述中间件模块连接,所述输入模块用于接收经过所述第一中间件转换后的信号;

逻辑运算模块,所述逻辑运算模块与所述输入模块连接,所述逻辑运算模块用于根据所述转换后的信号进行逻辑运算,得到逻辑控制信号;

输出模块,所述输出模块分别与所述逻辑运算模块和所述中间件模块连接,所述输出模块用于将所述逻辑控制信号输出至所述第一中间件,所述第一中间件将所述逻辑控制信号进行转换并通过所述运行模块传输至所述电子控制单元,以使所述电子控制单元实现汽车功能;

或,所述计算机程序被处理器执行时实现以下方法步骤:

中间件模块获取软件架构中的模块信息和信号信息;

所述中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述软件架构中的模块进行连线,得到交互链路;

经过连线的所述模块根据所述交互链路并按照调度时序表进行信号交互。

上述汽车软件架构、模块关联方法、计算机设备和存储介质,通过中间件模块获取软件架构中的模块信息和通信的信号信息,根据模块信息和信号信息并按照预设的连线规则将软件架构中的模块进行连线,得到交互链路,以使软件架构中的模块信息相匹配的模块和信号信息相匹配的模块能够进行自动连线并关联,提升了汽车软件架构中的模块关联效率,根据信号对模块进行连线也避免了信号冲突问题,经过连线后的所述模块根据所述交互链路并按照调度时序表进行信号交互,也避免了时序冲突问题。

附图说明

图1为一个实施例中汽车软件架构的架构示意图;

图2为一个实施例中模块关联方法的流程示意图;

图3为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。

随着汽车行业的快速发展,汽车主要通过控制器域网的通信方式在各控制器间进行交互,以实现复杂的功能服务。

但是在通过如Simulink、MATLAB等工具链对汽车功能服务进行开发、数据分析、仿真建模等过程中,因为汽车架构中各模块间的冗余度高、耦合性强、会造成工具链连线复杂、代码映射异常,进而导致如信号循环、信号定义不一致等信号交互异常的问题,还会造成功能服务的时序冲突,无法对根据信号交互对汽车架构中的各模块进行有效地关联。

为解决现有技术中汽车架构中的模块关联效率低的问题,本申请提出一种汽车软件架构、模块关联方法、计算机设备和存储介质。

现对一种汽车软件架构进行示例性地说明。

在一个实施例中,如图1所示,提供了一种汽车软件架构,其特征在于,该架构包括:

运行模块101,用于提供软件架构运行环境,并通过所述软件架构运行环境和电子控制单元进行通信。

其中,运行环境是指汽车软件架构相关代码在目标机器上运行的环境,电子控制单元(Electronic Control Unit,ECU)可以是汽车上的一些汽车部件或元件,如微控制器(Microcontroller Unit,MCU)、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、输入接口、输出接口、模数转换器以及整形、驱动等集成电路。

具体地,运行模块所提供的运行环境能够运行汽车软件架构,并与汽车中的一些部件或元件进行通信,以使这些部件或元件所发出的信号能够传输到汽车软件架构中。

中间件模块102,所述中间件模块与所述运行模块连接,所述中间件模块包括第一中间件和第二中间件,其中,所述第一中间件用于转换信号类型,所述第二中间件用于根据模块信息和/或信号信息对所述软件架构中的模块进行连线。

其中,中间件模块包括但不限于第一中间件和第二中间件,根据汽车的功能需求能够对中间件进行添加、删除或更改。中间件模块是为了将汽车软件架构中的一些软件模块或应用模块进行衔接,以便于软件架构中的模块能够进行通信。

输入模块103,所述输入模块与所述中间件模块连接,所述输入模块用于接收经过所述第一中间件转换后的信号。

其中,输入模块主要是可用于将一些经过信号转换的设备信号或汽车部件信号传输到具有计算能力的模块进行程序处理。

逻辑运算模块104,所述逻辑运算模块与所述输入模块连接,所述逻辑运算模块用于根据所述转换后的信号进行逻辑运算,得到逻辑控制信号。

具体地,逻辑运算模块集合了若干逻辑操作,可以根据接收到的信号进行相关的逻辑运算,且与逻辑运算模块连接的输入端口可以有一个或多个,在此不做限定。

输出模块105,所述输出模块分别与所述逻辑运算模块和所述中间件模块连接,所述输出模块用于将所述逻辑控制信号输出至所述第一中间件,所述第一中间件将所述逻辑控制信号进行转换并通过所述运行模块传输至所述电子控制单元,以使所述电子控制单元实现汽车功能。

在其中一个实施例中,逻辑运算模块包括:

至少一个逻辑运算子模块,所述逻辑运算子模块用于提供分布式的逻辑运算子服务;

所述第二中间件根据模块信息和/或信号信息将至少一个所述逻辑运算子模块进行连线;

所述逻辑运算模块根据连线后的所述逻辑运算子模块进行逻辑运算,得到所述逻辑控制信号。

需要说明的是,逻辑运算模块中包括了至少一个逻辑运算子模块,逻辑运算子模块可以提供至少一种逻辑运算方法或逻辑运算代码,逻辑运算模块可以通过将逻辑运算子模块进行组合来实现算法复杂度更高的运算方法和更为复杂的架构,其中,逻辑运算子模块间的连接可以使用标准服务化接口,如AutoSar(AUTOmotive Open SystemArchitecture,汽车开放架构系统)的各版本协议。可以理解的是,将软件架构中的多个模块进行连接会难以避免地涉及到模块连线、信号映射和代码映射等问题。

在其中一个实施例中,汽车软件架构还包括:

至少一个原子服务模块,与逻辑运算模块连接,用于提供基础的原子服务。

其中,原子服务指的是业务上最小颗粒度的一系列操作,比如氛围灯的颜色控制指令、升降车窗指令等。原子服务一般和硬件功能有关,硬件功能决定了原子服务的范围。

原子服务模块可以被逻辑运算模块或逻辑运算子模块调用,以使逻辑运算模块或逻辑运算子模块能够利用一个或多个原子服务,通过判断逻辑来实现比原子服务的算法复杂度更高的组合服务,比如通过结合光照条件、开关状态等条件实现氛围灯的自动控制功能。

本申请还提供了一种模块关联方法,可以应用于如图1所示的软件架构中,现对模块关联方法进行示例性地说明。

在一个实施例中,如图2所示,提供了一种模块关联方法,以该方法应用于图1中的软件架构为例进行说明,包括以下步骤:

步骤201,中间件模块获取软件架构中的模块信息和信号信息。

其中,模块信息包括模块的名称信息、信号交互类型以及接口信息等,信号信息包括信号的名称信息、类型信息以及信号所承载的数据等。

步骤202,所述中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述软件架构中的模块进行连线,得到交互链路。

具体地,当中间件模块获取到模块信息和/或信号信息后,则可以根据预设的连线规则对软件架构中的模块进行连线,得到对应的交互链路,并确定软件架构中的关联关系。

步骤203,经过连线的所述模块根据所述交互链路并按照调度时序表进行信号交互。

其中,调度时序表是用于通过时序调度机制对汽车服务进行调度管理的,尤其是对逻辑运算子模块中的运行的任务进行调度管理,使软件架构中运行的任务具有一定时序规则,防止出现时序紊乱等问题。

需要说明的是,调度时序表可以是预设的,也可以是从其它具有存储功能的设备或部件,如云端服务器等,进行获取或更新的。

上述模块关联方法中,通过中间件模块获取软件架构中的模块信息和通信的信号信息,根据模块信息和信号信息并按照预设的连线规则将软件架构中的模块进行连线,得到交互链路,以使软件架构中的模块信息相匹配的模块和信号信息相匹配的模块能够进行自动连线并关联,提升了汽车软件架构中的模块关联效率,根据信号对模块进行连线也避免了信号冲突问题,经过连线后的所述模块根据所述交互链路并按照调度时序表进行信号交互,也避免了时序冲突问题。通过模块关联方法,提升了汽车软件架构中的模块关联效率,避免了模块关联过程中可能造成的时序问题、信号交互问题等。

在其中一个实施例中,中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述软件架构中的模块进行连线,得到交互链路,包括:

所述中间件模块根据所述模块名称信息或所述信号名称信息进行字符检索,得到所述模块信息或所述信号信息互相匹配的待关联模块或待关联信号;

将互相匹配的所述待关联模块进行连线,得到所述交互链路;

或,查找与互相匹配的所述待关联信号对应的所述软件架构中的模块,并将所述软件架构中的模块进行连线,得到所述交互链路。

需要说明的是,关于本实施例提供的连线过程,可以通过对模块信息中的模块名称信息进行字符检索,得到模块名称信息互相匹配的若干个待关联模块,并将待关联模块进行连线,得到用于信号交互的交互链路;

或是通过对信号信息中的信号名称信息进行字符检索,得到信号名称信息互相匹配的若干个待关联信号,将待关联信号进行映射关联,并查找到与待关联信号对应的模块进行对应地连线,以通过信号映射关系实现模块连线。

在其中一个实施例中,中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述汽车架构中的模块进行连线,得到交互链路,包括:

若所述中间件模块检测到用于触发所述软件架构中的模块运行的触发信号,则根据所述触发信号,将发送所述触发信号的模块和接收所述触发信号的模块进行连线,得到所述交互链路。

需要说明的是,关于本实施例提供的连线过程,可以根据软件架构中一些模块的触发信号进行连线,具体地,在模块触发信号发生时,触发信号通常会承载着信号发送端的信息和信号接收端的信息,这是一种信号交互流向,因此可以通过触发信号来将发送触发信号的模块和接收触发信号的模块进行连线,得到交互链路,以使触发信号的发送端和触发信号的接收端能够建立一定时间的通信关系。

在其中一个实施例中,中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述汽车架构中的模块进行连线,得到交互链路,包括:

若所述中间件模块需要与所述软件架构中的模块进行通信,则将所述中间件模块和所述软件架构中的模块进行连线,得到所述交互链路。

可以理解的是,因为中间件模块在软件架构中起到一种衔接作用,以便于软件架构中的模块能够进行通信,所以中间件模块在连线的时候,可以根据架构中各模块对于中间件模块的调用关系进行连线,即可认为是根据中间件模块的实际使用模块进行连线。

在其中一个实施例中,中间件模块获取软件架构中的模块信息和信号信息,包括:

所述中间件模块检测并判断获取到的信号的类型信息为单信号或结构体信号,其中,所述单信号用于与电子控制单元的通信,所述结构体信号用于与逻辑运算模块的通信;

若所述信号的所述类型信息为单信号,则通过中间件模块对所述信号进行类型转换,得到可以被所述逻辑运算模块使用的结构体信号。

其中,单信号和结构体信号指的是信号的类型,单信号主要用于和电子控制单元的通信,如控制器域网信号(Controller Area Network,CAN)、可变波特率的控制器域网信号(CAN with Flexible Data-rate,CANFD)及以太网信号等。结构体信号主要用于和逻辑运算模块的通信,是一种面向应用程序运行过程中的信号数据,通常是由一批数据组合而成的结构型数据,结构体中的数据可以由程序设计者自定义的,结构体的形式主要是为了通过封装的方式,使得结构体中的数据具备复用性。

因此,当接收到如电子控制单元等汽车部件传来的单信号,则可以将单信号向结构体信号进行转换,以使单信号所承载的数据信息能够被软件架构中的模块所调用,使得软件架构能与具体地汽车部件建立通信关系。

在其中一个实施例中,在所述得到可以被所述逻辑运算模块使用的结构体信号之后,还包括:

所述逻辑运算模块根据所述结构体信号中的标识信息对所述结构体信号进行拆分重组,得到重新排序后的结构体信号,以防止所述结构体信号被解析。

其中,标识信息指的是信号中的ID信息,拆分重组过程包括:同一ID的单信号,如CAN信号在经过中间件模块转换后,会根据各个信号的实际使用模块不同而进行重新排序,以使排序后的信号与经过中间件模块转换前的信号的排序位置不同,以使CAN信号可以和实际软件模块中所使用的信号进行区分,防止信号被解析、渗透。

可选地,经过中间件模块转换的信号在信号名称信息和/或信号排列方式上会进行调整,以区别于转换前的信号。

在其中一个实施例中,在所述按照预设的连线规则对所述汽车架构中的模块进行连线之前,还包括:

所述中间件模块将所述软件架构中的模块的信号交互类型进行对比,判断所述软件架构中的模块的所述信号交互类型是否匹配;

若是,则所述中间件模块根据所述连线规则对所述软件架构中的模块进行连线。

需要说明的是,在进行连线前,还需要对模块的一些规格信息做匹配检验,如信号交互类型,软件架构中的各模块输出的信号需要显示其信号交互类型为单信号和/或结构体信号,将信号交互类型相匹配的模块进行连线才能保证不会发生信号交互问题,同时各模块的输出信号显示出相关的信号信息也更便于与其它模块的信号与其进行信号映射。

可选地,为了使上述实施例中的模块关联方法运行在AutoSar上,各模块的输出信号应该需要满足AutoSar规范的接口要求。

在其中一个实施例中,在所述按照预设的连线规则对所述汽车架构中的模块进行连线之前,还包括:

所述逻辑运算模块进行逻辑建模,得到用于执行逻辑运算的逻辑运算模型;

根据所述逻辑运算模型对所述软件架构进行代码编译,得到架构文件,其中,所述架构文件记录了所述软件架构中的模块的接口信息;

判断待关联的所述软件架构中的模块的所述接口信息是否匹配;

若是,则根据所述模块信息和/或所述信号信息,将所述接口信息匹配的所述软件架构中的模块进行连线,得到所述交互链路。

示例性地说明,在逻辑运算过程中,可以以ARXML(AUTOSAR XML,汽车开发架构系统可扩展标记语言)作为逻辑运算框架的载体,这是一种基于AutoSar汽车开放架构系统的规则,能够使软件架构具有更规范的格式表达,并基于XML规范减少工具实现的工作量。

在此框架载体中进行逻辑建模,并在完成建模后基于AutoSar进行代码编译,得到对应的架构文件,如.c\.h\Arxml文件,在该架构文件中则记载了模块的接口信息。需要说明的是,逻辑运算模块可以根据各个逻辑运算子模块能够实现的组合服务来生成独立的架构文件。

而当架构文件生成后,则可根据架构文件中记载的接口信息对模块进行关联或对信号进行映射,以确定模块与模块、信号与信号间的对应关系。

还需说明的是,当框架载体中的所有模块完成连接时,则逻辑运算模块的功能完成关联即完成映射关系,可以输出一个ARXML文件来确定该整体框架关系。

应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储汽车软件架构和/或模块关联方法的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种汽车软件架构和/或模块关联方法。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下汽车软件架构:

运行模块,用于提供软件架构运行环境,并通过所述软件架构运行环境和电子控制单元进行通信;

中间件模块,所述中间件模块与所述运行模块连接,所述中间件模块包括第一中间件和第二中间件,其中,所述第一中间件用于转换信号类型,所述第二中间件用于根据模块信息和/或信号信息对所述软件架构中的模块进行连线;

输入模块,所述输入模块与所述中间件模块连接,所述输入模块用于接收经过所述第一中间件转换后的信号;

逻辑运算模块,所述逻辑运算模块与所述输入模块连接,所述逻辑运算模块用于根据所述转换后的信号进行逻辑运算,得到逻辑控制信号;

输出模块,所述输出模块分别与所述逻辑运算模块和所述中间件模块连接,所述输出模块用于将所述逻辑控制信号输出至所述第一中间件,所述第一中间件将所述逻辑控制信号进行转换并通过所述运行模块传输至所述电子控制单元,以使所述电子控制单元实现汽车功能。

在一个实施例中,处理器执行计算机程序时还实现以下软件架构:

至少一个逻辑运算子模块,所述逻辑运算子模块用于提供分布式的逻辑运算子服务;

所述第二中间件根据模块信息和/或信号信息将至少一个所述逻辑运算子模块进行连线;

所述逻辑运算模块根据连线后的所述逻辑运算子模块进行逻辑运算,得到所述逻辑控制信号。

或,处理器执行计算机程序时实现以下方法步骤:

中间件模块获取软件架构中的模块信息和信号信息;

所述中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述软件架构中的模块进行连线,得到交互链路;

经过连线的所述模块根据所述交互链路并按照调度时序表进行信号交互。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述中间件模块根据所述模块名称信息或所述信号名称信息进行字符检索,得到所述模块信息或所述信号信息互相匹配的待关联模块或待关联信号;

将互相匹配的所述待关联模块进行连线,得到所述交互链路;

或,查找与互相匹配的所述待关联信号对应的所述软件架构中的模块,并将所述软件架构中的模块进行连线,得到所述交互链路。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

若所述中间件模块检测到用于触发所述软件架构中的模块运行的触发信号,则根据所述触发信号,将发送所述触发信号的模块和接收所述触发信号的模块进行连线,得到所述交互链路。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

若所述中间件模块需要与所述软件架构中的模块进行通信,则将所述中间件模块和所述软件架构中的模块进行连线,得到所述交互链路。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述中间件模块检测并判断获取到的信号的类型信息为单信号或结构体信号,其中,所述单信号用于与电子控制单元的通信,所述结构体信号用于与逻辑运算模块的通信;

若所述信号的所述类型信息为单信号,则通过中间件模块对所述信号进行类型转换,得到可以被所述逻辑运算模块使用的结构体信号。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述逻辑运算模块根据所述结构体信号中的标识信息对所述结构体信号进行拆分重组,得到重新排序后的结构体信号,以防止所述结构体信号被解析。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述中间件模块将所述软件架构中的模块的信号交互类型进行对比,判断所述软件架构中的模块的所述信号交互类型是否匹配;

若是,则所述中间件模块根据所述连线规则对所述软件架构中的模块进行连线。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

所述逻辑运算模块进行逻辑建模,得到用于执行逻辑运算的逻辑运算模型;

根据所述逻辑运算模型对所述软件架构进行代码编译,得到架构文件,其中,所述架构文件记录了所述软件架构中的模块的接口信息;

判断待关联的所述软件架构中的模块的所述接口信息是否匹配;

若是,则根据所述模块信息和/或所述信号信息,将所述接口信息匹配的所述软件架构中的模块进行连线,得到所述交互链路。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下软件架构:

运行模块,用于提供软件架构运行环境,并通过所述软件架构运行环境和电子控制单元进行通信;

中间件模块,所述中间件模块与所述运行模块连接,所述中间件模块包括第一中间件和第二中间件,其中,所述第一中间件用于转换信号类型,所述第二中间件用于根据模块信息和/或信号信息对所述软件架构中的模块进行连线;

输入模块,所述输入模块与所述中间件模块连接,所述输入模块用于接收经过所述第一中间件转换后的信号;

逻辑运算模块,所述逻辑运算模块与所述输入模块连接,所述逻辑运算模块用于根据所述转换后的信号进行逻辑运算,得到逻辑控制信号;

输出模块,所述输出模块分别与所述逻辑运算模块和所述中间件模块连接,所述输出模块用于将所述逻辑控制信号输出至所述第一中间件,所述第一中间件将所述逻辑控制信号进行转换并通过所述运行模块传输至所述电子控制单元,以使所述电子控制单元实现汽车功能。

在一个实施例中,计算机程序被处理器执行时还实现以下软件架构:

至少一个逻辑运算子模块,所述逻辑运算子模块用于提供分布式的逻辑运算子服务;

所述第二中间件根据模块信息和/或信号信息将至少一个所述逻辑运算子模块进行连线;

所述逻辑运算模块根据连线后的所述逻辑运算子模块进行逻辑运算,得到所述逻辑控制信号。

或,计算机程序被处理器执行时实现以下方法步骤:

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

中间件模块获取软件架构中的模块信息和信号信息;

所述中间件模块根据所述模块信息和/或所述信号信息,按照预设的连线规则对所述软件架构中的模块进行连线,得到交互链路;

经过连线的所述模块根据所述交互链路并按照调度时序表进行信号交互。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述中间件模块根据所述模块名称信息或所述信号名称信息进行字符检索,得到所述模块信息或所述信号信息互相匹配的待关联模块或待关联信号;

将互相匹配的所述待关联模块进行连线,得到所述交互链路;

或,查找与互相匹配的所述待关联信号对应的所述软件架构中的模块,并将所述软件架构中的模块进行连线,得到所述交互链路。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

若所述中间件模块检测到用于触发所述软件架构中的模块运行的触发信号,则根据所述触发信号,将发送所述触发信号的模块和接收所述触发信号的模块进行连线,得到所述交互链路。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

若所述中间件模块需要与所述软件架构中的模块进行通信,则将所述中间件模块和所述软件架构中的模块进行连线,得到所述交互链路。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述中间件模块检测并判断获取到的信号的类型信息为单信号或结构体信号,其中,所述单信号用于与电子控制单元的通信,所述结构体信号用于与逻辑运算模块的通信;

若所述信号的所述类型信息为单信号,则通过中间件模块对所述信号进行类型转换,得到可以被所述逻辑运算模块使用的结构体信号。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述逻辑运算模块根据所述结构体信号中的标识信息对所述结构体信号进行拆分重组,得到重新排序后的结构体信号,以防止所述结构体信号被解析。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述中间件模块将所述软件架构中的模块的信号交互类型进行对比,判断所述软件架构中的模块的所述信号交互类型是否匹配;

若是,则所述中间件模块根据所述连线规则对所述软件架构中的模块进行连线。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

所述逻辑运算模块进行逻辑建模,得到用于执行逻辑运算的逻辑运算模型;根据所述逻辑运算模型对所述软件架构进行代码编译,得到架构文件,其中,所述架构文件记录了所述软件架构中的模块的接口信息;判断待关联的所述软件架构中的模块的所述接口信息是否匹配;

若是,则根据所述模块信息和/或所述信号信息,将所述接口信息匹配的所述软件架构中的模块进行连线,得到所述交互链路。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 语音控制方法、模块、家电设备、系统和计算机存储介质
  • 用于汽车通讯模块的通讯方法、装置、模块及存储介质
  • 存储器读取错误纠正方法、系统、计算机设备和存储介质
  • 闪存管理方法、闪存存储设备及计算机可读存储介质
  • 一种数据存储方法、装置、设备及计算机可读存储介质
  • 模块关联赋值方法、装置、计算机设备及可读存储介质
  • 与过程模块的模拟模型关联的方法、计算机程序产品和非易失性数据存储介质
技术分类

06120115576225