System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件信息,具体涉及一种aurosar应用层架构生成方法、装置及电子设备。
技术介绍
1、autosar(automotive open system architecture,汽车开放式系统架构)是全球汽车行业主要原始设备制造商、供应商及工具和软件服务商的开发合作联盟。autosar旨在简化汽车电子软件的联合开发,降低成本和加速产品面市时间,提高软件质量,并提供安全系统设计所需的机制。autosar重新定义了嵌入式汽车软件的编写方式,从而实现了对软件组件的重复使用、交换、升级和整合,运行环境(run-timeenvironment,rte)是autosar架构的核心。autosar系统中组件间所有的通信通过组件端口(port)进行,而组件端口由autosar接口定义,运行环境能够实现通信接口,提供组件间的通信服务,因此组件间的所有通信在运行环境的控制之下。
2、autosar的初衷是屏蔽底层硬件资源分配、统一配置方法、解决模块之间耦合性过高的问题,其本质是有利于策略层的标准化开发,最终实现分布式开发,提高软件开发效率及降低维护成本。在当今日益复杂的嵌入式系统开发中,该理念显得益发重要。当基础软件层(basic software layer,bsw)及运行环境方案确定后,应用层却千变万化,策略程序要考虑最主要的问题是如何来生成软件组件(应用层)及软件组件与运行环境的融合问题,主流的软件组件开发有两种:1、“自上而下”,2、“自下而上”。
3、“自上而下”的方法是先由运行环境去生成模块arxml
4、这些方法都适用于一个系统的全新开发,而实际上,复杂车用嵌入式软件都是具有历史继承性的,大量传统软件框架下的控制系统需要向autosar架构转化,需要巨大的工作量。
技术实现思路
1、有鉴于此,有必要提供一种aurosar应用层架构生成方法、装置及电子设备,用以解决传统软件框架下的控制系统在向autosar架构转化时存在的工作量大的技术问题。
2、为了实现上述目的,本专利技术提供了一种aurosar应用层架构生成方法,包括:
3、将初始软件架构中的多个功能子模块,划分至对应的软件组件,得到各功能子模块对应的软件组件分属信息表;
4、获取各功能子模块对应的输入输出信息、变量数据类型和调度信息,基于所述软件组件分属信息表、所述输入输出信息、所述变量数据类型和所述调度信息,得到软件组件接口信息表;
5、获取应用软件层变量与基础软件层变量的mapping信息表;
6、基于所述软件组件接口信息表和所述mapping信息表,生成arxml文件;所述arxml文件,包括:应用层软件组件arxml文件,以及应用软件层与基础软件层接口mapping arxml文件;
7、将所述arxml文件导入运行环境生成工具,生成运行环境代码;
8、切断所述初始软件架构的软件组件之间的全局变量共享,得到修改后的软件架构;
9、将修改后的软件架构,以及所述运行环境代码进行编译集成,得到aurosar应用层架构。
10、进一步地,所述获取各功能子模块对应的输入输出信息、变量数据类型和调度信息,基于所述软件组件分属信息表、所述输入输出信息、所述变量数据类型和所述调度信息,得到软件组件接口信息表,包括:
11、获取基线软件工程中各子功能模块对应的输入输出信息、变量数据类型和调度信息;
12、基于所述软件组件分属信息表,对基线软件工程中各子功能模块对应的输入输出信息、变量数据类型和调度信息进行分类,得到基线软件工程中各子功能模块对应的软件组件之间的接口信息、软件组件内部信息、软件组件与底层的接口信息;
13、获取更新的功能子模块对应的输入输出信息、变量数据类型和调度信息;
14、基于所述软件组件分属信息表,对更新的功能子模块对应的输入输出信息、变量数据类型和调度信息进行分类,得到更新的功能子模块对应的软件组件之间的接口信息、软件组件内部信息、软件组件与底层的接口信息;
15、基于基线软件工程中各子功能模块对应的软件组件之间的接口信息、软件组件内部信息、软件组件与底层的接口信息,以及更新的功能子模块对应的软件组件之间的接口信息、软件组件内部信息、软件组件与底层的接口信息,生成软件组件接口信息表。
16、进一步地,所述获取基线软件工程中各子功能模块对应的输入输出信息、变量数据类型和调度信息,包括:
17、获取所述基线软件工程中每个源文件的变量信息和函数信息;
18、基于所述基线软件工程中每个源文件的变量信息和函数信息,以及所述基线软件工程的各功能子模块主函数与源文件的对应关系,得到各功能子模块的输入输出信息;
19、获取所述基线软件工程中调度文件内各功能子模块对应的调度信息;
20、对所述基线软件工程中的a2l文件进行逆向分析,得到变量数据类型。
21、进一步地,所述基于所述基线软件工程中每个源文件的变量信息和函数信息,以及所述基线软件工程的各功能子模块主函数与源文件的对应关系,得到各功能子模块的输入输出信息,包括:
22、基于所述基线软件工程中每个源文件的变量信息和函数信息,以及所述基线软件工程中各功能子模块主函数与源文件的对应关系,结合递归的方式展开各功能子模块主函数的所有引用函数,以获取各功能子模块的输入输出信息。
23、进一步地,每个源文件的变量信息包括全局变量、静态变量和局部变量中的至少一种;
24、每个源文件的函数信息包括全局函数、局部函数以及全局函数的引用函数和局部函数的引用函数。
25、进一步地,所述获取更新的功能子模块对应的输入输出信息、变量数据类型和调度信息,包括:
26、在更新的功能子模块为已开发完成的功能子模块的情况下,对更新的功能子模块的源文件进行编译,生成对应的object文件的源文件代码;
27、对所述object文件的所述源文件代码进行分析,得到更新的功能子模块对应的输入输出信息、变量数据类型和调度信息。
28、进一步地,所述获取更新的功能子模块对应的输入输出信息、变量数据类型和调度信息,包括:
29、在更新的功能子模块为未发完成的功能子模块的情况下,获取功能子模块对应的开发信息表,对所述开发信息表进行信息提取,得到更新的功能子模块对应的输入输出信息、变量数据类型和调度信息。
...【技术保护点】
1.一种AUROSAR应用层架构生成方法,其特征在于,包括:
2.根据权利要求1所述的AUROSAR应用层架构生成方法,其特征在于,所述获取各功能子模块对应的输入输出信息、变量数据类型和调度信息,基于所述软件组件分属信息表、所述输入输出信息、所述变量数据类型和所述调度信息,得到软件组件接口信息表,包括:
3.根据权利要求2所述的AUROSAR应用层架构生成方法,其特征在于,所述获取基线软件工程中各子功能模块对应的输入输出信息、变量数据类型和调度信息,包括:
4.根据权利要求3所述的AUROSAR应用层架构生成方法,其特征在于,所述基于所述基线软件工程中每个源文件的变量信息和函数信息,以及所述基线软件工程的各功能子模块主函数与源文件的对应关系,得到各功能子模块的输入输出信息,包括:
5.根据权利要求3所述的AUROSAR应用层架构生成方法,其特征在于,每个源文件的变量信息包括全局变量、静态变量和局部变量中的至少一种;
6.根据权利要求2所述的AUROSAR应用层架构生成方法,其特征在于,所述获取更新的功能子模块对应的输入输
7.根据权利要求2所述的AUROSAR应用层架构生成方法,其特征在于,所述获取更新的功能子模块对应的输入输出信息、变量数据类型和调度信息,包括:
8.一种AUROSAR应用层架构生成装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器和处理器,其中,
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的AUROSAR应用层架构生成方法。
...【技术特征摘要】
1.一种aurosar应用层架构生成方法,其特征在于,包括:
2.根据权利要求1所述的aurosar应用层架构生成方法,其特征在于,所述获取各功能子模块对应的输入输出信息、变量数据类型和调度信息,基于所述软件组件分属信息表、所述输入输出信息、所述变量数据类型和所述调度信息,得到软件组件接口信息表,包括:
3.根据权利要求2所述的aurosar应用层架构生成方法,其特征在于,所述获取基线软件工程中各子功能模块对应的输入输出信息、变量数据类型和调度信息,包括:
4.根据权利要求3所述的aurosar应用层架构生成方法,其特征在于,所述基于所述基线软件工程中每个源文件的变量信息和函数信息,以及所述基线软件工程的各功能子模块主函数与源文件的对应关系,得到各功能子模块的输入输出信息,包括:
5.根据权利要求3...
【专利技术属性】
技术研发人员:李相融,李芳,于俊鹏,邬婧婧,刘峰,周杰敏,陈玉俊,黄锐,张亚晓,杨文,
申请(专利权)人:东风商用车有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。