CN116088924A - 一种用于自动驾驶系统的软件管理方法及系统 - Google Patents

一种用于自动驾驶系统的软件管理方法及系统 Download PDF

Info

Publication number
CN116088924A
CN116088924A CN202211742964.4A CN202211742964A CN116088924A CN 116088924 A CN116088924 A CN 116088924A CN 202211742964 A CN202211742964 A CN 202211742964A CN 116088924 A CN116088924 A CN 116088924A
Authority
CN
China
Prior art keywords
software
version
source code
quality
matched
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
Application number
CN202211742964.4A
Other languages
English (en)
Inventor
张茹艺
常敬鑫
李英龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Zhijia Technology Co Ltd
Original Assignee
Suzhou Zhijia Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Zhijia Technology Co Ltd filed Critical Suzhou Zhijia Technology Co Ltd
Priority to CN202211742964.4A priority Critical patent/CN116088924A/zh
Publication of CN116088924A publication Critical patent/CN116088924A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及自动驾驶技术领域,具体公开了一种用于自动驾驶系统的软件管理方法及系统,包括定义软件结构,以及设置质量要求;获取软件的源代码,基于软件的源代码匹配上述软件结构,以及获得系统ID号;记录软件版本;评估匹配的软件结构以及所述记录的软件版本对所述质量要求的影响,以匹配相应的质量要求;基于软件源代码匹配的软件结构、记录的软件版本、匹配的质量要求以及系统ID号构建软件版本编号;基于所述软件版本编号识别和管理软件对系统质量的影响;该方法能实现每一次更新迭代软件包的源代码构成可以被追溯,而且该方法能够反映软件产品质量的变化。

Description

一种用于自动驾驶系统的软件管理方法及系统
技术领域
本发明涉及自动驾驶技术领域,具体涉及一种用于自动驾驶系统的软件管理方法及系统。
背景技术
软件包是软件产品所需的文件和目录的集合,软件包的物料清单(SoftwareBillof Material)在传统信息技术(IT)领域由其来源(源代码)和从属物(例如二进制转换文件)构建;这种方式通常适用于源代码来源单一和从属物构建过程统一的软件公司。
而一个装配在车辆上的自动驾驶系统的软件包的构成极为复杂,其复杂有两个原因:第一,源代码来自多个不同的开发团队,在编码风格和代码结构的逻辑上都不尽相同;第二,从属物的形成过程不受控制,例如在将源代码转换为二进制文件时使用的工具和过程中的安全控制也都没有采用同一的标准。
由于车辆产品的软件包的构成极为复杂,因此管理软件包的构成和其构成的过程对自动驾驶车辆的生产者或者车载自动驾驶系统的提供者都是一个不小的挑战;因为自动驾驶系统的软件包迭代比一般控制器时间间隔更短,每一次迭代软件包的源代码构成都可能有新的来源(支持新的功能的第三方,或者更换迭代软硬件需要替换部分源代码),因此目前管理自动驾驶复杂软件包的技术存在无法准确清晰的追溯源代码的缺陷;而且目前自动驾驶系统软件在由各种编码语言(e.g..,C,C++,Java)转化为二进制码烧录到处理设施的过程不严格执行合规的操作流程,为了完成烧录会修改一些参数或执行错误的操作,甚至编码完成后不检查是否有不符合规范的脚本被调用;因此存在无法控制从属物的构建过程并识别构建过程中的问题的缺陷,即存在不能控制产品质量的缺陷。
复杂系统的软件构成往往来自许多第三方,并且随着市场上对车辆信息安全的重视,以及车辆软件远程升级(Over-The-Air升级技术)的应用,迫使自动驾驶车辆的生产者或者车载自动驾驶系统的提供者亟需开发一种能管理自动驾驶系统软件版本和产品质量的方法。
发明内容
针对上述问题,本发明的一个目的是提供一种用于自动驾驶系统的软件管理方法,该方法能实现每一次更新迭代软件包的源代码构成可以被追溯,并且从属物转化过程中可以保证转化前的代码和转化后的软件运行一致;而且该方法能够反映软件产品质量的变化。
本发明的第二个目的是提供一种用于自动驾驶系统的软件管理系统。
本发明所采用的第一个技术方案是:一种用于自动驾驶系统的软件管理方法,包括以下步骤:
S100:定义软件结构,以及设置质量要求;
S200:获取软件的源代码,基于软件的源代码匹配上述软件结构,以及获得系统ID号并记录软件版本;
S300:评估匹配的软件结构以及所述记录的软件版本对所述质量要求的影响,以匹配相应的质量要求;
S400:基于软件源代码匹配的软件结构、记录的软件版本、匹配的质量要求以及系统ID号构建软件版本编号;基于所述软件版本编号识别和管理软件对系统质量的影响。
优选地,所述软件结构根据软件功能、集成软件的最小硬件单元、源代码来源来定义。
优选地,所述软件结构包括智驾域控制器、片上系统、微控制器、驾驶员监控系统、人机交互系统。
优选地,所述质量要求根据汽车行业软件过程改进和能力评价的国际标准或车辆一致性来设置。
优选地,所述步骤S200包括:
收集第三方或开发者的源代码,分析识别该源代码所影响的功能、集成软件的最小硬件单元或来源,从而匹配所述软件结构。
优选地,所述步骤S200中系统ID号通过以下方式获得:
根据软件的来源以及该软件要应用到的系统来定义系统ID号。
优选地,所述步骤S200中记录软件版本包括:
判断所述软件是否为新开发软件,若是新开发软件,则在释放后记录第一版,若不是新开发软件,则迭代并记录现行软件版本。
优选地,所述步骤S300包括:
基于软件匹配的软件结构以及记录的软件版本来判断是否会对所设置的质量要求有影响,若有影响,则匹配为对应的质量要求。
优选地,所述步骤S400中的软件版本编号为:软件结构-系统ID号-记录的软件版本-质量要求。
本发明所采用的第二个技术方案是:一种用于自动驾驶系统的软件管理系统,包括:自定义模块、匹配模块、评估模块和管理模块;
所述自定义模块用于定义软件结构,以及设置质量要求;
所述匹配模块用于获取软件的源代码,基于软件的源代码匹配上述软件结构,以及获得系统ID号并记录软件版本;
所述评估模块用于评估匹配的软件结构以及所述记录的软件版本对所述质量要求的影响,以匹配相应的质量要求;
所述管理模块用于基于软件源代码匹配的软件结构、记录的软件版本、匹配的质量要求以及系统ID号构建软件版本编号;基于所述软件版本编号识别和管理软件对系统质量的影响。
上述技术方案的有益效果:
(1)本发明公开的一种用于自动驾驶系统的软件管理方法能实现每一次更新迭代软件包的源代码构成可以被追溯,并且从属物转化过程中可以保证转化前的代码和转化后的软件运行一致;而且该方法能够反映软件产品质量的变化。
(2)本发明中旨在提供一种可视化的方法来体现自动驾驶系统软件的构成(源代码来源)并且能够追溯在转化从属物过程中各项规定范围的参数对系统或车辆整体质量要求的影响。
(3)本发明主要是提供一种满足软件更新相关法规要求的软件版本记录方法(可以通过自动化工具记录来实现),使用本方法可以根据更新的软件版本快速检索出对应的质量影响范围,并根据此范围提供提交给工信部或其他监管机构的软件升级备案材料;其次本发明为检索软件版本对最小硬件单元和系统的质量影响提供了可视化效果,可以针对某一关键质量要求,看到对其产生影响的软件(版本)。
附图说明
图1为本发明一个实施例提供的一种用于自动驾驶系统的软件管理方法的流程图;
图2为本发明一个实施例提供的管理自动驾驶系统软件的示意图;
图3为本发明一个实施例提供的一种用于自动驾驶系统的软件管理系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本发明的原理,但不能用来限制本发明的范围,即本发明不限于所描述的优选实施例,本发明的范围由权利要求书限定。
在本发明的描述中,需要说明的是,除非另有说明,“多个”的含义是两个或两个以上;术语“第一”“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性;对于本领域的普通技术人员而言,可视具体情况理解上述术语在本发明中的具体含义。
实施例1
如图1所示,本实施例公开了一种用于自动驾驶系统的软件管理方法,包括以下步骤:
S100:定义软件结构,以及设置质量要求;
如图2所示,软件结构(即软件的构成部分)可以根据软件功能、集成软件的最小硬件单元、源代码来源等来定义;软件结构可以是系统组件中某个零部件的软件也可以是来自第三方提供的软件源代码成分;如图2所示,软件的构成部分例如包括但不限于智驾域控制器(ADU)、片上系统(SoC)、微控制器(MCU)、驾驶员监控系统(DMS)、人机交互系统(HMI)等,图2中ZZZ表示待定义的任意其他的构成部分。
系统的质量要求可以根据汽车行业软件过程改进和能力评价的国际标准(ASPICE)或者车辆一致性来设置,即质量要求可以按照搭载系统软件的车辆需要满足的市场法规来定制,也可以按照搭载系统软件的车辆类型所需要符合的质量要求来定制;质量要求例如包括环保CCC、油耗EF、节能ES、安全SF等。
S200:获取软件的源代码,基于软件的源代码匹配上述软件结构,以及获得系统ID号并记录软件版本;
收集第三方或开发者的源代码,分析识别该源代码所影响的功能、集成软件的最小硬件单元或来源(第三方或开发者)来匹配上述软件结构,对于自动驾驶系统或装车的软件匹配最小硬件单元更便于识别问题来源。
根据软件的来源(供应商编号或项目代号)以及该软件要应用到的系统,获得系统ID号;系统ID号例如为:供应商编号/项目代号(PDA)-系统ID(Sys01);通常一个自动驾驶解决方案供应商需要提供方案给多个主机厂的不同车型,通过设置系统ID号(即增加项目代号或者供应商编号到系统ID中)可以更好的识别系统的适配车型。
记录软件版本:判断上述软件是否为新开发软件,若是新开发软件,则在释放后记录第一版即1.0,若非新开发软件,则需要迭代现行软件版本,即增加版本“Y”。
如图2所示,新开发的软件需要从第一次释放的版本1.0开始记录;对已经存在的软件做更改需要记录新的版本,唯一最新版本(即现行软件版本)也会成为软件版本(编号)的一部分,最新版本(现行软件版本)用“Y”表示。
S300:评估所述匹配的软件结构以及记录的软件版本对所述质量要求的影响,以匹配相应的质量要求;
基于所述软件匹配的软件结构以及记录的软件版本来判断是否会对所设置的质量要求有影响,若有影响,则匹配为对应的质量要求。
基于每一软件构成的成分(软件结构)以及从属物构建过程来确认是否会对系统或整车的质量要求有影响,例如自动驾驶系统的子系统由智驾域控制器(ADU)、驾驶员监控系统(DMS)、人机交互系统(HMI)、片上系统(SoC)和微控制器(MCU)组成;片上系统(SoC)和微控制器(MCU)为集成软件的最小硬件单元,SoC中因集成了自动驾驶规划和控制算法通过控制车身姿态和横向纵向移动的变化来实现最少油耗,所以SoC软件的变化可能会使搭载自动驾驶系统车辆的油耗升高或降低,一旦验证会升高就有可能不符合油耗的质量要求,如图2所示SoC的第一版软件已经集成了标定好且经过验证的节油的算法,第二版在AI学习过程中已经生成了迭代的软件版本,故两个版本的软件都对油耗的效能有影响,从而提升或降低质量指标;因此,SoC软件的第一版和第二版匹配的质量要求为油耗EF。
S400:基于软件源代码匹配的软件结构、记录的软件版本、质量要求以及系统ID号构建软件版本编号,并存储;基于软件版本编号识别和管理软件对系统质量的影响;
软件版本编号中包括软件结构、记录的软件版本、质量要求以及系统ID号信息,例如软件版本编号为:软件结构-系统ID号-记录的软件版本-质量要求;其中,
将软件结构的组成部分以“ZZZ”三个大写英文字母表示,也可依据系统要求自定义;
记录的软件版本可以依据实际情况自定义;若某一软件的第一版和第二版均对同一质量要求有影响,则在软件版本编号中更新记录为最新的版本(即第二版),例如软件版本编号更新为:“软件结构-系统ID号-第二版-质量要求”,而软件版本编号“软件结构-系统ID号-第一版-质量要求”或作为历史记录进行存储;
系统ID号:因为在车辆系统中,基于一些标准协议或通用软件框架,某些软件会被复用到多个系统(硬件设备)中,所以在软件版本编号中会看到同一系统ID。
如果软件源代码涉及的改动大于或等于2个软件结构,则在软件版本编号中只体现系统名称即可,即软件版本编号为:系统ID号-记录的软件版本-质量要求;此时记录的软件版本优先记录新开发软件,例如当软件结构Soc的3.0版本和MCU的1.0版本均对安全SF有影响,此时软件版本编号记录为:系统ID号-1.0-SF。
基于软件版本编号识别和管理软件对系统质量的影响包括:
如图2所示,设置相应的表格,例如:表格的行依次设置为软件结构、系统ID号和软件版本编号(即软件版本);表格的最左侧列表为质量要求;最右侧列表分别为与各质量要求对应的系统ID以及软件版本编号;最右端的软件版本(编号)应该取代传统的软件版本编号存储在系统中来指代当前的适用软件版本。
在物料清单(Bill of Material)中用本发明的软件版本编号代替原有传统的软件版本信息(或基于本发明的软件版本编号重新创建列表)来识别和管理软件成分对系统或车辆质量的影响。
实施例2
如图3所示,本实施例公开了一种用于自动驾驶系统的软件管理系统,包括:自定义模块、匹配模块、评估模块和管理模块;
所述自定义模块用于定义软件结构,以及设置质量要求;
所述匹配模块用于获取软件的源代码,基于软件的源代码匹配上述软件结构,以及获得系统ID号并记录软件版本;
所述评估模块用于评估匹配的软件结构以及所述记录的软件版本对所述质量要求的影响,以匹配相应的质量要求;
所述管理模块用于基于软件源代码匹配的软件结构、记录的软件版本、匹配的质量要求以及系统ID号构建软件版本编号;基于所述软件版本编号识别和管理软件对系统质量的影响。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种用于自动驾驶系统的软件管理方法,其特征在于,包括以下步骤:
S100:定义软件结构,以及设置质量要求;
S200:获取软件的源代码,基于软件的源代码匹配上述软件结构,以及获得系统ID号并记录软件版本;
S300:评估匹配的软件结构以及所述记录的软件版本对所述质量要求的影响,以匹配相应的质量要求;
S400:基于软件源代码匹配的软件结构、记录的软件版本、匹配的质量要求以及系统ID号构建软件版本编号;基于所述软件版本编号识别和管理软件对系统质量的影响。
2.根据权利要求1所述的软件管理方法,其特征在于,所述软件结构根据软件功能、集成软件的最小硬件单元、源代码来源来定义。
3.根据权利要求2所述的软件管理方法,其特征在于,所述软件结构包括智驾域控制器、片上系统、微控制器、驾驶员监控系统、人机交互系统。
4.根据权利要求1所述的软件管理方法,其特征在于,所述质量要求根据汽车行业软件过程改进和能力评价的国际标准或车辆一致性来设置。
5.根据权利要求1所述的软件管理方法,其特征在于,所述步骤S200包括:
收集第三方或开发者的源代码,分析识别该源代码所影响的功能、集成软件的最小硬件单元或来源,从而匹配所述软件结构。
6.根据权利要求1所述的软件管理方法,其特征在于,所述步骤S200中系统ID号通过以下方式获得:
根据软件的来源以及该软件要应用到的系统来定义系统ID号。
7.根据权利要求1所述的软件管理方法,其特征在于,所述步骤S200中记录软件版本包括:
判断所述软件是否为新开发软件,若是新开发软件,则在释放后记录第一版,若不是新开发软件,则迭代并记录现行软件版本。
8.根据权利要求1所述的软件管理方法,其特征在于,所述步骤S300包括:
基于软件匹配的软件结构以及记录的软件版本来判断是否会对所设置的质量要求有影响,若有影响,则匹配为对应的质量要求。
9.根据权利要求1所述的软件管理方法,其特征在于,所述步骤S400中的软件版本编号为:软件结构-系统ID号-记录的软件版本-质量要求。
10.一种用于自动驾驶系统的软件管理系统,其特征在于,包括:自定义模块、匹配模块、评估模块和管理模块;
所述自定义模块用于定义软件结构,以及设置质量要求;
所述匹配模块用于获取软件的源代码,基于软件的源代码匹配上述软件结构,以及获得系统ID号并记录软件版本;
所述评估模块用于评估匹配的软件结构以及所述记录的软件版本对所述质量要求的影响,以匹配相应的质量要求;
所述管理模块用于基于软件源代码匹配的软件结构、记录的软件版本、匹配的质量要求以及系统ID号构建软件版本编号;基于所述软件版本编号识别和管理软件对系统质量的影响。
CN202211742964.4A 2022-12-30 2022-12-30 一种用于自动驾驶系统的软件管理方法及系统 Pending CN116088924A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211742964.4A CN116088924A (zh) 2022-12-30 2022-12-30 一种用于自动驾驶系统的软件管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211742964.4A CN116088924A (zh) 2022-12-30 2022-12-30 一种用于自动驾驶系统的软件管理方法及系统

Publications (1)

Publication Number Publication Date
CN116088924A true CN116088924A (zh) 2023-05-09

Family

ID=86198651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211742964.4A Pending CN116088924A (zh) 2022-12-30 2022-12-30 一种用于自动驾驶系统的软件管理方法及系统

Country Status (1)

Country Link
CN (1) CN116088924A (zh)

Similar Documents

Publication Publication Date Title
KR102525502B1 (ko) 자동운전 테스트 데이터 저장 방법, 장치, 전자 기기, 저장 매체 및 프로그램
US7490319B2 (en) Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems
US8112742B2 (en) Method and system for debugging data integration applications with reusable synthetic data values
US20100023928A1 (en) Method for the computer-assisted analysis of software source code
WO2010118416A2 (en) Software database system and process of building and operating the same
US20080040125A1 (en) Apparatus for Revising Corporate Checklist
US8239850B2 (en) Computer-implemented method of releasing battery state estimation software
US8375352B2 (en) Terms management system (TMS)
Olsem An incremental approach to software systems re‐engineering
CN116088924A (zh) 一种用于自动驾驶系统的软件管理方法及系统
US8707307B2 (en) Creating jobs by replacing execution attributes within job definition when a job activation request is received with execution attributes based on predetermined conditions being satisfied
US10429843B1 (en) Parametrizable automatic piloting system intended for an aircraft
Walker et al. Configuration management of the model-based design process
US20110213728A1 (en) Requirements check-in/out tool, called r2db
US20080022258A1 (en) Custom database system and method of building and operating the same
CN102156638A (zh) 客制化软件源码的更新方法
US8631393B2 (en) Custom database system and method of building and operating the same
CN117687681B (zh) 一种低代码应用的版本管理方法及系统
Ulrich Knowledge mining: Business rule extraction and reuse
Eastman et al. Management of design information flows
EP4359914A1 (en) Software update management for vehicles
Dern Embedded Software: Striving for excellence in development
Gerlitz Incremental Integration and Static Analysis of Model-Based Automotive Software Artifacts
Reid et al. The New-Generation Toolset Providing Comprehensive Support for Mission Operations Preparation and Validation
Wordsworth Formal methods and product documentation

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