CN116324735A - 基于真实世界场景验证软件驱动系统 - Google Patents

基于真实世界场景验证软件驱动系统 Download PDF

Info

Publication number
CN116324735A
CN116324735A CN202080103414.0A CN202080103414A CN116324735A CN 116324735 A CN116324735 A CN 116324735A CN 202080103414 A CN202080103414 A CN 202080103414A CN 116324735 A CN116324735 A CN 116324735A
Authority
CN
China
Prior art keywords
driven system
software driven
real world
test
test scenarios
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
CN202080103414.0A
Other languages
English (en)
Inventor
V·拉玛纳斯
S·卡尔卡达苏雷施
M·沃尔姆
R·德依玻里多
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.)
Siemens Industry Software NV
Original Assignee
Siemens Industry Software NV
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 Siemens Industry Software NV filed Critical Siemens Industry Software NV
Publication of CN116324735A publication Critical patent/CN116324735A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种用于在计算机辅助工程环境(100)中基于真实世界场景来验证软件驱动系统的装置(105)和方法。该方法包括由处理单元(120)获得对应于软件驱动系统的测试的多个测试场景。此外,基于可变参数的集合生成与软件驱动系统相关联的至少一个真实世界场景。此外,使用经训练的机器学习模型从多个测试场景中识别适合于基于至少一个真实世界场景测试软件驱动系统的一个或多个测试场景。在模拟环境中对软件驱动系统的模型应用所识别的测试场景,以评估软件驱动系统的行为。基于评估的结果,验证软件驱动系统在真实世界场景中的行为。

Description

基于真实世界场景验证软件驱动系统
本发明涉及验证软件驱动系统的领域,并且更具体地,涉及用于基于真实世界场景来验证软件驱动系统的装置和方法。
制造公司在将它们的产品投放到市场中之前,通常会对它们执行大量测试。执行这样的测试是为了针对预定义的标准或法规遵从性来验证产品的规格。规格可能对应于产品的功能或非功能方面。如果产品通过了所有规定的验证测试,就认为产品准备好上市了。否则,制造公司可能会重新设计产品,以便确保规格满足预定义的标准或法规遵从性。
然而,诸如在不同环境中运行的自主系统的组件的复杂系统的测试造成了几个挑战。复杂系统的测试可能是麻烦的,因为这样的自主系统的行为是非确定性的,并且是基于运行的上下文(context)的。此外,由于复杂系统并不总是在人的控制或监督之下,因此通过确认&验证(V&V)方法确保这样的系统的安全行为至关重要。
复杂系统通常通过真实世界场景的模拟来测试。这样的测试通常涉及许多实验组合。每个实验组合可以对应于与复杂系统的环境相关联的可变参数的不同设置。然而,一些实验组合在真实世界场景中可能是不可行或不可能的。此外,由于测试中涉及的模拟在计算上是昂贵的,不可行的场景增加了计算的复杂性。
鉴于上述情况,存在对一种用于基于可行的真实世界场景来验证软件驱动系统的方法和装置的需要。
因此,本发明的目的是提供一种基于可行的真实世界场景来验证软件驱动系统的装置和方法。
本发明的目的通过本文公开的如下方法来实现:该方法用于在计算机辅助工程环境中基于真实世界场景来验证软件驱动系统。软件驱动系统的非限制性示例包括机器、嵌入式系统、交通工具、自主系统、自动引导交通工具和在不同真实世界条件中运行的其他复杂系统。在实施例中,软件驱动系统在真实世界中可具有非确定性行为。例如,这样的软件驱动系统的行为可以由与软件驱动系统相关联的传感器所感知的来自真实世界的刺激来管控。这样的刺激在下文中统称为感觉输入。在另一示例中,软件驱动系统也可以基于通过通信接口从人类操作员或另一系统接收的输入进行操作。
该方法包括获得对应于软件驱动系统的测试的多个测试场景。在本发明的实施例中,多个测试场景以可变参数定义的形式从源获得。该源可以是输入设备、用户设备或数据库。可变参数可以包括与软件驱动系统相关联的属性和过程参数中的至少一个。软件驱动系统的属性包括由软件驱动系统的设计产生的物理或功能特性。过程参数对应于与软件驱动系统相关联的环境因素。基于可变参数定义的集合,生成设计空间。这里,术语“设计空间”指的是可变参数的多维组合和交互。设计空间包含可变参数的所有可能的组合。设计空间中的可变参数的每个组合对应于测试场景或设计点。设计空间可以包括可行的测试场景和不可行的测试场景两者。可行的测试场景包括适合于测试软件驱动系统的测试场景。不可行的测试场景包括不适合于测试软件驱动系统的测试场景。例如,不可行的测试场景可包括真实世界中不会发生的场景。
该方法还包括基于可变参数的集合生成与软件驱动系统相关联的至少一个真实世界场景。在实施例中,生成至少一个真实世界场景包括确定与可变参数相关联的一个或多个约束。此外,将所述一个或多个约束应用于设计空间,以便生成对应于所述至少一个真实世界场景的修剪的设计空间。
有利地,本发明便于通过将一个或多个约束应用于设计空间来修剪用于测试软件驱动系统的设计空间。因此,在真实世界中不会发生的不现实的场景会从测试场景中排除。
该方法还包括使用经训练的机器学习模型,从多个测试场景识别适合于基于至少一个真实世界场景来测试软件驱动系统的一个或多个测试场景。所识别的一个或多个测试场景是将用于测试软件驱动系统的可行的测试场景。经训练的机器学习模型可以是模仿人类与其他人类思维相关联的认知功能的任何经训练的函数。特别地,通过基于训练数据集的训练,经训练的函数能够适应新的环境并检测和推断模式。一般地,借助于训练来适配经训练的函数的参数。特别地,可以使用监督训练、半监督训练、非监督训练、强化学习和/或主动学习。此外,可以使用特征学习。特别地,经训练的函数的参数能够通过若干训练步骤来迭代地适配。经训练的机器学习模型对修剪的设计空间进行采样,以生成用于测试软件驱动系统的可行的测试场景。
有利地,本发明便于通过设计空间的迭代采样来生成适合于测试软件驱动系统的任意数量的测试场景,同时完全消除不现实的测试场景。
该方法还包括在计算机辅助工程环境中生成模拟环境,该模拟环境表示其中要测试软件驱动系统的至少一个真实世界场景。模拟环境包括对应于真实世界场景中的代理的模拟代理,并且是使用计算机辅助工程环境中的模拟工具生成的。本文中使用的术语“代理”可以指示与软件驱动系统相关联的物理环境中的对象。例如,如果软件驱动系统是自主交通工具,则代理可以包括建筑物、道路、树木、行人、其他交通工具等等。模拟代理可以是例如与用于模拟对软件驱动系统的感觉输入的代理相关联的基于物理的模型。模拟代理在本质上可以是静态的或动态的。在实施例中,生成模拟环境包括配置模拟代理以表示软件驱动系统预期在其中运行的真实世界条件。
该方法还包括通过在模拟环境中对软件驱动系统的模型应用所识别的测试场景来评估软件驱动系统的行为。在实施例中,该方法还包括在计算机辅助工程环境中生成软件驱动系统的模型。该模型可以是例如机器可执行形式的软件驱动系统的分析模型。在实施例中,评估软件驱动系统的行为包括基于所识别的一个或多个测试场景来生成模拟实例。本文使用的术语“模拟实例”可以指的是在执行期间独立于所有其他线程的模拟线程,其表示模拟环境的状态。此外,分析模拟结果以确定软件驱动系统在一个或多个测试场景中的行为。
有利地,本发明便于在模拟真实世界条件的模拟环境中测试软件驱动系统。因此,软件驱动系统在模拟环境中的行为对应于软件驱动系统在真实世界条件中的实际行为。
该方法还包括基于评估的结果来验证软件驱动系统在真实世界场景中的行为。在实施例中,验证软件驱动系统的行为包括确定软件驱动系统在真实世界场景中的行为是否满足预期标准。
有利地,本发明便于仅使用对应于真实世界场景的测试场景来验证软件驱动系统。因此,与现有技术相反,本发明不需要人工工作以从多个测试场景中消除不现实的测试场景。
该方法还包括在图形用户界面上生成指示验证结果的通知。该通知可以指示软件驱动系统的验证是否成功。如果验证不成功,通知还可以指示在其期间软件驱动系统的行为不满足预期标准的测试场景。
有利地,由于在可行的测试场景的识别方面的较少的人工干预,与现有技术相比,本发明便于软件驱动系统的更快和更高效的验证。
在实施例中,公开了一种用于基于真实世界场景来验证软件驱动系统的装置。该装置包括处理器和通信耦合到一个或多个处理单元的存储器单元。存储器单元包括以由一个或多个处理单元可执行的机器可读指令的形式存储的测试模块。测试模块被配置成在执行时执行根据上述方法的方法步骤。也可以使用诸如图形处理单元(GPU)、现场可编程门阵列(FPGA)或神经处理/计算引擎的协处理器来执行测试模块的执行。此外,存储器单元还可以包括数据库。
在一个实施例中,该装置是具有基于云计算的平台的云计算系统,该平台被配置成为基于真实世界场景的软件驱动系统的验证提供云服务。如本文所使用的,“云计算”指的是包括如下的处理环境:可配置的计算物理和逻辑资源,例如网络、服务器、存储装置、应用、服务等,以及通过诸如因特网的网络分发的数据。云计算平台可以被实现为用于管理医学成像设备的服务。换句话说,云计算系统提供对可配置的计算物理和逻辑资源的共享池的按需网络访问。网络例如是有线网络、无线网络、通信网络或由这些网络的任意组合形成的网络。
本发明在一个方面中涉及一种计算机可读介质,在该计算机可读介质上保存了计算机程序的程序代码段,该程序代码段可加载到数据处理系统中和/或在数据处理系统中可执行,以使得当程序代码段在数据处理系统中执行时,数据处理系统执行根据本发明的一方面的方法。
通过计算机程序产品和/或计算机可读介质实现本发明具有如下优点:可以通过软件更新容易地采用已经存在的测试系统,以便如由本发明提出的那样来工作。
计算机程序产品可以是例如计算机程序或者包括除了计算机程序之外的另一元件。这个另一元件可以是:硬件,例如其上存储了计算机程序的存储器设备、用于使用计算机程序的硬件密钥等,和/或软件,例如用于使用计算机程序的文档或软件密钥。
利用下面结合对应附图对本发明的实施例的描述,上面提及的本发明的属性、特征和优点以及实现它们的方式将变得更加明显和可理解(清楚)。所说明的实施例旨在说明而非限制本发明。
在下文中,参照附图中所示出的说明性实施例来进一步描述本发明,在附图中:
图1A示出了根据本发明的实施例的用于基于可行的真实世界场景来验证软件驱动系统的装置的环境的框图;
图1B示出了根据本发明的实施例的用于基于可行的真实世界场景来验证软件驱动系统的装置的框图;
图2是描绘根据本发明的实施例的用于基于可行的真实世界场景来验证软件驱动系统的方法200的流程图;
图3是描绘根据本发明的实施例的获得用于测试自主交通工具的多个测试场景的示例性方法的流程图;
图4是描绘根据本发明的实施例的基于可变参数的集合生成与自主交通工具相关联的真实世界场景的示例性方法的流程图;
图5示出了根据本公开的实施例的图形用户界面,该图形用户界面示出了其中应用了与真实世界中自主交通工具的测试相关联的约束的设计空间的二维视图;
图6是描绘根据本发明的实施例的、使用经训练的机器学习模型来识别适合于基于真实世界场景测试自主交通工具的测试场景的示例性方法的流程图;
图7是描绘根据本发明的实施例的基于优化准则生成适合于测试自主交通工具的测试场景的示例性方法的流程图;
图8是描绘根据本发明的另一实施例的用于确定适合于测试自主交通工具的测试场景的示例性方法的流程图;
图9是描绘根据本发明的又一实施例的用于识别适合于测试自主交通工具的测试场景的示例性方法的流程图;以及
图10是描绘根据本发明的实施例的用于评估自主交通工具的行为的示例性方法的流程图。
在下文中,详细地描述了用于实施本发明的实施例。参照附图描述各种实施例,其中类似的参考数字始终用于指代类似的元件。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对一个或多个实施例的透彻理解。可能显然的是,可以在没有这些具体细节的情况下实践这样的实施例。
图1A示出了根据本发明的实施例的用于基于真实世界场景来验证软件驱动系统(未示出)的装置105的环境100的框图。更具体地,环境100是便于计算机辅助工程的基于云的系统。装置105通过网络115通信耦合到一个或多个用户设备110。用户设备110可以是例如使得测试人员能够与装置105交互的人机接口。
如图1B中所示,装置105包括处理单元120、存储器125、存储单元130、通信单元135、网络接口140、输入单元145、输出单元150、标准接口或总线155。装置105可以是(个人)计算机、工作站、在主机硬件上运行的虚拟机、微控制器或集成电路。作为替代,装置105可以是真实计算机组或虚拟计算机组(真实计算机组的技术术语是“集群”,虚拟计算机组的技术术语是“云”)。如本文使用的术语“处理单元”意指任何类型的计算电路,例如但不限于微处理器、微控制器、复杂指令集计算微处理器、精简指令集计算微处理器、超长指令字微处理器、显式并行指令计算微处理器、图形处理器、数字信号处理器或任何其他类型的处理电路。
处理单元120还可以包含嵌入式控制器,例如通用或可编程逻辑器件或阵列、专用集成电路、单片计算机等。通常,处理单元120可以包括硬件元件和软件元件。处理单元120可以被配置用于多线程,即,处理单元120可以同时托管(host)不同的计算过程,执行并行主动计算过程和被动计算过程或者在主动计算过程和被动计算过程之间切换。
存储器125可以包括易失性存储器和非易失性存储器中的一个或多个。存储器125可以被耦合用于与处理单元120通信。处理单元120可以执行存储在存储器125中的指令和/或代码。多种计算机可读存储介质可以存储在存储器125中,并且从存储器125访问。存储器125可以包括用于存储数据和机器可读指令的任何合适的元件,例如只读存储器、随机存取存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、硬盘驱动器、用于处理致密盘的可移除介质驱动器、数字视频盘、磁盘、磁带盒、存储卡等等。存储器125包括测试模块160,所述测试模块160可以以机器可读指令的形式存储在存储器125中,并由处理单元120可执行。当由处理单元120执行时,这些机器可读指令使得处理单元120基于真实世界场景来执行软件驱动系统的验证。测试模块160包括预处理模块165、场景识别模块170、测试用例生成模块175、评估模块180、验证模块185和报告生成模块190。
预处理模块165被配置成获得对应于软件驱动系统的测试的多个测试场景。在本实施例中,以可变参数定义的形式从用户设备110获得多个测试场景。此外,预处理模块165基于可变参数定义来生成设计空间。
场景识别模块170被配置成基于可变参数的集合来生成与软件驱动系统相关联的至少一个真实世界场景。测试用例生成模块175被配置成使用经训练的机器学习模型,从多个测试场景中识别适合于基于至少一个真实世界场景来测试软件驱动系统的一个或多个测试场景。
评估模块180生成表示其中要对软件驱动系统进行测试的真实世界场景的模拟环境。评估模块180还被配置成通过在模拟环境中对软件驱动系统的模型应用所识别的测试场景来评估软件驱动系统的行为。验证模块185被配置成基于评估的结果来验证软件驱动系统在真实世界场景中的行为。报告生成模块190被配置成在图形用户界面上生成指示验证结果的通知。
存储单元130包括存储数据库195的非易失性存储器,所述数据库195包括约束和可变参数定义的默认值。输入单元145可以包括能够接收输入信号的输入装置,例如键区、触敏显示器、相机等。总线155充当处理单元120、存储器125、存储单元130和网络接口140之间的互连。
通信单元135使得装置105能够与一个或多个用户设备110进行通信。通信单元135可以支持不同的标准通信协议,例如传输控制协议/互联网协议(TCP/IP)、Profinet、Profibus、蓝牙和互联网协议版本(IPv)。网络接口140使得装置105能够通过网络115与用户设备110通信。
根据本发明的实施例的装置105包括采用图形用户界面的操作系统。操作系统允许多个显示窗口同时呈现在图形用户界面中,其中每个显示窗口提供不同应用或同一应用的不同实例的界面。图形用户界面中的光标可以由测试人员通过定点设备来操纵。可以改变光标的位置和/或生成诸如点击鼠标按钮的事件来促动期望的响应。
如果适当修改,可以采用各种商业操作系统之一,例如Microsoft WindowsTM版本。根据所描述的本发明来修改或创建操作系统。
本领域普通技术人员将会认识到,图1A和1B中所描绘的硬件可以针对不同的实现方式而变化。例如,除了所描绘的硬件之外或者代替所描绘的硬件,还可以使用诸如光盘驱动器等的其他外围设备、局域网(LAN)/广域网(WAN)/无线(例如,Wi-Fi)适配器、图形适配器、盘控制器、输入/输出(I/O)适配器、网络连接设备。所描绘的示例仅仅是为了解释的目的而提供的,并且并不意味着暗示关于本发明的架构限制。
本发明不限于特定的计算机系统平台、处理单元120、操作系统或网络。本发明的一个或多个方面可以分布在一个或多个计算机系统(例如被配置成向一个或多个客户端计算机提供一个或多个服务或者在分布式系统中执行完整任务的服务器)之中。例如,本发明的一个或多个方面可以在客户端-服务器系统上执行,该客户端-服务器系统包括分布在根据各种实施例执行多个功能的一个或多个服务器系统之中的组件。这些组件包括例如可执行代码、中间代码或解释代码,其使用通信协议通过网络进行通信。本发明不限于在任何特定系统或系统组上可执行,并且不限于任何特定的分布式架构、网络或通信协议。
图2是描绘根据本发明的实施例的用于基于真实世界场景验证软件驱动系统的方法200的流程图。
在步骤205处,从源获得对应于软件驱动系统的测试的多个测试场景。在优选实施例中,测试人员通过用户设备110的图形用户界面输入与执行测试所需的每个变量相关联的可变参数定义,所述可变参数定义被进一步传输到装置110。例如,可变参数定义包括与每个可变参数相关联的标识符和值的范围。选择可变参数,使得基于可变参数的各种组合的软件驱动系统的测试提供软件驱动系统的质量保证。在示例中,可以基于可变参数来执行测试,以检查软件驱动系统的操作是否满足法规遵从性。在另一示例中,可以执行测试以确定软件驱动系统是否满足预定设计规范。
在步骤210处,基于可变参数的集合生成与软件驱动系统相关联的至少一个真实世界场景。在优选实施例中,通过首先确定与可变参数相关联的一个或多个约束来生成至少一个真实世界场景。此外,将一个或多个约束应用于设计空间,以便生成对应于至少一个真实世界场景的修剪的设计空间。在示例中,约束可以由测试人员明确定义。在另一示例中,约束由测试人员以图形方式指定。在另一示例中,在约束未知或未提供的情况下,可以使用机器学习模型来确定约束。更具体地,通过对设计空间进行采样来生成随机测试场景。此外,测试人员可以基于测试场景的可行性来接受或拒绝每个测试场景。此外,机器学习模型可以例如基于凸包方法(Convex-Hull approach),基于场景的接受或拒绝来确定约束。
在步骤215处,使用经训练的机器学习模型,从多个测试场景中识别适合于基于至少一个真实世界场景测试软件驱动系统的一个或多个测试场景。经过训练的机器学习模型可以包括神经网络、支持向量机、决策树和/或贝叶斯网络,和/或经训练的函数可以基于k均值聚类、Q学习、遗传算法和/或关联规则。特别地,神经网络可以是深度神经网络、卷积神经网络或卷积深度神经网络。此外,神经网络可以是对抗网络、深度对抗网络和/或生成性对抗网络。在实施例中,使用经训练的机器学习模型从修剪的设计空间来生成样本。可以通过将对应于修剪的设计空间的输入馈送给经训练的机器学习模型来生成样本。响应于该输入,经训练的机器学习模型从修剪的设计空间生成样本。此外,基于所生成的样本来识别一个或多个测试场景。例如,每个样本可以是包括要在特定测试场景中使用的可变参数值的元组。
在另一实施例中,基于至少一个优化准则,从修剪的设计空间中生成最优样本。在实施例中,基于进化算法的优化函数可以用于生成最优样本。更具体地,使用随机采样算法从修剪的设计空间生成随机样本。此外,计算与随机样本相关联的成本准则。此外,基于为每个随机样本计算的成本准则的值,选择预定义数量的随机样本。所选择的随机样本被进一步作为输入提供给优化函数,以生成最优样本。此外,基于所生成的最优样本来识别一个或多个测试场景。每个最优样本可以是包括要在特定测试场景中使用的可变参数值的元组。
在步骤220处,生成表示其中要测试软件驱动系统的真实世界场景的模拟环境。在实施例中,生成模拟环境包括基于对应于一个或多个测试场景的测试类型来配置模拟环境。例如,在自主机器人的情况下,模拟环境可以被配置成表示室外条件或室内条件。在自主交通工具的情况下,模拟环境可以被配置成表示颠簸的路面、平滑的路面、交通堵塞等。更具体地说,模拟环境中的模拟代理被配置成表示软件驱动系统预期在其中运行的真实世界条件中的代理。
在步骤225处,通过在模拟环境中对软件驱动系统的模型应用所识别的测试场景,从而评估软件驱动系统的行为。例如,模型是机器可执行形式的软件驱动系统的分析模型。该模型可以基于例如软件驱动系统的数字孪生来生成。在实施例中,通过首先基于所识别的一个或多个测试场景生成模拟实例来评估软件驱动系统的行为。通过基于所识别的测试场景中的每一个更新模拟环境以模拟对软件驱动系统的输入,从而生成每个模拟实例。模拟输入可以包括感觉输入、人的输入和来自其他系统的输入。此外,基于软件驱动系统的模型来执行每个模拟实例,以生成模拟结果。可以使用如随机模拟、确定性模拟、动态模拟、连续模拟、离散模拟、局部模拟、分布式模拟等的模拟工具来执行模拟实例。在模拟实例的执行期间,模拟输入被应用于软件驱动系统的模型。基于模拟输入,模型生成响应。模拟结果指示模型对模拟输入的响应。此外,分析模拟结果以确定软件驱动系统在一个或多个测试场景中的行为。模型的响应指示软件驱动系统在真实世界场景中的行为。因此,分析模型的响应以确定软件驱动系统在真实世界场景中的行为。
在步骤230处,基于评估的结果,验证软件驱动系统在真实世界场景中的行为。在实施例中,验证软件驱动系统的行为包括确定软件驱动系统在真实世界场景中的行为是否满足预期标准。预期标准可以与法规遵从性、安全标准或预定规范等相关联。如果软件驱动系统的行为满足预期标准,则验证的结果是成功的。否则,验证的结果是不成功的。
使用图3至图10来更详细地描述上述步骤中的每个。
图3是描绘根据本发明的实施例的获得用于测试自主交通工具的多个测试场景的示例性方法300的流程图。该方法包括步骤305和310。
在步骤305处,从用户设备110获得与测试自主交通工具所需的可变参数相对应的可变参数定义。例如,测试可以与自主交通工具的制动功能相关联。影响制动功能的可变参数可以包括自主系统前方的能见度、天气以及自主交通工具的轮胎和道路之间的摩擦系数。可以采取的可变参数“天气”包括五个值:′0′(对于干燥或晴朗天气)、′1′(对于有雾或多云天气)、2(对于小雨)、3(对于大雨)和4(对于雪)。可变参数“摩擦系数”可以取五个值:0.9、0.55、0.4、0.3和0.2。可变参数能见度可以取五个值:1(对于正常能见度),0.8(对于较低能见度)。必须理解的是,值的可能范围可以被指定为离散的水平、连续的范围。可变参数定义也可以作为例如如下面所示的概率分布来提供:
F1D1~均匀(8,30)
F1D2~均匀(5,30)
F2D1~均匀(8,30)
F2D2~均匀(5,30)
除了可变参数定义之外,测试人员还可以定义测试自主交通工具所需的测试场景的数量。例如,所需的测试场景的数量可以被定义为125。在另一示例中,测试场景的数量可以基于预定义的规则,基于可变参数定义来自动导出。
在步骤310处,生成对应于可变参数的设计空间。在本示例中,设计空间与可变参数“天气”、“能见度”和“摩擦系数”相关联。设计可以包括可行的测试场景和不可行的测试场景两者。
图4是描绘根据本发明的实施例的基于可变参数的集合生成与自主交通工具相关联的真实世界场景的示例性方法400的流程图。该方法包括步骤405和410。
在步骤405处,从源获得与自主交通工具的测试相关联的一个或多个约束。例如,测试场景可以由测试人员通过用户设备110来提供。在另一实施例中,约束可以是预定义的。可以使用例如如下所示的用户设备110的GUI上的程序语言来明确定义约束:
如果(天气==1):
摩擦系数>0.5&能见度<0.2
如果(天气==0):
摩擦系数>0.5&能见度>0.8
如果(天气==4):
摩擦系数<=0.2&能见度=0.5
如果(天气==3):
0.2<=摩擦系数<0.4&能见度=0.6
在另一示例中,如果存在四个可变参数F1D1、F1D2、F2D1和F2D2,则约束可以具有以下形式,约束可以具有以下形式:
F1D1+F1D2<32,
F1D1+F1D2<23
在另一实现方式中,约束以图形方式提供。例如,测试人员可以通过在用户设备110的图形用户界面上的设计空间的二维视图中绘制边界来提供约束。在另一示例中,测试人员可以不给出任何约束。如图5中所示,在用户设备的GUI 500上向测试人员示出设计空间的二维视图。此外,设计空间中的随机样本的集合可以被突出显示(highlight),如由点来指示。此外,向测试人员提供例如通过选择每个点旁边的“接受”或“拒绝”选项来选择可行的测试场景和拒绝不可行的测试场景的选项。因此,测试人员可以接受或拒绝随机样本。在GUI 500中,打勾的样本指示可行的测试场景,而打叉的样本指示不可行的测试场景。基于接受的样本,装置105可以自动地确定约束,如使用图9所解释的。
在步骤410处,确定可变参数之间的相关性。如果可变参数之中存在相关性,则执行方法415。如果变量之间不存在相关性,则如步骤420中所示,使用空间填充算法来从对应于可变参数的设计空间生成测试场景。空间填充算法可以包括可以在设计空间中执行采样的任何采样算法。由空间填充算法生成的每个样本对应于测试场景。取决于空间填充算法的类型,生成的样本可以包括随机样本或最优样本。空间填充算法可以基于已知的覆盖度量(例如样本间力、最大最小值、最小最大值或熵准则)来生成最优样本。覆盖度量确保从设计空间生成的样本被很好地间隔开。
图6是描绘根据本发明的实施例的、使用经训练的机器学习模型来识别适合于基于至少一个真实世界场景测试自主交通工具的测试场景的示例性方法600的流程图。更具体地,本实施例涉及当约束由测试人员明确提供时一个或多个测试场景的识别。这里,使用机器学习算法对设计空间进行采样,以生成数量为N的所需样本。例如,测试人员可以将N指定为′125′。
在步骤605处,将k均值聚类应用于设计空间以生成k个聚类。此外,从k个聚类生成kxN个随机样本。
在步骤610处,将约束应用于设计空间,以确定不可行的设计空间。不可行的设计空间对应于不适合于测试自主交通工具的设计点或测试场景。设计空间中的其余设计点对应于适合于测试自主交通工具的测试场景。在步骤615处,使用K均值聚类对可行的设计空间内的kxN个随机样本聚类以形成N个聚类。此外,计算N个聚类的质心。
在步骤620处,检查N个聚类的每个质心,以确定是否任何质心落在不可行的设计空间中。如果否,则执行步骤625。否则,重复步骤605,直到满足预定义的终止准则。
在步骤625处,生成N个聚类的质心作为用于测试自主交通工具的样本或可行的测试场景。这里生成的可行的测试场景形成第一组测试场景。
在步骤630处,确定第一组测试场景是否适合于测试自主交通工具。在实施例中,第一组测试场景的适合性是基于第一组测试场景内存在的可行的测试场景的数量。如果可行的测试场景的数量少于所需测试场景的数量,则执行方法700以生成更多可行的测试场景。否则,执行方法1000。
图7是描绘根据本发明的实施例的基于优化准则生成适合于测试自主交通工具的测试场景的示例性方法700的流程图。在步骤705处,使用变量的拉丁超立方设计(LHD),从设计空间生成Np个随机样本。在步骤710处,计算与Np个样本中的每一个相关联的成本准则。在本实施例中,成本准则是基于对应于每个样本的样本内排斥力。更具体地,成本准则是每个样本的样本内排斥力的总和。样本内排斥力是与样本相关联的熵的度量,即,随机度。在另一实施例中,成本准则是样本内距离,即样本和另一样本之间的距离。
在步骤715处,基于对应于成本准则的预定义的准则,从Np个样本中选择预定义数量的样本。例如,预定义的样本数量可以是Np/2,并且预定义的准则可以是这样的:与剩余的Np/2个样本中的任何一个相比,所选择的Np/2个样本具有样本内排斥力总和的低值。在步骤720处,使用优化函数来优化所选择的样本。在优选实施例中,优化函数使用进化算法来执行优化,所述进化算法例如是但不限于遗传算法。更具体地,所选择的样本用作用于执行优化的初始值。遗传算法可以基于与可变参数相关联的一个或多个约束来执行对所选择的样本的约束优化。
在步骤725处,优化函数从所选择的样本生成新的最优样本的集合。在步骤730处,检查与优化相关联的至少一个终止准则。终止准则例如可以是检查生成的最优样本的数量是否大于或等于所需的样本数量。如果满足终止准则,则在步骤735中确定对应于最优样本的测试场景。否则,重复步骤710至730,直到满足终止准则。
图8是描绘根据本发明的另一实施例的用于确定适合于测试自主交通工具的测试场景的示例性方法800的流程图。在本实施例中,以图形方式定义约束。
在步骤805处,在图形用户界面上向测试人员提供设计空间的图形表示。
在步骤810处,测试人员以图形的方式在设计空间中划分可行的测试场景和不可行的测试场景。例如,测试人员可以在设计空间中创建可行区域的草图。可行区域包括适合于测试自主交通工具的可行的测试场景。替代地,测试人员可以定义不可行区域,该不可行区域包括不适合于测试自主交通工具的不可行的测试场景。
在步骤815处,使用机器学习算法来生成设计空间中的可行区域的参数化草图。可行区域的参数化草图进一步用于生成修剪的设计空间。此外,使用方法600从修剪的设计空间生成可行的测试场景。
图9是描绘根据本发明的又一实施例的用于识别适合于测试自主交通工具的测试场景的示例性方法900的流程图。在本实施例中,测试人员不提供约束。
在步骤905处,借助于使用如先前所说明的空间填充算法对设计空间进行随机采样来生成随机测试场景。
在步骤910处,向测试人员提供用以接受可行的测试场景和拒绝不可行的测试场景的选项。
在步骤915处,使用机器学习算法来确定对应于测试人员接受可行的测试场景的模式。可以使用凸包方法来确定模式。凸包方法可以是例如Graham算法,其基于由测试人员接受的可行测试场景来创建可行设计空间路径的边界。此外,执行方法600。
在识别测试场景时,评估模块180生成表示其中要测试自主交通工具的真实世界场景的模拟环境。在自主交通工具的本示例中,基于所识别的每个测试场景来生成表示真实世界中的驾驶条件的模拟环境。当自主交通工具正被测试以验证制动功能时,对与天气、能见度和摩擦系数对应的模拟代理进行配置。模拟代理是基于基于物理的模型来配置的。
图10是描绘根据本发明的实施例的用于评估自主交通工具行为的示例性方法1000的流程图。
在步骤1005处,生成用于基于所识别的测试场景测试自主交通工具的模拟实例。通过基于所识别的测试场景更新模拟环境来模拟对自主交通工具的输入,从而生成模拟实例。更具体地,模拟输入表示对应于天气、能见度和摩擦系数的感觉输入。因此,生成对应于每个所识别的测试场景的模拟实例。
在步骤1010处,基于自主交通工具的模型执行模拟实例以生成模拟结果。自主交通工具的模型被配置成表示自主交通工具的运行特性。在模拟实例的执行期间,模拟输入作为输入被提供给模型,以便从模型生成响应。该模型可以对应于与自主交通工具相关联的制动功能。
在步骤1015处,进一步分析来自模型的响应,以确定自主交通工具在所识别的测试场景中的行为。在本示例中,当在给定的测试场景中施加制动时,自主系统的行为可以对应于与自主交通工具相关联的停止距离。停止距离是反应距离和制动距离的总和。例如,模型的输出可以指示以微秒计的反应距离和制动距离两者。
验证模块185基于预期标准来验证自主交通工具的行为。例如,按照预期标准,当自主交通工具以50kmpH来运行时,停止距离不应超过50米。类似地,可以基于不同的条件来定义标准。如果在任何测试场景中停止距离超过由标准定义的值,则自主交通工具的验证不成功。否则,自主交通工具成功地被验证。报告生成模块190还可以生成指示验证结果的报告。在一个实现方式中,该报告可以指示所使用的测试场景以及对应于每个测试场景的评估结果。所生成的报告可以进一步被传输到用户设备110,以显示在与用户设备110相关联的图形用户界面上。
与现有技术相比,本发明通过从设计空间中消除所有不现实的测试场景,提供了准确且更可靠的验证结果。此外,本发明还消除了识别可行测试场景所需的人工工作,从而实现软件驱动系统的更快验证。
本发明可以采取计算机程序产品的形式,包括从存储程序代码的计算机可用或计算机可读介质可访问的程序模块,该程序代码用于由一个或多个计算机、处理器或指令执行系统使用或与其结合使用。出于本描述的目的,计算机可用或计算机可读介质是可以包含、存储、传送、传播或传输用于由指令执行系统、装置或设备使用或与其结合使用的程序的任何装置。介质本身可以是电子、磁、光、电磁、红外或半导体系统(或者装置或设备)或传播介质,因为信号载体不包括在物理计算机可读介质的定义中,所述物理计算机可读介质的定义包括半导体或固态存储器、磁带、可移除计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘,诸如致密盘只读存储器(CD-ROM)、致密盘读/写和DVD。如本领域技术人员所知晓的,用于实现本技术的每个方面的处理器和程序代码两者可以是集中式的或分布式的(或其组合)。
虽然已经借助优选实施例详细地说明和描述了本发明,但是本发明不限于所公开的示例。本领域的技术人员可以在不脱离要求保护的本发明的保护范围的情况下推导出其他变化。
参考列表
100 用于验证软件驱动系统的装置的环境
105 用于验证软件驱动系统的装置
110 用户设备
115 网络
120 处理单元
125 存储器
130 存储单元
135 通信单元
140 网络接口
145 输入单元
150 输出单元
155 标准接口或总线
160 测试模块
165 预处理模块
170 场景识别模块
175 测试用例生成模块
180 评估模块
185 验证模块
190 报告生成模块
195 数据库

Claims (13)

1.一种用于在计算机辅助工程环境中基于真实世界场景来验证软件驱动系统的计算机实现的方法,所述方法包括:
由处理单元(120)获得对应于所述软件驱动系统的测试的多个测试场景;
基于可变参数的集合来生成与所述软件驱动系统相关联的至少一个真实世界场景;
使用经训练的机器学习模型,从所述多个测试场景中识别适合于基于所述至少一个真实世界场景测试所述软件驱动系统的一个或多个测试场景;
在所述计算机辅助工程环境中生成模拟环境,所述模拟环境表示其中要测试所述软件驱动系统的所述真实世界场景;
通过在所述模拟环境中对所述软件驱动系统的模型应用所识别的测试场景来评估所述软件驱动系统的行为;以及
基于所述评估的结果来验证所述软件驱动系统在所述真实世界场景中的行为。
2.根据权利要求1所述的方法,还包括:在所述计算机辅助工程环境中生成所述软件驱动系统的模型。
3.根据权利要求1所述的方法,其中,获得对应于所述软件驱动系统的测试的所述多个测试场景包括:
从源获得对应于所述可变参数的集合的可变参数定义;以及
生成对应于所述可变参数的设计空间。
4.根据权利要求1和3所述的方法,其中,基于所述可变参数的集合生成与所述软件驱动系统相关联的至少一个真实世界场景包括:
确定与所述可变参数相关联的一个或多个约束;以及
将所述一个或多个约束应用于所述设计空间,以生成修剪的设计空间。
5.根据权利要求1和4所述的方法,其中,识别适合于测试所述软件驱动系统的一个或多个测试场景包括:
使用所述经训练的机器学习模型从所述修剪的设计空间生成样本;以及
基于所生成的样本来确定所述一个或多个测试场景。
6.根据权利要求4或5所述的方法,还包括:
基于至少一个优化准则,从所述修剪的设计空间生成最优样本;以及
基于所生成的最优样本来确定所述一个或多个测试场景。
7.根据前述权利要求中任一项所述的方法,其中,通过在所述模拟环境中对所述软件驱动系统的模型应用所识别的测试场景来评估所述软件驱动系统的行为包括:
基于所识别的一个或多个测试场景,生成用于测试所述软件驱动系统的模拟实例;
基于所述软件驱动系统的模型执行所述模拟实例以生成模拟结果;以及
分析所述模拟结果以确定所述软件驱动系统在所述真实世界场景中的行为。
8.根据前述权利要求中任一项所述的方法,其中,基于所述评估的结果来验证所述软件驱动系统在所述真实世界场景中的行为包括:
确定所述软件驱动系统在所述真实世界场景中的行为是否满足预期标准。
9.根据前述权利要求中任一项所述的方法,还包括:
在图形用户界面上生成指示所述验证的结果的通知。
10.一种用于测试软件驱动系统的装置(105),所述装置(105)包括:
一个或多个处理单元(120);以及
通信耦合到所述一个或多个处理单元(120)的存储器单元(125),其中,所述存储器单元(125)包括以由所述一个或多个处理单元(120)可执行的机器可读指令的形式存储的测试模块(160),其中,所述测试模块(160)被配置成执行根据权利要求1至9中任一项所述的方法步骤。
11.一种云计算系统(100),包括:
一个或多个用户设备(110);以及
根据权利要求10所述的装置(105),所述装置(105)通信地耦合到所述一个或多个用户设备(110),所述用户设备(110)被配置成根据方法权利要求1至9中的任一项来验证软件驱动系统。
12.一种具有其中存储的机器可读指令的计算机程序产品,所述机器可读指令在由一个或多个处理单元(120)执行时,使得所述处理单元(120)执行根据权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,包括指令,所述指令在由一个或多个处理单元(120)执行时,使得所述一个或多个处理单元(120)执行根据权利要求1至9中任一项所述的方法。
CN202080103414.0A 2020-08-24 2020-08-24 基于真实世界场景验证软件驱动系统 Pending CN116324735A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/073655 WO2022042822A1 (en) 2020-08-24 2020-08-24 Validating a software-driven system based on real-world scenarios

Publications (1)

Publication Number Publication Date
CN116324735A true CN116324735A (zh) 2023-06-23

Family

ID=72234867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080103414.0A Pending CN116324735A (zh) 2020-08-24 2020-08-24 基于真实世界场景验证软件驱动系统

Country Status (4)

Country Link
US (1) US20230315939A1 (zh)
EP (1) EP4185962A1 (zh)
CN (1) CN116324735A (zh)
WO (1) WO2022042822A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118447A (zh) * 2022-03-16 2022-09-27 杭州迦尔科技有限公司 工控网络流量的安全判别方法、装置、电子装置和介质
DE102022207563A1 (de) * 2022-07-25 2024-01-25 Robert Bosch Gesellschaft mit beschränkter Haftung Techniken zum validieren oder verifizieren von closed-loop-testplattformen
CN116775500A (zh) * 2023-08-21 2023-09-19 深圳市广和通无线通信软件有限公司 一种针对工业互联网平台驱动软件的自主测试方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521215B2 (en) * 2015-12-10 2019-12-31 Intel Corporation Technologies for customized crowd-sourced features, automated safety and quality assurance with a technical computing environment
US9811074B1 (en) * 2016-06-21 2017-11-07 TruPhysics GmbH Optimization of robot control programs in physics-based simulated environment
IL259835B2 (en) * 2018-06-05 2023-02-01 Israel Aerospace Ind Ltd A methodology for proving safety performance of multi-agent autonomous arrays

Also Published As

Publication number Publication date
US20230315939A1 (en) 2023-10-05
EP4185962A1 (en) 2023-05-31
WO2022042822A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
Abdessalem et al. Testing autonomous cars for feature interaction failures using many-objective search
CN116324735A (zh) 基于真实世界场景验证软件驱动系统
Norden et al. Efficient black-box assessment of autonomous vehicle safety
US11113433B2 (en) Technique for generating a spectrum of feasible design solutions
US20180357201A1 (en) Ability-providing-data generation apparatus
Arrieta et al. Employing multi-objective search to enhance reactive test case generation and prioritization for testing industrial cyber-physical systems
CN113590456A (zh) 用于检查技术系统的方法和设备
US20220171697A1 (en) Fuzzy testing a software system
CN115210721A (zh) 在处理点云数据的神经网络系统中证明或识别反例的方法
CN111611175B (zh) 自动驾驶软件开发方法、服务器端及客户端
Hashemi et al. Runtime monitoring for out-of-distribution detection in object detection neural networks
CN113253709A (zh) 一种适用于轨道交通车辆健康诊断方法及装置
CN113537656A (zh) 评估供应商服务质量的方法、系统、设备和介质
US11755688B2 (en) Apparatus and method for generating training data for a machine learning system
US20210397960A1 (en) Reliability evaluation device and reliability evaluation method
KR102585570B1 (ko) 적응형 시스템의 통계적 검증 기반 예측적 적응 기법
US20220245260A1 (en) Method for checking the security of a technical unit
CN113590458A (zh) 用于检查技术系统的方法和设备
EP2909687B1 (en) System testing algorithm and apparatus
CN113704085A (zh) 用于检查技术系统的方法和设备
US11814080B2 (en) Autonomous driving evaluation using data analysis
WO2021140542A1 (ja) 機械学習装置、デザインレビュー検証装置、機械学習方法
Scher et al. Ensuring Reliable Robot Task Performance through Probabilistic Rare-Event Verification and Synthesis
EP4287077A1 (en) Method and apparatus for testing an artificial neural network using surprising inputs
KR102479096B1 (ko) 블록코드 거래 및 라이브러리 등록 방법

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