一种应用层软件组件集成方法及系统与流程

文档序号:26501372发布日期:2021-09-04 02:39阅读:164来源:国知局
一种应用层软件组件集成方法及系统与流程

1.本发明涉及软件开发技术领域,具体涉及应用层软件组件集成方法及系统。


背景技术:

2.随着汽车创新技术的不断应用,当代汽车电子电气架构已经非常复杂,为了实现汽车控制器软件的模块化、可扩展性、可转移性和功能可用性的技术目标,国际上通用的autosar架构在汽车电子领域得到了广泛运用:autosar架构下的应用层软件开发,一个控制器内部往往有多个软件组件,各个软件组件功能相对独立,往往由不同人员负责开发,但各个软件组件又各自关联,只有将所有的软件组件共同组合起来才能实现控制器的完整功能,但是目前相关技术中还没有一种合适的方法将各软件组件集成起来以用于整个控制器应用层软件模型的集成测试。
3.公开号为cn112579147a的中国专利文献公开了名称为“软件集成方法及系统”的专利,该方法包括:获取子系统的配置信息获取指令,根据表示信息在目标信息库中查找子系统对应的ip地址,并将ip地址反馈给子系统,以使子系统通过ip地址实现子系统集成;该专利是针对子系统的集成,并不是针对软件组件,且该方法是通过ip地址将各个子系统集成。
4.公开号为“cn112214204a”的中国专利文献公开了名称为“一种弹载控制与导航软件的集成方法”的专利,该方法先确定待集成的部件,而后按照增量式自底向上的集成策略,对待集成的部件进行集成,该方法并不是针对应用层软件组件的集成方法,且该方法重点强调的是一种增量式自底向上的集成策略。
5.公开号为“cn111831266a”的中国专利文献公开了名称为“智能驾驶软件的集成于追溯哦系统及方法”,该专利基于软件代码仓库、软件集成版本管理数据库和软件版本库,实现代码的快速迭代及测试的快速跟进,该专利并不是针对应用层软件组件的集成。
6.公开号为“cn111552644a”的中国专利文献公开了名称为“一张基于微服务架构的软件持续集成方法”的专利,该专利用于软件开发到软件测试的交互,解决了现有软件项目开发过程中,软件持续集成效率差,项目交付测试之前容易出现编译失败,以及没有自动化测试功能,导致影响项目发版部署的问题,且该专利在jenkins ci平台上构件微服务工程编包job1,对变薄后的微服务安装包打上标识标签并上传至安装包仓库,因此该专利并不是针对应用层软件组件的集成。


技术实现要素:

7.本发明的目的是提供一种应用层软件组件集成方法及系统,解决的技术问题:相关技术中还没有一种合适的方法或者工具将各软件组件集成起来以用于整个控制器应用层软件模型的集成测试,影响研发人员并行协同开发,增加了研发人员的工作时长,降低了研发人员的工作质量,增加了企业的研发成本。为了解决上述技术问题,本发明提供如下技术方案:一种应用层软件组件集成方
法及系统,包括以下步骤:步骤a:检查软件组件存放是否符合规范,所述软件组件是预先存放在同一目标文件下,各软件组件文件夹包含该软件组件的应用层模型和对应的应用层模型参数;步骤b: 新建模型,用作软件组件集成平台;步骤c:在所述模型内新建模型引用模块;步骤d:关联所述软件组件与所述模型引用模块;步骤e:生成所述模型引用模块的输入信号和输出信号接口;步骤f:新建函数调用模块,用于调用所述软件组件的子函数;步骤g:生成所述函数调用模块的接口信号,且关联所述软件组件的所述子函数的调用信号与所述接口信号,所述软件组件通过所述输入信号和输出信号接口集成。
8.优选地,在所述步骤a中,检查所述软件组件的模型和参数是否齐备、是否可以正常运行及命名方式是否符合规范;如果不符合规范,则通过文字提示显示具体哪一条不符合规范;如果符合规范,则执行所述步骤b。
9.优选地,在所述步骤d中,检查是否关联完毕所有的所述软件组件;如果未完成全部关联所述软件组件,则提示剩余待关联数量,并再次新建所述模型引用模块关联剩余的所述软件组件;如果完成关联所有的所述软件组件,则执行所述步骤e。
10.优选地,在所述步骤e中,所述接口命名与所述软件组件命名相同。
11.优选地,在所述步骤g中,所述接口信号名称与所述子函数的所述调用信号名称相同。
12.优选地,在所述步骤f中,所述函数调用模块统一调度所述软件组件的所述子函数的调度顺序。
13.优选地,在所述步骤g中,运行所述软件组件的模型参数。
14.本发明还提供了一种应用层软件组件集成系统,包括:软件组件检查模块,用于检查软件组件存放是否规范;生成模型引用模块,所述模型引用用于关联所述软件组件;生成函数调用模块,用于调用所述软件组件的子函数。
15.通过采用上述技术方案,本发明可达到的有益技术效果陈述如下:本发明可以实现应用层软件的一次性自动集成,用于应用层软件集成测试,有利于研发人员并行协同开发,能够有效缩短软件研发人员的工作周期,提升软件研发人员的工作质量,降低企业的开发成本。
附图说明
16.图1为本发明的软件组件集成流程图;图2为本发明的软件组件布置结构图;图3为本发明的软件组件集成结构图。
具体实施方式
17.下面结合附图对本发明作进一步说明。
18.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
19.本发明是在autosar软件架构基础上提出的一种应用层软件集成方法及系统。autosar,全称为automotive open system architecture,即汽车开放系统架构,它是由全球各家汽车制造上、零部件供应商以及各种研究、服务机构共同参与的一种汽车电子系统的合作开发框架,并建立了一个开放的汽车控制器(ecu)标准软件架构。autosar的基本思想:在一个汽车控制器中,除了实现具体功能及算法的应用软件,还有许多底层软件来保证控制器的正常运行,比如can总线信号的收发、任务进程的调度、flash数据的读写等等。一方面,不同控制器中这部分底层软件的功能重复读很高;而另一方面这部分底层软件又跟硬件紧密相连,在一个处理器平台上写好的软件,换一个处理器平台就不能用了,为没一个控制器项目专门写一套底层软件显然是非常低效的,而且也容易出错。于是人们就想通过标准化应用软件和底层软件之间的接口,来让应用软件开发者可以专注于具体应用功能的开发,而无需考虑控制器底层的运行过程。这样即使更换了处理器硬件,应用软件也无需做太多修改就可以被移植过去,而底层软件的开发则交给专门的公司,他们为每一个处理器硬件写好驱动,并封装成标准化接口提供给上层,底层软件就可以被高效地集成到不同项目中,而由于同一套底层软件被大量重复使用,发现bug的概率提高,从而可以很快得到修补,并且通过更新对其它项目进行同步修补。
20.为了使本发明更清楚,还需了解classic autosar平台的软件架构,它可以分为以下几个部分:微控制器:即控制器硬件;基础软件层,其包括以下4个部分:微控制器抽象层:是与硬件直接相关的驱动软件,例如对存储器、通信寄存器、io口的操作等等;ecu抽象层,是对控制器的基础功能和接口进行统一,比如can报文内容的解析、网关报文的转发、存储器读写流程的控制等等;服务层:为应用层提供各种后台服务,比如网络管理、存储器管理、总线通信管理服务以及操作系统等;复杂设备驱动:为用户提供了一个可以自行编写特殊设备驱动软件的可能性;运行环境:是autosar的核心,它将应用软件层与基础软件层剥离开来,为应用层软件提供运行环境,如进程时间片调度,应用层模块之间以及应用层与基础软件层之间的数据交换等;应用软件层,即application software layer,实现具体应用功能的软件,它可以包含多个软件组件,即software component。
21.参见图1,为本发明的软件组件集成流程图,本发明是在autosar软件架构基础上提出的一种应用层软件组件集成方法,本方法是通过matlab开发的自动集成的m语言脚本实现。
22.执行该集成流程之前需要做一些前期准备工作,参见图2,为本发明的软件组件布置结构图,首先需要各个软件组件以文件夹的形式存放在同一个目标文件下,各软件组件文件夹下应包含当前软件组件的应用层软件模型文件和该模型相关的所有参数文件,且当前软件组件的文件夹的名称应该和应用层软件模型的名称相同;对于软件组件内部的子函数调度信号,应当以统一的命名开头,该结构用以保证自动集成脚本可以根据命名规则快速调用、集成各个软件组件。
23.参见图1,当前期准备工作完成之后,通过研发人员开发的m语言脚本,将整个集成
流程跑起来(运行起来)。一种应用层软件组件集成方法,包括以下步骤:步骤a:检查软件组件存放是否符合规范;步骤b:新建模型,用作软件组件集成平台;步骤c:在模型内新加你模型引用模块;步骤d:关联软件组件与模型引用模块;步骤e:生成模型引用模块的输入信号和输出信号接口;步骤f:新建函数调用模块,用于调用软件组件的子函数;步骤g:生成函数调用模块的接口信号,且关联软件组件的子函数的调用信号与接口信号,软件组件通过输入信号和输出信号接口集成。
24.可选地,在步骤a中,检查软件组件的模型和参数是否齐备、是否可以正常运行及命名方式是否符合规范;如果不符合规范,则通过文字提示显示具体哪一条不符合规范;如果符合规范,则执行步骤b。
25.可选地,在步骤d中,检查是否关联完毕所有的软件组件;如果未完成全部关联软件组件,则提示剩余待关联数量,并再次新建模型引用模块关联剩余的软件组件;完成关联所有的软件组件,则执行步骤e。
26.可选地,在步骤e中,接口命名与软件组件命名相同。
27.可选地,在步骤g中,接口信号名称与子函数的调用信号名称相同。
28.可选地,在步骤f中,函数调用模块统一调度软件组件的子函数的调度顺序。
29.可选地,在步骤g中,运行软件组件的模型参数,各软件组件的模型参数必须要运行完毕之后才能确保集成完毕,否则后续的测试会可能会出问题。
30.本发明还提供了一种应用层软件集成系统,包括:软件组件检查模块,用于检查软件组件存放是否规范;生成模型引用模块,模型引用用于关联软件组件;生成函数调用模块,用于调用软件组件的子函数。
31.再通过图3来更加清楚的说明本发明。
32.参见图3,为本发明的软件组件集成结构图,所有的软件组件均重新集成在新建的集成模型平台上,以软件组件1和软件组件2为例说明本发明是怎样将二者集成起来的:首先将软件组件1和模型引用1关联起来,然后再将模型引用2与软件组件2关联起来,通过函数调用模块的接口信号分别与模型引用1、模型引用2的子函数调用信号1、子函数调用信号2关联,即完成了软件组件1与软件组件2的集成,设定软件组件1的左侧为输入接口的通讯信号1,右侧为输出接口的通讯信号1,软件组件2的左侧为输入接口的通讯信号2,软件组件2的右侧为输出接口的通讯信号2,最后当软件组件1与软件组件2各自对应的模型参数开始运行的时候,软件组件1右侧的通讯信号1与软件组件2左侧的通讯信号2开始进行数据通信,完成软件组件1与软件组件2在集成模型平台的集成。需要特别强调的是模型参数必须运行完毕才能完成对软件组件的集成,否则后续测试会出问题,导致集成测试失败的问题。
33.本发明可达到的有益技术效果陈述如下:本发明可以实现应用层软件的一次性自动集成,用于应用层软件集成测试,有利于研发人员并行协同开发,能够有效缩短软件研发人员的工作周期,提升软件研发人员的工作质量,降低企业的开发成本。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1