CN116560645A - 自适应汽车开放系统架构适配复杂应用软件的方法及装置 - Google Patents
自适应汽车开放系统架构适配复杂应用软件的方法及装置 Download PDFInfo
- Publication number
- CN116560645A CN116560645A CN202310532444.9A CN202310532444A CN116560645A CN 116560645 A CN116560645 A CN 116560645A CN 202310532444 A CN202310532444 A CN 202310532444A CN 116560645 A CN116560645 A CN 116560645A
- Authority
- CN
- China
- Prior art keywords
- open system
- system architecture
- library
- adaptive
- management component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000003044 adaptive effect Effects 0.000 claims abstract description 81
- 230000003068 static effect Effects 0.000 claims abstract description 48
- 238000009517 secondary packaging Methods 0.000 claims abstract description 20
- 238000004806 packaging method and process Methods 0.000 claims abstract description 13
- 230000036541 health Effects 0.000 claims description 48
- 238000012544 monitoring process Methods 0.000 claims description 37
- 230000010354 integration Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 128
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种自适应汽车开放系统架构适配复杂应用软件的方法及装置,属于汽车电子技术领域。所述方法包括:获取业务程序对于自适应汽车开放系统架构的软件功能需求;基于软件功能需求对上位机进行配置,生成配置文件和框架代码;对框架代码进行二次封装,生成二次封装的程序,并将二次封装的程序链接至汽车开放系统架构公有库;对链接至汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库;将业务程序链接至动态库或静态库;对链接至动态库或静态库的业务程序进行编译,生成集成后的业务程序;将集成后的业务程序按照汽车开放系统架构规范部署到目标文件系统的文件夹中。本申请具有灵活性高、功能集成难度小的优点。
Description
技术领域
本发明涉及汽车电子技术领域,具体涉及一种自适应汽车开放系统架构适配复杂应用软件的方法、一种自适应汽车开放系统架构适配复杂应用软件的装置、一种机器可读存储介质及一种处理器。
背景技术
汽车产业目前正在成为新一轮技术革命和产业发展的先进技术方向,软件定义汽车是未来主流的发展方式。目前汽车软件智能化、安全化、科技化需求日益增加,对程序安全、程序运行的要求日益提高。
汽车开放系统架构Autosar(AUTomotive Open System Architecture)是汽车和软件行业领先公司的全球合作联盟,为智能移动开发和建立标准化的软件框架以及开放的E/E系统架构。自适应汽车开放系统架构(Adaptive Platform Autosar,AutosarAP)解决了新一代汽车高性能需求、连接性和持续软件无线(OTA)更新带来的新市场需求,它作为多个供应商的软件集成平台。
然而,业务程序集成自适应汽车开放系统架构(Adaptive Platform Autosar,AutosarAP)的功能时,存在集成难度高以及灵活性低的问题。使用该架构的开发人员,需要同时兼有应用程序和Autosar程序的开发能力。调整功能时,需要来回调整代码运行情况、复用性不高。
发明内容
本申请实施例的目的是提供一种自适应汽车开放系统架构适配复杂应用软件的方法及装置,以解决现有技术中业务程序集成自适应汽车开放系统架构的功能存在集成难度高以及灵活性低的问题。
为了实现上述目的,本申请第一方面提供一种自适应汽车开放系统架构适配复杂应用软件的方法,包括:
获取业务程序对于自适应汽车开放系统架构的软件功能需求;
基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码;
对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库;
对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库;
将所述业务程序链接至所述动态库或静态库;
对链接至所述动态库或静态库的业务程序进行编译,生成集成后的业务程序;
将所述集成后的业务程序按照自适应汽车开放系统架构规范部署到目标文件系统的文件夹中。
在本申请实施例中,所述方法还包括:根据业务程序的属性对所述配置文件进行修改,获得新的配置文件。
在本申请实施例中,所述软件功能需求包括执行管理组件需求;所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:
基于所述执行管理组件需求对上位机进行配置,生成执行管理组件的配置文件以及执行管理组件的框架代码。
在本申请实施例中,所述执行管理组件的框架代码包括上报状态函数;所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:当业务程序需要集成上报运行状态的功能时,对上报状态函数进行二次封装,生成二次封装的上报状态函数,并将所述二次封装的上报状态函数链接至自适应汽车开放系统架构公有库。
在本申请实施例中,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:对链接至自适应汽车开放系统架构公有库的二次封装的上报状态函数进行编译,生成执行管理组件的动态库或静态库。
在本申请实施例中,所述软件功能需求包括状态管理组件需求;所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:基于所述状态管理组件需求对上位机进行配置,生成状态管理组件的配置文件以及状态管理组件的框架代码。
在本申请实施例中,所述状态管理组件的框架代码包括状态切换函数;所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:当业务程序需要集成状态切换的功能时,对状态切换函数进行二次封装,生成二次封装的状态切换函数,并将所述二次封装的状态切换函数链接至自适应汽车开放系统架构公有库。
在本申请实施例中,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:对链接至自适应汽车开放系统架构公有库的二次封装的状态切换函数进行编译,生成状态管理组件的动态库或静态库。
在本申请实施例中,所述软件功能需求包括健康管理组件需求;所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:基于所述健康管理组件需求对上位机进行配置,生成健康管理组件的配置文件以及健康管理组件的框架代码。
在本申请实施例中,所述健康管理组件的框架代码包括监控函数;所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:根据健康管理组件的监控方式对监控函数进行二次封装,生成二次封装的监控函数,并将所述二次封装的监控函数链接至自适应汽车开放系统架构公有库。
在本申请实施例中,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:对链接至自适应汽车开放系统架构公有库的二次封装的监控函数进行编译,生成健康管理组件的动态库或静态库。
在本申请实施例中,所述方法还包括:验证集成后的业务程序是否满足预期需求;若不满足,则重新分析相应的软件功能需求,返回获取业务程序对于自适应汽车开放系统架构的软件功能需求的步骤,直至集成后的业务程序满足预期需求。
本申请第二方面提供一种自适应汽车开放系统架构适配复杂应用软件的装置,所述装置包括:
获取模块,用于获取业务程序对于自适应汽车开放系统架构的软件功能需求;
配置模块,用于基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码;
封装模块,用于对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库;
第一编译模块,用于对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库;
链接模块,用于将所述业务程序链接至所述动态库或静态库;
第二编译模块,用于对链接至所述动态库或静态库的业务程序进行编译,生成集成后的业务程序;
部署模块,用于将所述集成后的业务程序按照自适应汽车开放系统架构规范部署到目标文件系统的文件夹中。
本申请第三方面提供一种处理器,被配置成执行上述的自适应汽车开放系统架构适配复杂应用软件的方法。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的自适应汽车开放系统架构适配复杂应用软件的方法。
与现有技术相比,本发明的上述技术方案具有如下有益效果:
(1)本发明通过对自适应汽车开放系统架构(AutosarAP)的功能组件生成的框架程序进行二次封装,链接自适应汽车开放系统架构的公有库,让业务程序在不进行大量修改的基础上能够具有自适应汽车开放系统架构的功能,能够满足现在多线程并行开发的需求。
(2)本发明具有灵活性高、功能集成难度小、功能全面和响应速度快等优点。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的软件架构示意图;
图2示意性示出了根据本申请实施例的业务程序适配自适应汽车开放系统的程序架构;
图3示意性示出了根据本申请实施例的自适应汽车开放系统架构适配复杂应用软件的方法的流程示意图;
图4示意性示出了根据本申请实施例的自适应汽车开放系统架构适配复杂应用软件的方法的整体流程示意图;
图5示意性示出了根据本申请实施例的自适应汽车开放系统架构适配复杂应用软件的装置的结构框图;
图6示意性示出了根据本申请实施例的计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下为本实施例用到的术语:
AP:自适应汽车开放系统架构(Adaptive Platform Autosar),简称AutosarAP。
EM:执行管理组件。
SM:状态管理组件。
PHM:健康管理组件。
TestDemo:业务程序。
图1示意性示出了根据本申请实施例的软件架构示意图。如图1所示,首先需要根据业务程序TestDemo列出相应的执行管理组件(EM)、状态管理组件(SM)和健康管理组件(PHM)等需求项,针对业务程序TestDemo的需求项,配置自适应汽车开放系统架构(Adaptive Platform Autosar,AutosarAP)上位机生成配置JSON文件和代码程序框架文件。配置JSON文件规定了相应的软件启动时序、软件功能组划分、软件监控项设计,对代码程序框架进行二次封装编译成库供业务程序调用后,业务程序根据需求调用相应的封装的API函数(二次封装的程序)即可实现相应的执行管理组件(EM)、状态管理组件(SM)和健康管理组件(PHM)设计的功能。
图2示意性示出了根据本申请实施例的业务程序适配自适应汽车开放系统的程序架构。如图2所示,该程序架构列出了业务程序包含的应用功能:执行管理组件(EM)功能、状态管理组件(SM)功能和健康管理组件(PHM)功能。执行管理组件(EM)功能包括上报程序运行函数和上报程序终止函数。状态管理组件(SM)功能包括状态切换功能,切换方式包括单入触发模式、单出触发模式、出入触发模式。健康管理组件(PHM)功能包括活跃监控方式、截止监控方式、逻辑监控方式和健康通道监控方式。其中,截止监控方式包括截止起始点函数和截止终止点函数;逻辑监控方式包括逻辑上报函数1至逻辑上报函数N。
图3示意性示出了根据本申请实施例的自适应汽车开放系统架构适配复杂应用软件的方法的流程示意图。如图3所示,在本申请一实施例中,提供了一种自适应汽车开放系统架构适配复杂应用软件的方法,本实施例主要以该方法应用于上述图1中的上位机来举例说明,包括以下步骤:
步骤110,获取业务程序对于自适应汽车开放系统架构的软件功能需求。
在本实施例中,需要分析业务代码对于AutosarAP的软件功能需求,并根据其功能需求,划分成隶属于AutosarAP的执行管理组件(EM)、状态管理组件(SM)、健康管理组件(PHM)等各个子功能的需求。因此,业务程序对于自适应汽车开放系统架构的软件功能需求包括执行管理组件(EM)需求、状态管理组件(SM)需求和健康管理组件(PHM)需求。
步骤120,基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码。
在本实施例中,对于执行管理组件(EM)需求,基于所述执行管理组件需求对上位机进行配置,生成执行管理组件的配置文件以及执行管理组件的框架代码。对于状态管理组件(SM)需求,基于所述状态管理组件需求对上位机进行配置,生成状态管理组件的配置文件以及状态管理组件的框架代码。对于健康管理组件(PHM)需求,基于所述健康管理组件需求对上位机进行配置,生成健康管理组件的配置文件以及健康管理组件的框架代码。
步骤130,对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库。
在本实施例中,框架代码包括执行管理组件(EM)的框架代码、状态管理组件(SM)的框架代码和健康管理组件(PHM)的框架代码。
执行管理组件(EM)的框架代码包括上报状态函数。如图4所示,对于执行管理组件(EM)需求,当业务程序需要集成上报运行状态的功能时,对上报状态函数进行二次封装(即重构上报状态函数),生成二次封装的上报状态函数,并将所述二次封装的上报状态函数链接至自适应汽车开放系统架构公有库。所述方法还包括根据业务程序的属性(业务程序的名字)对执行管理组件的部分配置文件(即JSON配置文件)进行修改,获得新的执行管理组件配置文件。
状态管理组件(SM)的框架代码包括状态切换函数。如图4所示,对于状态管理组件(SM)需求,需要统计功能组的切换功能需求和功能组的切换方式。当业务程序需要集成状态切换的功能时,对状态切换函数进行二次封装(即重构状态切换函数),生成二次封装的状态切换函数,并将所述二次封装的状态切换函数链接至自适应汽车开放系统架构公有库。所述方法还包括根据业务程序的属性(业务程序的名字)对状态管理组件的部分配置文件(即JSON配置文件)进行修改,获得新的状态管理组件的配置文件。
健康管理组件(PHM)的框架代码包括监控函数。如图4所示,对于健康管理组件(PHM)需求,需要统计健康管理组件的监控方式,根据健康管理组件的监控方式对监控函数进行二次封装(即重构监控函数),生成二次封装的监控函数,并将所述二次封装的监控函数链接至自适应汽车开放系统架构公有库。所述方法还包括根据业务程序的属性(业务程序的名字)对健康管理组件的部分配置文件(即JSON配置文件)进行修改,获得新的健康管理组件的配置文件。
健康管理组件的监控方式,即程序的运行方式,包括单次运行和持久运行两种方式。若程序为单次运行,直接将下层AP框架程序二次封装,构成新的API函数。若程序为持久运行,如健康管理组件(PHM)的alive监控,链接进程库,根据功能设计需求封装成函数,当函数被调用时,API函数即创建一个线程,持续运行PHM的监控。
针对健康管理组件(PHM)的Deadline和Logical监控项,业务程序在不同分支和不同节点需要执行不同程序,将功能函数封装成带传参的机制,根据传参的数据执行不同的操作,从而构成Deadline的起始点、终止点分别上报,Logical的分支1、……、N的分支上报,将上述二次封装的程序,链接Autosar AP中的状态管理组件(SM)的公共库,并将二次封装的程序编译生成状态管理组件(SM)的静态库或状态管理组件(SM)的动态库。
步骤140,对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库。
在本实施例中,二次封装的程序包括二次封装的上报状态函数、二次封装的状态切换函数和二次封装的监控函数。对于执行管理组件(EM)需求,对链接至自适应汽车开放系统架构公有库的二次封装的上报状态函数进行编译,生成执行管理组件的动态库或静态库。对于状态管理组件(SM)需求,对链接至自适应汽车开放系统架构公有库的二次封装的状态切换函数进行编译,生成状态管理组件的动态库或静态库。对于健康管理组件(PHM)需求,对链接至自适应汽车开放系统架构公有库的二次封装的监控函数进行编译,生成健康管理组件的动态库或静态库。
步骤150,将所述业务程序链接至所述动态库或静态库。
在本实施例中,将所述业务程序链接至所述动态库或静态库的目的是让业务程序调用二次封装的程序,二次封装的程序即二次封装的API函数。业务程序根据需求调用相应的二次封装的API函数即可实现相应的执行管理组件(EM)、状态管理组件(SM)、健康管理组件(PHM)设计的功能。
步骤160,对链接至所述动态库或静态库的业务程序进行编译,生成集成后的业务程序。
步骤170,将所述集成后的业务程序按照自适应汽车开放系统架构规范部署到目标文件系统的文件夹中。
图3为一个实施例中自适应汽车开放系统架构适配复杂应用软件的方法的流程示意图。应该理解的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种自适应汽车开放系统架构适配复杂应用软件的装置,包括获取模块210、配置模块220、封装模块230、第一编译模块240、链接模块250、第二编译模块260以及部署模块270,其中:
获取模块210,用于获取业务程序对于自适应汽车开放系统架构的软件功能需求。
配置模块220,用于基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码。
封装模块230,用于对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库。
第一编译模块240,用于对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库。
链接模块250,用于将所述业务程序链接至所述动态库或静态库。
第二编译模块260,用于对链接至所述动态库或静态库的业务程序进行编译,生成集成后的业务程序。
部署模块270,用于将所述集成后的业务程序按照自适应汽车开放系统架构规范部署到目标文件系统的文件夹中。
所述自适应汽车开放系统架构适配复杂应用软件的装置包括处理器和存储器,上述获取模块210、配置模块220、封装模块230、第一编译模块240、链接模块250、第二编译模块260以及部署模块270等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现自适应汽车开放系统架构适配复杂应用软件的方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述自适应汽车开放系统架构适配复杂应用软件的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现一种自适应汽车开放系统架构适配复杂应用软件的方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的自适应汽车开放系统架构适配复杂应用软件的装置可以实现为一种计算机程序的形式,计算机程序可在如图6所示的计算机设备上运行。计算机设备的存储器中可存储组成该自适应汽车开放系统架构适配复杂应用软件的装置的各个程序模块,比如,图5所示的获取模块210、配置模块220、封装模块230、第一编译模块240、链接模块250、第二编译模块260和部署模块270。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的自适应汽车开放系统架构适配复杂应用软件的方法中的步骤。
图6所示的计算机设备可以通过如图5所示的自适应汽车开放系统架构适配复杂应用软件的装置中的获取模块210执行步骤110。计算机设备可通过配置模块220执行步骤120。计算机设备可通过封装模块230执行步骤130。计算机设备可通过第一编译模块240执行步骤140。计算机设备可通过链接模块250执行步骤150。计算机设备可通过第二编译模块260执行步骤160。计算机设备可通过部署模块270执行步骤170。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
步骤110,获取业务程序对于自适应汽车开放系统架构的软件功能需求。
步骤120,基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码。
步骤130,对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库。
步骤140,对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库。
步骤150,将所述业务程序链接至所述动态库或静态库。
步骤160,对链接至所述动态库或静态库的业务程序进行编译,生成集成后的业务程序。
步骤170,将所述集成后的业务程序按照自适应汽车开放系统架构规范部署到目标文件系统的文件夹中。
在一个实施例中,所述方法还包括:根据业务程序的属性对所述配置文件进行修改,获得新的配置文件。
在本实施例中,可以根据业务程序的名字去修改生成的JSON配置文件,保证JSON配置文件与业务程序二进制文件统一。当执行管理组件(EM)、状态管理组件(SM)和健康管理组件(PHM)运行时,根据JSON配置文件能够执行相应的操作,以执行管理组件(EM)为例,当读取JSON配置文件后,会根据功能组划分情况正确拉起业务程序,同样健康管理组件(PHM)能正确监控业务程序的执行情况。
在一个实施例中,所述软件功能需求包括执行管理组件需求;所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:基于所述执行管理组件需求对上位机进行配置,生成执行管理组件的配置文件以及执行管理组件的框架代码。
在一个实施例中,所述执行管理组件的框架代码包括上报状态函数;所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:当业务程序需要集成上报运行状态的功能时,对上报状态函数进行二次封装,生成二次封装的上报状态函数,并将所述二次封装的上报状态函数链接至自适应汽车开放系统架构公有库。
在一个实施例中,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:对链接至自适应汽车开放系统架构公有库的二次封装的上报状态函数进行编译,生成执行管理组件的动态库或静态库。
在一个实施例中,所述软件功能需求包括状态管理组件需求;所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:基于所述状态管理组件需求对上位机进行配置,生成状态管理组件的配置文件以及状态管理组件的框架代码。
在一个实施例中,所述状态管理组件的框架代码包括状态切换函数;所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:当业务程序需要集成状态切换的功能时,对状态切换函数进行二次封装,生成二次封装的状态切换函数,并将所述二次封装的状态切换函数链接至自适应汽车开放系统架构公有库。
在一个实施例中,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:对链接至自适应汽车开放系统架构公有库的二次封装的状态切换函数进行编译,生成状态管理组件的动态库或静态库。
在一个实施例中,所述软件功能需求包括健康管理组件需求;所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:基于所述健康管理组件需求对上位机进行配置,生成健康管理组件的配置文件以及健康管理组件的框架代码。
在一个实施例中,所述健康管理组件的框架代码包括监控函数;所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:根据健康管理组件的监控方式对监控函数进行二次封装,生成二次封装的监控函数,并将所述二次封装的监控函数链接至自适应汽车开放系统架构公有库。
在一个实施例中,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:对链接至自适应汽车开放系统架构公有库的二次封装的监控函数进行编译,生成健康管理组件的动态库或静态库。
在一个实施例中,所述方法还包括:验证集成后的业务程序是否满足预期需求;若不满足,则重新分析相应的软件功能需求,返回获取业务程序对于自适应汽车开放系统架构的软件功能需求的步骤,直至集成后的业务程序满足预期需求。
在本实施例中,业务程序编译成功之后,业务程序链接编译库正常时,验证集成后的业务程序是否满足预期需求;若不满足,重新分析相应的软件需求,参考步骤110至步骤170上述流程重新构建相应的AutosarAP业务程序库,从而达到满足业务程序需求的目的。
本申请实施例提供的一种自适应汽车开放系统架构适配复杂应用软件的方法及装置,通过对AutosarAP功能组件生成的框架程序进行二次封装,链接AutosarAP的公有库,让业务程序在不进行大量修改的基础上能够具有AutosarAP的功能,可以满足现在多线并行开发的需求,同时该方法具有灵活性高、功能集成难度小(业务逻辑不需要太过于知道Autosar底层的实现)、功能全面、响应速度快等优点。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图或方框图来描述的。应理解可由计算机程序指令实现流程图或方框图中的每一流程或方框、以及流程图或方框图中的流程或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,包括:
获取业务程序对于自适应汽车开放系统架构的软件功能需求;
基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码;
对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库;
对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库;
将所述业务程序链接至所述动态库或静态库;
对链接至所述动态库或静态库的业务程序进行编译,生成集成后的业务程序;
将所述集成后的业务程序按照自适应汽车开放系统架构规范部署到目标文件系统的文件夹中。
2.根据权利要求1所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述方法还包括:根据业务程序的属性对所述配置文件进行修改,获得新的配置文件。
3.根据权利要求1所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述软件功能需求包括执行管理组件需求;
所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:
基于所述执行管理组件需求对上位机进行配置,生成执行管理组件的配置文件以及执行管理组件的框架代码。
4.根据权利要求3所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述执行管理组件的框架代码包括上报状态函数;
所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:
当业务程序需要集成上报运行状态的功能时,对上报状态函数进行二次封装,生成二次封装的上报状态函数,并将所述二次封装的上报状态函数链接至自适应汽车开放系统架构公有库。
5.根据权利要求4所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:
对链接至自适应汽车开放系统架构公有库的二次封装的上报状态函数进行编译,生成执行管理组件的动态库或静态库。
6.根据权利要求1所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述软件功能需求包括状态管理组件需求;
所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:
基于所述状态管理组件需求对上位机进行配置,生成状态管理组件的配置文件以及状态管理组件的框架代码。
7.根据权利要求6所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述状态管理组件的框架代码包括状态切换函数;
所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:
当业务程序需要集成状态切换的功能时,对状态切换函数进行二次封装,生成二次封装的状态切换函数,并将所述二次封装的状态切换函数链接至自适应汽车开放系统架构公有库。
8.根据权利要求7所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:
对链接至自适应汽车开放系统架构公有库的二次封装的状态切换函数进行编译,生成状态管理组件的动态库或静态库。
9.根据权利要求1所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述软件功能需求包括健康管理组件需求;
所述基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码,包括:
基于所述健康管理组件需求对上位机进行配置,生成健康管理组件的配置文件以及健康管理组件的框架代码。
10.根据权利要求9所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述健康管理组件的框架代码包括监控函数;
所述对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库,包括:
根据健康管理组件的监控方式对监控函数进行二次封装,生成二次封装的监控函数,并将所述二次封装的监控函数链接至自适应汽车开放系统架构公有库。
11.根据权利要求10所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库,包括:
对链接至自适应汽车开放系统架构公有库的二次封装的监控函数进行编译,生成健康管理组件的动态库或静态库。
12.根据权利要求1至11任一项所述的自适应汽车开放系统架构适配复杂应用软件的方法,其特征在于,所述方法还包括:
验证集成后的业务程序是否满足预期需求;若不满足,则重新分析相应的软件功能需求,返回获取业务程序对于自适应汽车开放系统架构的软件功能需求的步骤,直至集成后的业务程序满足预期需求。
13.一种自适应汽车开放系统架构适配复杂应用软件的装置,其特征在于,所述装置包括:
获取模块,用于获取业务程序对于自适应汽车开放系统架构的软件功能需求;
配置模块,用于基于所述软件功能需求对上位机进行配置,生成配置文件和框架代码;
封装模块,用于对所述框架代码进行二次封装,生成二次封装的程序,并将所述二次封装的程序链接至自适应汽车开放系统架构公有库;
第一编译模块,用于对链接至自适应汽车开放系统架构公有库的二次封装的程序进行编译,生成动态库或静态库;
链接模块,用于将所述业务程序链接至所述动态库或静态库;
第二编译模块,用于对链接至所述动态库或静态库的业务程序进行编译,生成集成后的业务程序;
部署模块,用于将所述集成后的业务程序按照自适应汽车开放系统架构规范部署到目标文件系统的文件夹中。
14.一种处理器,其特征在于,被配置成执行根据权利要求1至12中任一项所述的自适应汽车开放系统架构适配复杂应用软件的方法。
15.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至12中任一项所述的自适应汽车开放系统架构适配复杂应用软件的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310532444.9A CN116560645A (zh) | 2023-05-10 | 2023-05-10 | 自适应汽车开放系统架构适配复杂应用软件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310532444.9A CN116560645A (zh) | 2023-05-10 | 2023-05-10 | 自适应汽车开放系统架构适配复杂应用软件的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116560645A true CN116560645A (zh) | 2023-08-08 |
Family
ID=87501410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310532444.9A Pending CN116560645A (zh) | 2023-05-10 | 2023-05-10 | 自适应汽车开放系统架构适配复杂应用软件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116560645A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389615A (zh) * | 2023-12-12 | 2024-01-12 | 山东科技大学 | 一种工业控制板的程序重构方法 |
-
2023
- 2023-05-10 CN CN202310532444.9A patent/CN116560645A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117389615A (zh) * | 2023-12-12 | 2024-01-12 | 山东科技大学 | 一种工业控制板的程序重构方法 |
CN117389615B (zh) * | 2023-12-12 | 2024-03-01 | 山东科技大学 | 一种工业控制板的程序重构方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107045438B (zh) | 一种应用顶层视图处理方法、装置及组件 | |
CN111897539B (zh) | 一种根据服务角色的进行应用部署的方法及装置 | |
CN112506498A (zh) | 一种智慧型可视化api编排方法、存储介质及电子设备 | |
CN107092475B (zh) | 一种交互控件的调用方法及装置 | |
CN105487905A (zh) | 一种混合应用的更新方法和装置 | |
CN116560645A (zh) | 自适应汽车开放系统架构适配复杂应用软件的方法及装置 | |
CN109254777A (zh) | 基于软件通信体系结构的多通道多波形部署方法 | |
CN112328313A (zh) | 一种应用于嵌入式系统的通用架构 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN111443944B (zh) | 一种程序构建方法、装置及设备 | |
Jan et al. | Flex‐eWare: a flexible model driven solution for designing and implementing embedded distributed systems | |
CN115291893A (zh) | 一种代码运行部署系统及方法 | |
CN115185847A (zh) | 一种故障测试方法、装置、存储介质及电子设备 | |
CN116107590A (zh) | 软件产品开发部署中兼容微服务和单体架构的实现方法及系统 | |
CN115442372A (zh) | 一种接口调用方法及应用其的微服务应用系统 | |
CN113971073A (zh) | 数据调用方法、装置、电子设备及计算机存储介质 | |
CN110009463B (zh) | 一种数据通信处理系统及方法 | |
CN113672470A (zh) | 一种接口监控方法、装置、设备及介质 | |
CN110008035B (zh) | 数据接口扩展方法、数据处理方法、装置及设备 | |
CN111722846A (zh) | 一种兼容多种oem产品的cim接口定制的方法和设备 | |
CN117614877B (zh) | 一种网络安全检测系统 | |
CN111367577A (zh) | 加载应用的插件的方法、装置和终端 | |
CN117082017B (zh) | 一种白盒交换机扩展卡管理的方法及装置 | |
CN112363948B (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN117978554B (zh) | 一种基于配置的微服务隔离运行方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |