CN116301801A - 用于实现车辆软件的程序生成方法、相关设备及存储介质 - Google Patents
用于实现车辆软件的程序生成方法、相关设备及存储介质 Download PDFInfo
- Publication number
- CN116301801A CN116301801A CN202310187792.7A CN202310187792A CN116301801A CN 116301801 A CN116301801 A CN 116301801A CN 202310187792 A CN202310187792 A CN 202310187792A CN 116301801 A CN116301801 A CN 116301801A
- Authority
- CN
- China
- Prior art keywords
- node
- configuration
- target
- information
- functional
- 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 77
- 238000003860 storage Methods 0.000 title claims abstract description 33
- 230000006870 function Effects 0.000 claims description 109
- 238000013499 data model Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 27
- 238000004590 computer program Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013070 change management Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/34—Graphical or visual programming
-
- 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
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种用于实现车辆软件的程序生成方法、相关设备及存储介质,涉及软件配置技术领域。方法包括:获取预置的目标节点配置文件;对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息;获取预设基础功能源码和节点配置资源文件,确定每个待配置功能节点的目标节点实体类信息;将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到配置功能节点。将节点配置信息抽取出来以提高开发效率,减少工具开发中节点的创建和关联的重复代码,有效提高程序运行效率,加快程序运行速度。
Description
技术领域
本发明涉及软件配置技术领域,具体涉及一种用于实现车辆软件的程序生成方法、相关设备及存储介质。
背景技术
Adaptive Platform AUTOSAR(AP AUTOSAR)自适应汽车开放系统架构平台,用于有效管理车辆软件的开发,提高车辆软件的开发效率。车辆软件基于统一的配置工具软件进行开发可提高开发效率和准确性,但通常的配置工具软件程序设计过程中,由于APAUTOSAR提供众多节点,部分节点包含大量属性,完成这些节点的创建及关联需要编写大量代码,导致配置工具软件代码冗余;配置工具界面操作和AP AUTOSAR节点信息密切相关,对于每个节点都需编写对应的界面操作功能,从而无法降低配置工具软件的耦合度。
发明内容
为解决上述技术问题,本发明提供一种用于实现车辆软件的程序生成方法、装置、电子设备及存储介质,所述方案如下:
第一方面,提供了一种用于实现车辆软件的程序生成方法,包括:
获取预置的目标节点配置文件;所述目标节点配置文件包括至少一个待配置功能节点中每个待配置功能节点的节点属性信息和节点层级关系;所述用于实现车辆软件的程序包括所述至少一个待配置功能节点;
对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息;
获取预设基础功能源码和节点配置资源文件,基于所述预设基础功能源码、所述节点配置资源文件和每个待配置功能节点的目标节点配置类信息确定每个待配置功能节点的目标节点实体类信息;
将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到所述至少一个待配置功能节点;所述至少一个待配置功能节点用于在响应于第一节点展示指令时进行展示。
可选的,所述对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息包括:
对所述目标节点配置文件进行解析,得到所述每个待配置功能节点的节点属性信息和节点层级关系;
获取预先定义的节点配置类,基于所述预先定义的节点配置类将所述每个待配置功能节点的属性信息和节点层级关系映射成每个待配置功能节点的目标节点配置类信息。
可选的,所述基于所述预设基础功能源码、所述节点配置资源文件和每个待配置功能节点的目标节点配置类信息确定每个待配置功能节点的目标节点实体类信息包括:
基于所述预设基础功能源码对应的数据模型框架,加载所述节点配置资源文件中与所述每个待配置功能节点的目标节点配置类信息对应的目标节点数据;
将所述目标节点数据进行数据反射生成每个待配置功能节点的目标节点实体类信息;所述目标节点实体类信息与所述目标节点数据的实体信息相对应。
可选的,所述将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到所述至少一个待配置功能节点包括:
将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第一组合模式组合,得到第一节点信息;所述第一节点信息用于确定所述每个待配置功能节点的实体信息;
将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第二组合模式组合,得到第二节点信息;所述第二节点信息用于确定所述每个待配置功能节点的配置信息;
基于所述第一节点信息和所述第二节点信息得到所述至少一个待配置功能节点。
可选的,所述方法还包括:
响应于针对所述目标界面的节点操作指令,获取对所述至少一个待配置功能节点的更新请求;所述更新请求包括新增或删除所述至少一个待配置功能节点;
基于所述更新请求,对所述至少一个待配置功能节点进行更新,确定更新后的至少一个待配置功能节点;
接收用户触发的保存指令,将所述更新后的至少一个待配置功能节点对应的节点数据存储至所述节点配置资源文件中。
响应于第二节点展示指令,将所述更新后的至少一个待配置功能节点基于所述预设展示方式在目标界面中展示。
可选的,所述方法还包括:
响应于待开发车辆软件模块的配置指令,获取所述待开发车辆软件模块的待配置数据;
当所述待配置数据与所述目标节点配置类信息相对应时,复制所述目标节点规则文件中与所述待配置数据相对应的目标节点配置类信息,生成待开发车辆软件模块配置文件;
基于所述待开发车辆软件模块配置文件生成所述待开发车辆软件模块。
第二方面,提供了一种用于实现车辆软件的程序生成装置,包括:
目标节点配置文件获取模块,用于获取预置的目标节点配置文件;所述目标节点配置文件包括至少一个待配置功能节点中每个待配置功能节点的节点属性信息和节点层级关系;所述用于实现车辆软件的程序包括所述至少一个待配置功能节点;
解析模块,用于对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息;
节点实体类信息确定模块,用于获取预设基础功能源码和节点配置资源文件,基于所述预设基础功能源码、所述节点配置资源文件和每个待配置功能节点的目标节点配置类信息确定每个待配置功能节点的目标节点实体类信息;
节点组合模块,用于将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到所述至少一个待配置功能节点;所述至少一个待配置功能节点用于在响应于第一节点展示指令时进行展示。
可选的,所述解析模块包括:
解析单元,用于对所述目标节点配置文件进行解析,得到所述每个待配置功能节点的节点属性信息和节点层级关系;
目标节点配置类信息确定单元,用于获取预先定义的节点配置类,基于所述预先定义的节点配置类将所述每个待配置功能节点的属性信息和节点层级关系映射成每个待配置功能节点的目标节点配置类信息。
可选的,所述节点实体类信息确定模块包括:
目标节点数据获取单元,用于基于所述预设基础功能源码对应的数据模型框架,加载所述节点配置资源文件中与所述每个待配置功能节点的目标节点配置类信息对应的目标节点数据;
数据反射单元,用于将所述目标节点数据进行数据反射生成每个待配置功能节点的目标节点实体类信息;所述目标节点实体类信息与所述目标节点数据的实体信息相对应。
可选的,所述节点组合模块包括:
第一节点信息生成单元,用于将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第一组合模式组合,得到第一节点信息;所述第一节点信息用于确定所述每个待配置功能节点的实体信息;
第二节点信息生成单元,用于将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第二组合模式组合,得到第二节点信息;所述第二节点信息用于确定所述每个待配置功能节点的配置信息;
待配置功能节点生成单元,用于基于所述第一节点信息和所述第二节点信息得到所述至少一个待配置功能节点。
可选的,所述装置还包括:
第一展示模块,用于响应于第一节点展示指令,将所述至少一个待配置功能节点基于预设展示方式在目标界面中展示;所述预设展示方式包括树节点结构和树表节点结构。
可选的,所述装置还包括:
节点更新请求获取模块,用于响应于针对所述目标界面的节点操作指令,获取对所述至少一个待配置功能节点的更新请求;所述更新请求包括新增或删除所述至少一个待配置功能节点;
节点更新模块,用于基于所述更新请求,对所述至少一个待配置功能节点进行更新,确定更新后的至少一个待配置功能节点;
存储模块,用于接收用户触发的保存指令,将所述更新后的至少一个待配置功能节点对应的节点数据存储至所述节点配置资源文件中。
第二展示模块,用于响应于第二节点展示指令,将所述更新后的至少一个待配置功能节点基于所述预设展示方式在目标界面中展示。
可选的,所述装置还包括:
待配置数据获取模块,用于响应于待开发车辆软件模块的配置指令,获取所述待开发车辆软件模块的待配置数据;
软件模块配置文件生成模块,用于当所述待配置数据与所述目标节点配置类信息相对应时,复制所述目标节点规则文件中与所述待配置数据相对应的目标节点配置类信息,生成待开发车辆软件模块配置文件;
软件开发模块,用于基于所述待开发软件模块配置文件生成所述待开发软件模块。
第三方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述的用于实现车辆软件的程序生成方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现上述的用于实现车辆软件的程序生成方法。
第五方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的用于实现车辆软件的程序生成方法
采用上述技术方案,本发明具有如下有益效果:
本发明预置目标节点配置文件,编写待配置功能节点的节点配置信息(节点属性信息和节点层级关系),将节点配置信息抽取出来以提高开发效率,减少工具开发中节点的创建和关联的重复代码;利用ATUOSAR预设基础功能源码和节点配置资源文件,确定每个待配置功能节点的目标节点实体类信息,并通过设计模式进行目标节点配置类信息和目标节点实体类信息的组合,得到待配置功能节点,完成配置工具软件程序开发,当用户点击刷新页面时才需再次加载,这样可以有效提高程序运行效率,加快程序运行速度,随着APAUTOSAR版本升级时,只需要更改xml规则文件中的节点配置信息,配置工具即可完成扩展和升级。
本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,其中,相同的参考标号通常代表相同部件。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中自适应汽车开放系统架构平台配置工具软件程序工作过程示意图;
图2为本发明实施例提供的一种用于实现车辆软件的程序生成方法的流程示意图;
图3为本发明实施例提供的实现用于实现车辆软件的程序生成方法的一种可选方法流程示意图;
图4为本发明实施例提供的实现用于实现车辆软件的程序生成方法的一种可选方法流程示意图;
图5为本发明实施例提供的一种用于实现车辆软件的程序装置的结构示意图;
图6为本发明实施提供的运行用于实现车辆软件的程序生成方法的终端结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本发明的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含的包括一个或者更多个该特征。而且,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
随着汽车电子行业的快速发展,尤其是智能网联技术在汽车领域的应用,汽车控制软件的开发规模及复杂度迅速增长。虽然有些汽车企业在汽车电子软件研发过程中采用了自己定义的方法或标准,但其无法做到在汽车行业内通用。不断变化的汽车控制软件开发需要一套通用的标准及开发流程。
AUTOSAR(Automotive Open System Architecture)简称汽车开放系统架构,该架构由全球各大汽车整车厂、汽车零部件供应商和汽车电子软件公司联合建立,旨在更加有效地管理汽车电子软件的开发,提高汽车电子软件的开发效率。目前AUTOSAR分为ClassicPlatform AUTOSAR(CP AUTOSAR)经典汽车开放系统架构平台和Adaptive PlatformAUTOSAR(AP AUTOSAR)自适应汽车开放系统架构平台。CP AUTOSAR已广泛的应用于传统嵌入式汽车电子软件开发中,例如发动机控制器、变速箱控制器和整车控制器等,其侧重于严格实时性要求和安全性要求的汽车电子软件开发,无法满足更复杂、更高计算能力的汽车电子软件的开发要求。AP AUTOSAR的诞生解决了CP AUTOSAR的短板问题,其更加专注于提供高性能的计算和智能互联功能的开发。
AP AUTOSAR的功能模块包括服务通信管理(CM),诊断管理(DM),平台健康管理(PHM)和平台生命周期管理(EM)等模块,各个模块的开发过程中需要遵循AP AUTOSAR制定的标准,开发人员手写服务接口时容易出错,无法保证代码的准确性和标准性。因此,针对AP AUTOSAR的配置工具软件应运而生,开发人员基于AP AUTOSAR配置工具软件通过生成器生成代码模板及目标代码文件,可以高效地完成AUTOSAR各功能模块的实现,参考图1,其所示为AP AUTOSAR配置工具软件的工作过程。
在通常AP AUTOSAR配置工具软件架构设计过程中,通常有两种方式实现:第一种方式是不依赖ATUOSAR提供的Artop进行开发,Artop是一个基础平台,为配置工具实现了公共的基础功能,可用于符合AUTOSAR的系统和ECU的设计和配置。此方式优点在于可以选择开发语言,不局限于Eclipse的RCP开发,但其缺点在于无法运用AP ATUOSAR提供的节点类信息和建模框架,需要自己根据AP ATUOSAR的规则搭建建模框架,这个过程往往费时费力,并且随着AP ATUOSAR的版本升级,需要手动的对建模框架进行更新和补充,效率低下。第二种方式是基于ATUOSAR提供的Artop进行开发,虽然省去了搭建建模框架的时间,但目前存在的配置工具软件框架缺乏对artop提供的方法的合理运用,设计过程中大量重复创建和关联节点,部分元素节点包含大量的属性,完成这些节点的创建及关联需要编写大量代码,导致配置工具软件代码冗余;并且对每个节点都编写代码以实现对应的界面操作功能,导致代码的重复率高,耦合度增加,难以进行更新和扩展;配置工具界面加载数据时是对全量数据的加载,往往造成配置工具的频频卡顿现象,性能大大降低。
因此,本发明提供一种低冗余、低耦合的配置工具软件程序生成方法,可以保持代码的简洁,大幅度提高配置工具的可扩展性和可维护性,用于实现车辆软件的高效开发。该方法将界面操作展示和AP AUTOSAR节点数据模块相分离,通过自定义配置方式生成功能节点,大大降低配置工具软件架构的冗余和耦合度,并且在配置工具维护升级时只需少量地更改配置文件,即可以快速完成工具的升级迭代,降低了开发成本,提高整体工作效率。
参考图2,其所示为本发明实施例提供的一种用于实现车辆软件的程序生成方法的流程示意图。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统装置或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。本发明实施例提供的用于实现车辆软件的程序生成方法包括:
S201,获取预置的目标节点配置文件;所述目标节点配置文件包括至少一个待配置功能节点中每个待配置功能节点的节点属性信息和节点层级关系;所述用于实现车辆软件的程序包括所述至少一个待配置功能节点,车辆软件是指基于AP ATUOSAR平台开发的用于控制车辆或者实现车联网智能互联功能的软件,比如传统的动机控制器、变速箱控制器和整车控制器以及车辆娱乐软件、远程智能控车软件等。
具体的,本发明实施例中,目标节点配置文件为xml规则文件,开发人员根据APATUOSAR的节点编写目标节点配置文件,目标节点配置文件用于定义待配置功能节点,后续也可以通过修改目标节点配置文件进而修改待配置功能节点,本发明实施例中目标节点配置文件包含待配置功能节点的节点属性信息和节点层级关系,其中节点属性信息包括行属性和列属性,行属性包括但不限于节点名称、节点类型、节点描述、展示列数、是否展示、节点创建最大个数、父节点名称、关联父节点的List属性、关联父节点属性等;列属性包括但不限于图标、列名称、数据类型、编辑类型、类型校验规则、是否可以为空值、关联数据类型、关联属性、关联List属性等;节点层级关系包括父子兄节点关系,可以根据节点层级关系得知某个待配置功能节点的父节点、子节点、同胞节点等,对于一个节点,其上一级的节点为其父节点,下一级的节点为其子节点,与其同级的节点则为其同胞节点,同胞节点拥有相同的父节点。待配置功能节点用于实现AP ATUOSAR配置工具软件架构。此实施方式将待配置功能节点的配置信息抽取出来编写目标节点配置文件以提高开发效率,减少工具开发中节点的创建和关联的重复代码。
S202,对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息。
具体的,基于目标节点配置文件所定义的节点信息(待配置功能节点的节点属性信息和节点层级关系)确定目标节点配置类信息,用于后续的节点创建和节点展示,目标节点配置类信息包括针对各待配置功能节点的父节点配置关系和节点自身的属性信息;还包括节点的操作和校验信息等,父节点配置关系包括父节点名称、关联父节点的List属性、关联父节点属性等;节点的操作包括后续过程中对待配置功能节点的新增、删除等;节点校验是指当一个节点需要发送数据到另一个节点时,需要将校验信息发送到缓冲寄存器内进行校验,确认数据是否可以从该节点发送至另一个节点。在一种可能的实施方式中,步骤S202包括:
对所述目标节点配置文件进行解析,得到所述每个待配置功能节点的节点属性信息和节点层级关系;
获取预先定义的节点配置类,基于所述预先定义的节点配置类将所述每个待配置功能节点的属性信息和节点层级关系映射成每个待配置功能节点的目标节点配置类信息。
具体的,预先定义节点配置类,节点配置类中包含父节点的配置关系和节点自身的属性信息,还包括节点的操作和校验信息等,节点配置类在其他实施例中可根据待配置功能节点的节点属性信息进行其他定义,比如节点名称、节点类型、节点描述、展示列数、是否展示、节点创建最大个数、父节点名称、关联父节点的List属性、关联父节点属性、节点图标、列名称、数据类型、编辑类型、类型校验规则、是否可以为空值、关联数据类型、关联属性、关联List属性等。编写c++代码,解析目标节点配置文件生成文档对象模型,文档对象模型是一种与平台和语言无关的应用程序接口(API),可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(HTML和XML文档是通过说明部分定义的);编写代码完成文档对象模型和属性信息的映射。将c++代码打包成可调用的c++库,java主工程通过开源本地接口调用c++库文件生成每个待配置功能节点的目标节点配置类信息,此实施方式利用C++代码难以反编译的特性实现对核心代码的保密操作,以防被反编译破解。
S203,获取预设基础功能源码和节点配置资源文件,基于所述预设基础功能源码、所述节点配置资源文件和每个待配置功能节点的目标节点配置类信息确定每个待配置功能节点的目标节点实体类信息。
在一种可能的实施方式中,步骤S203包括:
基于所述预设基础功能源码对应的数据模型框架,加载所述节点配置资源文件中与所述每个待配置功能节点的目标节点配置类信息对应的目标节点数据;
将所述目标节点数据进行数据反射生成每个待配置功能节点的目标节点实体类信息;所述目标节点实体类信息与所述目标节点数据的实体信息相对应。
具体的,本发明实施例的所述数据框架模型是指Artop建模框架,本发明实施例基于ATUOSAR提供的Artop进行开发,引入Artop基础功能源码,为配置工具软件提供公共基础功能,比如版本控制、变更管理、配置状态统计、访问控制和安全控制等等,通过Artop的数据模型框架结合其加载机制载入节点配置资源文件中的节点数据资源信息缓存到内存中,本发明实施例中节点配置资源文件为ARXML文件,ARXML文件是以AUTOSAR XML格式保存的配置文件,作为通用配置文件或数据库文件,在数据传输和存储中起到关键作用,ARXML模式是XML数据语言的特殊定义,ap autosar中的arxml里面存储ap autosar中的信号类型、组件和输入输出端口信息等。加载节点配置资源文件ARXML文件中的节点数据资源信息是根据步骤S201实施例中的自定义xml规则文件进行按需加载,也就是加载ARXML文件中与所述每个待配置功能节点的目标节点配置类信息对应的目标节点数据,目标节点数据包括待配置功能节点的节点名称简称,id等属性等,将获取到的ARXML中目标节点数据依据xml规则文件通过Java反射机制生成每个待配置功能节点的目标节点实体类信息,该实体类和ARXML中目标节点数据的实体信息一一对应,Java反射机制是指在程序运行状态中对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用其任意方法和属性;这种动态获取的信息以及动态调用对象的法的功能称为java语言的反射机制。以上实施方式通过按需加载ARXML文件中与所述每个待配置功能节点的目标节点配置类信息对应的目标节点数据,只有当界面进行刷新时,才需要重新加载ARXML节点数据资源信息,可以有效提高程序运行效率,加快程序运行速度,因为一次性将节点配置资源文件中的节点数据资源信息缓存到内存中后,再与所述每个待配置功能节点的目标节点配置类信息对应的目标节点数据,当用户在界面进行节点更新操作比如新增节点时,对目标节点数据的修改都在内存中维护,只有当用户进行界面整体刷新时,才会再次重新加载节点数据资源信息。
S204,将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到所述至少一个待配置功能节点;所述至少一个待配置功能节点用于在响应于第一节点展示指令时进行展示。
具体的,目标节点配置类信息与目标节点实体类信息组合过程中,通过组合模式结合目标节点配置类信息构建树节点结构中待配置功能节点的实体信息,例如其中树节点结构的父子节点关系,而对于新增字节点、删除字节点等节点操作,是加载目标节点实体类信息中的内容并展示;通过工厂方法模式结合目标节点配置类信息生成树表节点结构中待配置功能节点的配置信息,例如节点配置中定义的节点属性信息中几个属性就对应表的几列等。在一种可能的实施方式中,步骤S204包括:
将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第一组合模式组合,得到第一节点信息;所述第一节点信息用于确定所述每个待配置功能节点的实体信息;
将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第二组合模式组合,得到第二节点信息;所述第二节点信息用于确定所述每个待配置功能节点的配置信息;
基于所述第一节点信息和所述第二节点信息得到所述至少一个待配置功能节点。
具体的,本发明实施例中,第一组合模式为组合模式,第二组合模式为工厂方法模式,通过组合模式和工厂方法模式将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,对应于第一组合模式和第二组合模式。组合模式是将对象组合成树形结构以表示“部分-整体”的层次结构,通过组合模式构建树节点结构中节点的实体信息,比如包含节点名称简称,id等属性、节点的列属性以及对其子节点的get、set方法;工厂方法模式在父类中提供了创建对象的接口但允许子类更改将要创建的对象的类型,通过工厂方法模式结合目标节点配置类信息生成树表节点结构中待配置功能节点的配置信息,例如节点配置中定义的节点属性信息中几个属性就对应表的几列等,用于在后述的目标界面节点切换时匹配节点对应的节点配置类。以上实施方式实现不同软件模块中含有相同节点时,只需要将自定义的目标节点配置文件中的节点配置信息进行拷贝,即可以完成新软件模块中节点的配置和页面加载,无需添加代码;因为目标节点配置类信息与目标节点实体类信息的生成和组合过程中,变量是目标节点配置文件中的节点属性信息和节点层级关系以及节点配置资源文件ARXML文件中导入的节点数据资源信息,后续待配置功能节点的展示只涉及目标节点配置文件中的节点属性信息和节点层级关系,所以拷贝目标节点配置文件中的节点属性信息和节点层级关系放置在不同的软件模块,可以在展示出相同的节点效果;并且随着AP AUTOSAR版本升级时,只需要更改目标节点配置文件中的节点配置信息,工具即可完成扩展和升级。
参考图3,在一种可能的实施方式中,步骤S301至步骤S304与前述步骤S201至步骤S204一致,其中步骤S305可以包括:响应于第一节点展示指令,将所述至少一个待配置功能节点基于预设展示方式在目标界面中展示;所述预设展示方式包括树节点结构和树表节点结构。
具体的,将上述步骤中得到的待配置功能节点调用Eclipse中SWT模型进行界面展示和操作,Eclipse是一个开放源代码的、基于Java的可扩展开发平台,Eclipse本身只是一个框架平台,但是众多插件的支持使得Eclipse具有灵活性,SWT(Standard WidgetToolkit)是一种基于Java的窗口组件,旨在提供高效、可移植的用户界面设施的访问,并在其上实现的操作系统。本发明实施例中对于待配置功能节点的展示包括两种方式,一种是packageable树节点结构,展示在界面的左侧,一种element树表节点结构,展示在界面的右侧。packageable节点需要在树节点结构中读取新增子节点信息、节点创建的最大个数等信息进行界面右键操作;element节点信息需要在树表节点结构中读取新增子节点信息、自身节点的属性信息、列编辑信息等。以上实施方式将待配置功能节点采用两种方式展示,可以直观地在目标界面对待配置功能节点进行操作,提供高效的节点创建和展示操作方式,这样有利于配置工具软件的使用和维护。
参考图4,在一种可能的实施方式中,所述方法还包括:
S401,响应于针对所述目标界面的节点操作指令,获取对所述至少一个待配置功能节点的更新请求;所述更新请求包括新增或删除所述至少一个待配置功能节点;
S402,基于所述更新请求,对所述至少一个待配置功能节点进行更新,确定更新后的至少一个待配置功能节点;
S403,接收用户触发的保存指令,将所述更新后的至少一个待配置功能节点对应的节点数据存储至所述节点配置资源文件中。
S404,响应于第二节点展示指令,将所述更新后的至少一个待配置功能节点基于所述预设展示方式在目标界面中展示。
具体的,在配置工具软件程序生成后,目标界面展示待配置功能节点,用户可以在目标界面对待配置功能节点进行更新,包括新增节点或删除节点等。并且节点实体类信息同步更新,当用户执行保存操作时,接收用户触发的保存指令,将更新后的待配置功能节点的节点数据保存到节点配置资源文件中,本发明实施例是同步至ARXML文件中,并且在目标界面上动态展示更新后的待配置功能节点。以上实施方式能够降低配置工具软件的耦合度,有效提高程序运行效率,加快程序运行速度。
在一种可能的实施方式中,所述方法还包括:
响应于待开发车辆软件模块的配置指令,获取所述待开发车辆软件模块的待配置数据;
当所述待配置数据与所述目标节点配置类信息相对应时,复制所述目标节点规则文件中与所述待配置数据相对应的目标节点配置类信息,生成待开发车辆软件模块配置文件;
基于所述待开发车辆软件模块配置文件生成所述待开发车辆软件模块。
本发明通过以上实施方式,自定义xml规则文件,编写待配置功能节点的节点配置信息(节点属性信息和节点层级关系),将节点配置信息抽取出来以提高开发效率,减少工具开发中节点的创建和关联的重复代码;利用ATUOSAR提供的Artop按需加载ARXML节点数据资源信息并通过设计模式进行目标节点配置类信息和目标节点实体类信息的组合,当用户点击刷新页面时才需再次加载,这样可以有效提高程序运行效率,加快程序运行速度;当不同车辆软件模块中含有相同节点时,只需要将xml规则文件中节点信息进行拷贝,可以完成新模块中节点的配置和页面加载,无需添加程序代码;并且随着AP AUTOSAR版本升级时,只需要更改xml规则文件中的节点配置信息,配置工具即可完成扩展和升级。
与上述用于实现车辆软件的程序生成方法相对应,本发明实施例还提供一种用于实现车辆软件的程序生成装置,由于本发明实施例提供的用于实现车辆软件的程序装置与上述几种实施例提供的用于实现车辆软件的程序生成方法相对应,因此前述用于实现车辆软件的程序生成方法的实施方式也适用于本实施例提供的用于实现车辆软件的程序装置,在本发明实施例中不再赘述。
参考图5,其所示为本发明实施例提供的一种用于实现车辆软件的程序生成装置的结构示意图,该装置具有实现上述方法实施例中用于实现车辆软件的程序生成方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现,该装置可以包括:
目标节点配置文件获取模块510,用于获取预置的目标节点配置文件;所述目标节点配置文件包括至少一个待配置功能节点中每个待配置功能节点的节点属性信息和节点层级关系;所述用于实现车辆软件的程序包括所述至少一个待配置功能节点;
解析模块520,用于对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息;
节点实体类信息确定模块530,用于获取预设基础功能源码和节点配置资源文件,基于所述预设基础功能源码、所述节点配置资源文件和每个待配置功能节点的目标节点配置类信息确定每个待配置功能节点的目标节点实体类信息;
节点组合模块540,用于将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到所述至少一个待配置功能节点;所述至少一个待配置功能节点用于在响应于第一节点展示指令时进行展示。
可选的,所述解析模块520包括:
解析单元,用于对所述目标节点配置文件进行解析,得到所述每个待配置功能节点的节点属性信息和节点层级关系;
目标节点配置类信息确定单元,用于获取预先定义的节点配置类,基于所述预先定义的节点配置类将所述每个待配置功能节点的属性信息和节点层级关系映射成每个待配置功能节点的目标节点配置类信息。
可选的,所述节点实体类信息确定模块530包括:
目标节点数据获取单元,用于基于所述预设基础功能源码对应的数据模型框架,加载所述节点配置资源文件中与所述每个待配置功能节点的目标节点配置类信息对应的目标节点数据;
数据反射单元,用于将所述目标节点数据进行数据反射生成每个待配置功能节点的目标节点实体类信息;所述目标节点实体类信息与所述目标节点数据的实体信息相对应。
可选的,所述节点组合模块540包括:
第一节点信息生成单元,用于将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第一组合模式组合,得到第一节点信息;所述第一节点信息用于确定所述每个待配置功能节点的实体信息;
第二节点信息生成单元,用于将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第二组合模式组合,得到第二节点信息;所述第二节点信息用于确定所述每个待配置功能节点的配置信息;
待配置功能节点生成单元,用于基于所述第一节点信息和所述第二节点信息得到所述至少一个待配置功能节点。
可选的,所述装置还包括:
第一展示模块,用于响应于第一节点展示指令,将所述至少一个待配置功能节点基于预设展示方式在目标界面中展示;所述预设展示方式包括树节点结构和树表节点结构。
可选的,所述装置还包括:
节点更新请求获取模块,用于响应于针对所述目标界面的节点操作指令,获取对所述至少一个待配置功能节点的更新请求;所述更新请求包括新增或删除所述至少一个待配置功能节点;
节点更新模块,用于基于所述更新请求,对所述至少一个待配置功能节点进行更新,确定更新后的至少一个待配置功能节点;
存储模块,用于接收用户触发的保存指令,将所述更新后的至少一个待配置功能节点对应的节点数据存储至所述节点配置资源文件中。
第二展示模块,用于响应于第二节点展示指令,将所述更新后的至少一个待配置功能节点基于所述预设展示方式在目标界面中展示。
可选的,所述装置还包括:
待配置数据获取模块,用于响应于待开发车辆软件模块的配置指令,获取所述待开发车辆软件模块的待配置数据;
软件模块配置文件生成模块,用于当所述待配置数据与所述目标节点配置类信息相对应时,复制所述目标节点规则文件中与所述待配置数据相对应的目标节点配置类信息,生成待开发车辆软件模块配置文件;
软件开发模块,用于基于所述待开发软件模块配置文件生成所述待开发软件模块。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现如上述用于实现车辆软件的程序生成方法的步骤。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。处理器可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在终端上为例,参考图6,其所示为本发明实施例提供的运行一种用于实现车辆软件的程序生成方法的终端的硬件结构示意图。
具体的,所述终端可以包括RF(Radio Frequency,射频)电路610、包括有一个或一个以上计算机可读存储介质的存储器620、输入单元630、显示单元640、传感器650、音频电路660、WiFi(wireless fidelity,无线保真)模块670、包括有一个或者一个以上处理核心的处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器680处理;另外,将涉及上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器620还可以包括存储器控制器,以提供处理器680和输入单元630对存储器620的访问。
输入单元630可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元630可包括触敏表面631以及其他输入设备632。触敏表面631,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面631上或在触敏表面631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面631。除了触敏表面631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及所述终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元640可包括显示面板641,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板641。进一步的,触敏表面631可覆盖显示面板641,当触敏表面631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。其中,触敏表面631与显示面板641可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触敏表面631与显示面板641集成而实现输入和输出功能。
所述终端还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在所述终端移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于所述终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与所述终端之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一终端,或者将音频数据输出至存储器620以便进一步处理。音频电路660还可能包括耳塞插孔,以提供外设耳机与所述终端的通信。
WiFi属于短距离无线传输技术,所述终端通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于所述终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行所述终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器680可包括一个或多个处理核心;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
所述终端还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源690还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,所述终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述用于实现车辆软件的程序生成方法的步骤。在本发明实施例中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现上述的方法。在本发明实施例中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。
本发明实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的用于实现车辆软件的程序生成方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于实现车辆软件的程序生成方法,其特征在于,包括:
获取预置的目标节点配置文件;所述目标节点配置文件包括至少一个待配置功能节点中每个待配置功能节点的节点属性信息和节点层级关系;所述用于实现车辆软件的程序包括所述至少一个待配置功能节点;
对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息;
获取预设基础功能源码和节点配置资源文件,基于所述预设基础功能源码、所述节点配置资源文件和每个待配置功能节点的目标节点配置类信息确定每个待配置功能节点的目标节点实体类信息;
将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到所述至少一个待配置功能节点;所述至少一个待配置功能节点用于在响应于第一节点展示指令时进行展示。
2.根据权利要求1所述的用于实现车辆软件的程序生成方法,其特征在于,所述对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息包括:
对所述目标节点配置文件进行解析,得到所述每个待配置功能节点的节点属性信息和节点层级关系;
获取预先定义的节点配置类,基于所述预先定义的节点配置类将所述每个待配置功能节点的属性信息和节点层级关系映射成每个待配置功能节点的目标节点配置类信息。
3.根据权利要求1所述的用于实现车辆软件的程序生成方法,其特征在于,所述基于所述预设基础功能源码、所述节点配置资源文件和每个待配置功能节点的目标节点配置类信息确定每个待配置功能节点的目标节点实体类信息包括:
基于所述预设基础功能源码对应的数据模型框架,加载所述节点配置资源文件中与所述每个待配置功能节点的目标节点配置类信息对应的目标节点数据;
将所述目标节点数据进行数据反射生成每个待配置功能节点的目标节点实体类信息;所述目标节点实体类信息与所述目标节点数据的实体信息相对应。
4.根据权利要求1所述的用于实现车辆软件的程序生成方法,其特征在于,所述将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到所述至少一个待配置功能节点包括:
将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第一组合模式组合,得到第一节点信息;所述第一节点信息用于确定所述每个待配置功能节点的实体信息;
将所述每个待配置功能节点的目标节点配置类信息与目标节点实体类信息通过第二组合模式组合,得到第二节点信息;所述第二节点信息用于确定所述每个待配置功能节点的配置信息;
基于所述第一节点信息和所述第二节点信息得到所述至少一个待配置功能节点。
5.根据权利要求1所述的用于实现车辆软件的程序生成方法,其特征在于,还包括:
响应于第一节点展示指令,将所述至少一个待配置功能节点基于预设展示方式在目标界面中展示;所述预设展示方式包括树节点结构和树表节点结构。
6.根据权利要求5所述的用于实现车辆软件的程序生成方法,其特征在于,还包括:
响应于针对所述目标界面的节点操作指令,获取对所述至少一个待配置功能节点的更新请求;所述更新请求包括新增或删除所述至少一个待配置功能节点;
基于所述更新请求,对所述至少一个待配置功能节点进行更新,确定更新后的至少一个待配置功能节点;
接收用户触发的保存指令,将所述更新后的至少一个待配置功能节点对应的节点数据存储至所述节点配置资源文件中。
响应于第二节点展示指令,将所述更新后的至少一个待配置功能节点基于所述预设展示方式在目标界面中展示。
7.根据权利要求1至6任一项所述的用于实现车辆软件的程序生成方法,其特征在于,还包括:
响应于待开发车辆软件模块的配置指令,获取所述待开发车辆软件模块的待配置数据;
当所述待配置数据与所述目标节点配置类信息相对应时,复制所述目标节点规则文件中与所述待配置数据相对应的目标节点配置类信息,生成待开发车辆软件模块配置文件;
基于所述待开发车辆软件模块配置文件生成所述待开发车辆软件模块。
8.一种用于实现车辆软件的程序生成装置,其特征在于,包括:
目标节点配置文件获取模块,用于获取预置的目标节点配置文件;所述目标节点配置文件包括至少一个待配置功能节点中每个待配置功能节点的节点属性信息和节点层级关系;所述用于实现车辆软件的程序包括所述至少一个待配置功能节点;
解析模块,用于对所述目标节点配置文件进行解析,基于每个待配置功能节点的节点属性信息和节点层级关系生成每个待配置功能节点的目标节点配置类信息;
节点实体类信息确定模块,用于获取预设基础功能源码和节点配置资源文件,基于所述预设基础功能源码、所述节点配置资源文件和每个待配置功能节点的目标节点配置类信息确定每个待配置功能节点的目标节点实体类信息;
节点组合模块,用于将每个待配置功能节点的目标节点配置类信息与目标节点实体类信息进行组合,得到所述至少一个待配置功能节点;所述至少一个待配置功能节点用于在响应于第一节点展示指令时进行展示。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的用于实现车辆软件的程序生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1至7任一项所述的用于实现车辆软件的程序生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310187792.7A CN116301801A (zh) | 2023-03-01 | 2023-03-01 | 用于实现车辆软件的程序生成方法、相关设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310187792.7A CN116301801A (zh) | 2023-03-01 | 2023-03-01 | 用于实现车辆软件的程序生成方法、相关设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116301801A true CN116301801A (zh) | 2023-06-23 |
Family
ID=86786266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310187792.7A Pending CN116301801A (zh) | 2023-03-01 | 2023-03-01 | 用于实现车辆软件的程序生成方法、相关设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301801A (zh) |
-
2023
- 2023-03-01 CN CN202310187792.7A patent/CN116301801A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345543B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN106775637B (zh) | 一种应用程序的页面显示方法和装置 | |
CN109857403B (zh) | 一种页面更新、页面处理方法及装置 | |
US10186244B2 (en) | Sound effect processing method and device, plug-in unit manager and sound effect plug-in unit | |
CN106502703B (zh) | 一种函数调用方法和装置 | |
CN107958365B (zh) | 物料信息变更方法、装置、存储介质及电子设备 | |
CN103455343A (zh) | 一种更新应用程序的方法和装置 | |
CN104281394A (zh) | 智能选词的方法和装置 | |
CN112000566B (zh) | 测试用例的生成方法及装置 | |
CN113835701A (zh) | 一种基于组件化的代码生成方法和装置 | |
CN111723002A (zh) | 一种代码调试方法、装置、电子设备及存储介质 | |
CN105847325A (zh) | 应用客户端的调试方法及装置 | |
CN113377469A (zh) | 移动应用的业务界面显示方法、装置、终端及存储介质 | |
EP2869604B1 (en) | Method, apparatus and device for processing a mobile terminal resource | |
CN106407800A (zh) | 一种hook的方法及终端设备 | |
CN105955739A (zh) | 一种图形界面的处理方法、装置和系统 | |
CN104063400A (zh) | 数据搜索方法和装置 | |
CN108984374B (zh) | 一种数据库性能的测试方法和系统 | |
CN112667223A (zh) | 组件配置表的生成方法、装置、电子设备及存储介质 | |
CN111966491A (zh) | 统计占用内存的方法及终端设备 | |
CN114115895A (zh) | 一种代码查询方法、装置、电子设备和存储介质 | |
CN109145598B (zh) | 脚本文件的病毒检测方法、装置、终端及存储介质 | |
CN103309677B (zh) | 内置资源管理方法、装置及终端 | |
CN106230919B (zh) | 一种文件上传的方法和装置 | |
CN113742716B (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 |