首页> 中国专利> 用于创建和测试控制器程序的方法和装置

用于创建和测试控制器程序的方法和装置

摘要

本发明涉及用于创建和测试控制器程序的开发装置和方法。该方法包括提供用于操作运行环境的量值的接入点,运行环境用于在测试环境中用测试场景程序组件和观察器设备来测试待测试的控制器程序组件,测试场景程序组件用于提供输入值,观察器设备用于接收输出值和显示测试结果。在此,由包括待测试的控制器程序组件和测试场景程序组件的一个或多个程序组件来创建所有程序组件的可执行程序,其中程序组件的接口分别根据AUTOSAR标准定义。在此,所述创建包括生成运行环境,其中运行环境提供用于在程序组件之间传输输入值和输出值的通信通道,并且提供组件-测试服务,其根据AUTOSAR标准向运行环境提供接口作为用于操作所述运行环境的量值的接入点。

著录项

  • 公开/公告号CN103543999A

    专利类型发明专利

  • 公开/公告日2014-01-29

    原文格式PDF

  • 申请/专利号CN201310205015.7

  • 发明设计人 M·聚维恩;A·格布兹;

    申请日2013-05-29

  • 分类号G06F9/44(20060101);G06F11/36(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人沈英莹

  • 地址 德国帕德博恩

  • 入库时间 2024-02-19 21:57:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-24

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F 8/30 专利号:ZL2013102050157 变更事项:专利权人 变更前:帝斯贝思数字信号处理和控制工程有限公司 变更后:德斯拜思有限公司 变更事项:地址 变更前:德国帕德博恩 变更后:德国帕德博恩

    专利权人的姓名或者名称、地址的变更

  • 2018-04-06

    授权

    授权

  • 2015-08-05

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20130529

    实质审查的生效

  • 2014-01-29

    公开

    公开

说明书

技术领域

本发明涉及一种用于创建和测试控制器程序的开发装置以及方法。 在此,控制器程序构造用于控制交通工具中的电子控制单元。相应的方 法包括提供用于操作运行环境的量值的接入点,所述运行环境用于在测 试环境中借助测试场景程序组件和观察器装置来测试待测试的控制器程 序组件,其中所述测试场景程序组件用于提供输入值,并且所述观察器 装置用于接收输出值和显示测试结果。在此使用一个或多个程序组件, 包括待测试的控制器程序组件和测试场景程序组件,所述程序组件的接 口分别根据AUTOSAR(汽车开放系统架构,Automotive Open System  Architecture)标准定义。定义在所有程序组件的输入值和输出值之间的 连接,并且创建所有程序组件的可执行程序。在此,所述创建包括生成 运行环境,其中,所述运行环境提供用于在程序组件之间传输输入值和 输出值的通信通道。

在本发明的范围内,术语开发装置能够理解为指一种装置,用户(也 就是例如开发装置的使用者)能够借助于该装置开发、建模和创建控制 器程序。然后,所创建的控制器程序能够用于模拟和/或用于测试。在本 发明的范围内,术语控制器程序能够理解为指用于控制交通工具中的电 子控制单元的测量程序、控制程序、调节程序和/或校准程序。术语控制 器程序既能够包括具有不同功能的各个程序组件,也能够包括具有多个 相互连接的程序组件的复杂的程序架构。在本发明的范围内,术语电子 控制单元能够理解为指一种控制系统,例如机动车中的控制器。在此, 电子控制单元例如能够用于测量、控制、调节和/或校准交通工具组件。 术语交通工具在下文中用作对水运交通工具、路运交通工具、空中交通 工具和/或上述交通工具的组合的统称。

背景技术

从现有技术中原则上已知用于创建和测试开头所述类型的控制器程 序的开发装置以及方法。其通常被用户用作用于创建、开发、测试、模 拟和/或校准控制器程序的开发工具,所述控制器程序是例如用于真实控 制器的或者虚拟电子控制单元(V-ECU:Virtual Electronic Control Unit) 的和/或虚拟处理单元(VPU:Virtual Processing Unit)的控制器程序。

V-ECU是虚拟控制器,也就是,不直接与硬件相关的控制器程序, 但是该控制器程序反映硬件的所有特定的特性。V-ECU集成在模拟器中, 以便模拟真实控制器的行为。V-ECU能够在离线模拟或实时模拟的范围 内应用。V-ECU使用模拟器母板的接口,以便与其它控制器、路径模型 或IO驱动器通信。在用户的认知中,V-ECU常常代表其整个ECU,包 括所有驱动模块。但是在技术意义上,V-ECU仅包括在母板接口之上的 程序部分,这是因为位于下级的程序层由具体的模拟器的母板模块代替。 在运行时间内,V-ECU借助于VPU集成代码嵌入框架(VPU)中,以 便从中获得可执行的模拟进程。在本申请的范围内,这样的可执行的模 拟进程被描述为可执行程序。所述可执行程序能够由一个或多个控制器 程序组件和/或测试场景程序组件组合而成。这些程序组件自身能够实现 一个或多个不同的功能。与集成的程序组件的数量无关地产生一个唯一 的运行环境。这允许测试在现有的程序架构中的控制器程序组件。为此, 给定的架构必须仅扩展测试组件并且配置和重新生成运行环境。

VPU是模拟器内的虚拟执行单元,在该虚拟执行单元上执行待模拟 的应用。VPU具有自身的被分配的虚拟计算资源(核)、虚拟内存(RAM)、 以及虚拟计时器。所述资源与其它VPU无关,从而各VPU准并行模拟。 同样地,VPU具有独立的一组OS资源(任务、计数器、警报、事件、 临界区……)。IO驱动器的使用以及与其它VPU的通信经由母板服务实 现。在实时系统中,VPU大多数以自身的物理代码执行。在离线模拟时, VPU向核的分配通过所基于的模拟环境的操作系统(例如Windows)动 态地实现。

开始所述类型的示例性开发装置能够从对SystemDesk3.1的产品描 述中知悉: (http://www.dspace.de/de/gmb/home/products/sw/system_architecture_ software/systemd.esk.cfm)。SystemDesk是用于辅助开发分布式电子系统 的工具。SystemDesk尤其构造用于创建能够使用在所谓的AUTOSAR (汽车开放系统架构,Automotive Open System Architekture)标准的范 围内的控制器程序。

目前已知的开发装置通常为用户提供用于开发装置的操作界面,借 助于所述操作界面能够以图形的方式、例如以具有多个程序组件的树结 构的形式描述控制器程序的模块或架构。随着目前的控制器程序及其模 块或架构的复杂性的增加,可应用的、用于创建这类控制器程序的开发 装置的复杂性也增大。因此,在复杂的程序结构的范围内,各个程序组 件的早期测试成为现代程序开发的重要组成部分,以便能够在开发过程 中较早的时间点识别出在稍后的流程中可能的错误源。在2008年的SAE  Technical Paper2008-01-0383中、作者为Sandmann,G.和Thompson,R.、 题目为“Development of AUTOSAR Software Components within  Model-Based Design”的文献中提出一种用于基于模型的设计的方法,其 不将测试步骤和验证步骤视作最终的进程,而是视作持续地伴随的活动。 除了如由设计或测试工程师开发的测试场景,该方法还提供用于自动生 成测试用例的装置,如例如对于在D0-178B标准中的MC/DC(修正条 件/判定覆盖,Modified condition/decision coverage)而言为A级软件规 定的装置。

然而,除了应用特定的测试场景,各个应用必须对其在待处理的数 据的进程链中可能发生的错误(例如从一个电子监控单元到另一电子监 控单元的内部信号传递的延迟或失效)方面的正确的功能性进行测试。 至今为止的基于AUTOSAR标准的测试环境的实现允许多个相互作用的 电子控制单元的复合测试,所述测试环境包括经由运行环境与测试场景 程序组件连接的应用程序组件,所述复合测试,如在“Testautomatisierung  für -Programme mit AUTOSAR Architektur” (http://www.fkfs.de/fileadmin/media/04_unternehmen/veranstaltungen/ autotest/pdf_dokumente/paper_2008/paper_11_SYSTECS_Zurawka.pdf )中所描述的那样,每一个本身都被视作黑盒子,并且控制单元的所有 输入信号和输出信号在全局数据池中提供用于操作。因此即使结合不同 的开发状态下的早期测试也已经是可能的。原有的自动生成的 AUTOSAR运行环境通过测试系统的机制复制。

在2011年1月出版的文献“Messina2.9von Berner&Mattner: Neues Release verbessert AUTOSAR-Unterstuetzung fuer  modellbasiertes Testen”中描述了另一测试系统。在此,MESSINA程序 为复合测试的每个集成的程序组件创建自身的基于AUTOSAR-XML文 档的测试运行环境。对各个测试运行环境的通信进行模拟,其方式为: 虚拟功能总线构成运行环境接口(如发送/接收端口或客户/服务器端口) 的通信。因此允许模仿或检查客户/服务器操作。因此,相应的测试运行 环境用于将各个程序组件与Messina平台连接。

发明内容

因此本发明的目的是,提供用于创建和测试控制器程序组件的一种 改良的开发装置以及一种有效的方法,所述开发装置或方法允许根据 AUTOSAR标准测试控制器程序组件对接入到不同的程序组件之间的通 信进程中的反应。

所述目的通过开始所述类型的方法得以实现,其中:

提供组件-测试服务,所述组件-测试服务根据AUTOSAR标准为运 行环境提供接口作为用于操作运行环境的量值的接入点,并且借助于相 应地生成用于运行环境的代码而允许测试场景程序组件对运行环境的量 值进行访问,其中,所述量值确定或描述或影响经由通信通道运行的进 程。

本发明基于的认识是,随着目前的控制器程序的复杂性的增加,灵 活地测试在开发的不同阶段中的参与复合测试的不同程序组件是必要 的。在此,除了由各个程序组件实现的目的,还必须测试这些组件对在 程序组件相互间通信时发生的错误(例如有错的信号传递)的反应。对 于测试目的而言同样有利的是,在测试期间能够操作各个程序内部的量 值,而不必每次都模拟或相应地配置控制器程序组件。参与测试的程序 组件的通信经由一个共用的运行环境进行。在此基于集成的程序组件和 用于测试在通信内部特定的错误状态或特定的预设事件的运行环境,要 避免随后向生成的可执行程序中的接入,这是因为所基于的测试场景程 序组件不包含必需的信息,以借助新生成的可执行程序复制在稍后的阶 段中的错误状态。另一方面,每个程序组件分别生成一个自身的运行环 境,以便在程序组件之间注入通信错误,这导致测试环境的不必要的复 杂性。

本发明的一个重要的优点在于,在组件测试或组件复合测试的范围 内能够从外部影响运行环境的行为。因此,测试场景程序组件能够在不 进一步适配的情况下多次重复应用。

在本发明的范围内,运行环境的组件-测试服务能够理解为根据 AUTOSAR标准对作为用于操作运行环境的量值的接入点的运行环境的 端口和接口的描述。所述描述例如通过组件-测试服务与例如测试场景程 序组件的连接而被模拟器进程已知。因此,在自动创建可执行程序时, 根据定义的接入点创建用于运行环境的相应的接入接口。然后,测试场 景程序组件的接口能够根据本发明与运行环境的接入接口(也就是接入 点)连接,并且从而对在程序组件或各个程序组件的内部量值之间的通 信产生影响。

因此,本发明的另一优点是,借助生成可执行程序(其包括生成运 行环境),除了通常产生的程序变量描述以外,现在也描述运行环境变量, 以至于运行环境变量能够借助于实验工具和自动化测试工具直接调节。

根据本发明的方法的一个优选的实施形式,所述方法能够进一步设 计为,提供观察器设备包括:提供观察器程序组件,其接口分别根据 AUTOSAR标准定义。

根据本发明的方法的一个优选的实施形式,运行环境的量值通过运 行环境的参数、变量或功能给定。

经由运行环境相互通信的程序组件必须调用所谓的“应用程序接口” (API)功能,所述API功能是用于应用程序的基本功能。因此,用于 经由运行环境传输数据项的每个测试场景程序组件必须包含运行时间读 调用以及运行时间写调用。

根据本发明的一个优选的实施形式,所述方法能够进一步设计为, 运行环境的量值是状态参数,所述状态参数描述经由运行时间读调用或 运行时间写调用传输的数据项的状态,其中,所述状态描述数据项的有 效性或可信度或错误类型。因此,通过对参数直接进行访问,能够设定 所期望的状态,并且从而注入定义的错误,并且测试控制器程序组件对 所述错误的反应。

根据本发明的方法的另一优选的实施形式,所述方法能够进一步设 计为,运行环境的量值此外是运行环境-事件参数。所述参数允许触发如 在AUTOSAR标准中定义的运行环境-事件。因此能够通过触发 “DataReceivedErrorEvent”而例如触发对发送的程序组件的错误讯息。 如从AUTOSAR标准的描述中能够得知,以规律的间隔触发事件 “DataWriteCompleteEvent”或“Background/TimingEvent”。通过对事 件参数直接进行访问能够目的明确地触发所述事件中的每一个。

根据本发明的方法的另一优选的实施形式,所述访问包括操作运行 环境的量值,所述运行环境由同一程序组件的一个功能或不同功能或由 不同的程序组件使用。除了将数据项从一个程序组件传输到另一程序组 件,同一程序组件的不同功能也能够经由运行环境更换数据项。因此, 通过根据本发明的对运行环境的量值进行访问也能够对程序组件的不同 功能产生影响。

为了例示,描述用于控制闪光信号器的控制器程序组件。该控制器 程序组件可包括执行不同任务的三个功能,所谓的Runnable。一个功能 借助于校准端口读入闪光速度的校准系数,并且将所述校准系数以 InterRunnable变量作为数据项提供。第二功能经由接收端口接收报警闪 光探测器的当前状态。该功能又将其值借助于InterRunnable变量提供 给另一功能。该变量的两个值由定义实际闪光信号控制的第三功能读取 和评估。然后,该功能经由发送端口将消息发送给开关闪光信号灯的两 个执行器。

根据本发明的方法的另一优选的实施形式,对运行环境的量值的访 问包括对运行环境的多个量值的同步访问。通过集成多个组件-测试服 务,在生成可执行程序后提供运行环境的相应的接入接口或接入点,以 至于通过相应的选择,在测试场景程序组件中也能够同步设定运行环境 的多个量值。

根据本发明的方法的另一优选的实施形式,控制器程序组件和测试 场景程序组件位于虚拟电子控制单元上,或者控制器程序组件位于第一 虚拟电子控制单元上,并且测试场景程序组件位于第二虚拟电子控制单 元上。

为了在开发的早期阶段就已经能够测试电子控制单元的稍后的行为 以及不同的电子控制单元的共同作用,所述电子控制单元通过虚拟电子 控制单元构成。在此,测试场景程序组件能够位于与控制器程序组件相 同的虚拟控制单元上以及参与复合测试的另一虚拟电子控制单元上。

根据本发明的方法的另一优选的实施形式,测试场景程序组件确定 程序流程中的这样的时间点和/或有效范围,即在该时间点和/或有效范围 需要进行向通信进程中的预设的接入。

经由在测试场景程序组件中的相应的指令,既能够在时间上也能够 在各个参与测试的程序组件方面确定准确的访问。因此能够例如为程序 组件操作运行环境的量值,而同一量值对于另一程序组件保持不变。同 样可能的是,在特定的时间点才操作所述量值,从而该操作发生在程序 流程中的期望的时间。

根据本发明的方法的另一优选的实施形式,可执行程序包括通过测 试场景程序组件接通和切断向通信进程中的预设的接入。

在这个优选的实施形式中,在创建可执行程序时,创建可执行程序 的必要的程序功能,该程序功能既能够借助操作用于运行环境的量值来 运行程序也能够借助原始量值来运行程序。在此,测试场景程序组件传 递测试信号,该测试信号既包含运行环境的量值也包括确定所述量值是 否应被操作的激活变量。在一个优选的实施形式中,组件-测试服务根据 其配置具有开关功能,借助所述开关功能根据激活变量的值来接通或切 断操作。

在一个优选的实施形式中,接口描述(也就是组件-测试服务)的规 范或配置由使用者经由图形用户界面例如通过选择特定的预设的组件- 测试服务来进行。

此外,开始提到的目的通过一种用于提供用于操作运行环境的量值 的接入点的开发装置得以实现,其中所述运行环境用于在测试环境中测 试待测试的控制器程序组件。测试环境包括用于提供输入值的测试场景 程序组件和用于接收输出值以及显示测试结果的观察器设备。该开发装 置具有电子计算单元,所述电子计算单元构造用于生成运行环境,其中, 该运行环境提供用于在程序组件之间传输输入值和输出值的通信通道; 所述电子计算单元提供组件-测试服务,所述组件-测试服务根据 AUTOSAR标准向运行环境提供接口作为用于操作运行环境的量值的接 入点,并且借助于相应地生成用于运行环境的代码而允许测试场景程序 组件对运行环境的量值进行访问,其中,所述量值确定或描述或影响经 由通信通道运行的进程。观察器设备优选示出在执行可执行程序时控制 器程序组件的反应,其中,借助于运行环境的量值给出或模仿在通信进 程中由测试场景程序组件预设的错误或通信进程的预设的操作,并且其 中,测试控制器程序组件对在程序组件之间的通信进程中的错误或操作 的反应。

在本发明的范围内,电子计算单元能够被理解为计算机系统(例如 个人计算机(PC)或工作站)的组件。在此,该电子计算单元能够例如 执行程序,从而该计算机系统被构造为用于创建控制器程序的和/或用于 实施根据本发明的方法的开发装置。

附图说明

图1示出如在现有技术中已知的用于测试程序组件的虚拟测试环境 的示意性结构。

图2示出对应于根据本发明的方法的用于测试程序组件的虚拟测试 环境的示意性结构。

具体实施方式

图1示意性地示出如通常根据AUTOSAR标准构造的虚拟测试环境 1的结构。在此可见划分为三层。在此,最上层构成集成的程序组件2、 3和5,所述集成的程序组件定义控制器程序的功能。包括接近控制器的 基础程序6和8的层构成该结构的基础。连接层4代表运行环境,各程 序组件经由所述运行环境能够相互作用和/或与基础程序相互作用。借助 如SystemDesk的开发装置可以对程序组件进行建模和测试,但是也能够 对多个程序组件的复合程序组件进行建模和测试。在此,集成的程序组 件的功能和共同作用通过连接到模拟单元7(也称为模拟器母板)上来 模拟,也就是,包括一个程序组件或多个程序组件的程序由模拟单元7 来执行。在此,待测试的控制器程序组件3的接口10与测试场景程序组 件2的接口9连接。借助于测试场景程序组件2在模拟时产生用于待测 试的程序组件3的测试信号,然后将该测试信号作为输出信号由测试场 景程序组件2经由运行环境作为用于控制器程序组件3的输入信号传输。 在图1中,控制器程序组件3的接口11与观察器程序组件5的接口12 连接,以至于在经过模拟后借助于控制器程序组件3的经由运行环境传 输给观察器程序组件5的输出信号,能够检查控制器程序组件3是否如 所期望地对开始时收到的测试信号做出反应。也能够使用其它观察器组 件代替观察器程序组件5。因此,测试结果的读取也能够从诊断事件监 视器(DEM)8的存储器或者借助于用于运行时间的诊断显示器或类似 的显示设备来进行。

在此,各程序组件相互间的通信经由运行环境4进行。作为连接层, 运行环境为各程序组件提供与操作系统6无关的平台,该平台为各程序 组件提供基本功能,这些基本功能对于各程序组件相互间的通信——例 如读调用和写调用——是必需的。在此,运行环境的和位于底层的程序 代码的创建基于集成的程序组件的定义和规范自动进行。相应地为集成 的程序组件的每个新的组合重新产生运行环境。在此,通过运行环境构 成的通信通道对应于经由在待实现的电子控制单元中的总线进行的信号 传输。因此,在总线以及从而通信通道故障或失效时测试控制器程序组 件的功能是必要的。

图2示出如对应于根据本发明的方法的虚拟测试环境101的示意性 结构。在此,靠近控制器的基础程序的层包含另一组件117,该另一组件 包含用于运行环境的根据AUTOSAR标准的端口或接口的描述。该描述 能够作为组件-测试服务集成到虚拟测试环境101中。现在,测试场景程 序组件102既经由接口109与待测试的控制器程序组件103的接口连接, 也经由接口120与运行环境的允许经由组件-测试服务121对运行环境的 量值进行访问的接口119连接。以这种方式,关于在接口109和待测试 的控制器组件110的输入端之间的或者在控制器程序组件112和另一程 序组件113的输入端之间的通信通道的错误状态能够经由测试场景程序 组件102输入。在此,所述另一程序组件113能够是观察器程序组件。 一如既往地,在所有必需的程序组件——包括组件-测试服务121——绑 定之后自动生成运行环境104。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号