用于在具有自X特性的自主系统中使用的监测和控制单元的制作方法

文档序号:17727848发布日期:2019-05-22 02:38阅读:157来源:国知局
用于在具有自X特性的自主系统中使用的监测和控制单元的制作方法

本发明涉及用于在自主系统中使用的监测和控制单元、用于在自主系统中使用的自主部件、具有自x特性的对应自主系统以及自主系统的自测试的对应方法。

2.

背景技术:

软件系统的复杂性在近几十年中不断增长,并且作为结果其变得更加灵活、可配置、可定制并且多用途。针对该原因,存在对于技术系统的增长的需要,其能够以适当的方式响应于不可预测的环境改变并且响应于间或冲突的需要的快速数据流。在接下来的几年中这样的技术系统将发挥关键作用。

在文献中对于这样的技术系统存在若干定义,例如自治系统、自主系统、有机系统、自管理系统或者自适应系统。例如,自主系统可以装备有传感器和致动器。因此,自主系统能够感知其环境、能够自由地通信、并且能够组织其自身以便执行似乎被要求的动作和服务。进一步地,自主系统的特征在于自x特性(在英文文献中也已知为自*),包括自组织、自配置、自优化、自修复、自保护、自解释、自适应、自学习等等。例如,可以将机器人、机器人车辆、智能工厂智能电网、其它智能机器和设备设计为自主系统。这些是在工业4.0数字化工厂和过程自动化的技术领域中的熟知的示例。

本领域技术人员将领会到自主系统的软件测试是复杂并且困难的任务。从现有技术中已知软件测试为在找出软件中的错误的意图下执行程序或者应用的过程。因此,还可以将软件测试规定为确认和验证软件程序或者应用满足技术和商业目标、达成要求并且如期望那样工作的过程。作为结果,可以改进测试的软件的质量并且能够显著地最小化致命错误的风险。

如下面进一步概述那样,自主系统的特征在于开放式系统结构和作出决策的能力。这意味着自主系统能够在运行时基于其当前需要并且根据环境状况作出适当的决策。因为灵活的系统配置、不可预测的改变和非确定性的系统行为,所以在已知的技术中,不能确认自主系统的自x特性的行为并且不保证其正确性。因此,自主系统的厂商或者供应商也不能确保其如期望那样在给定的操作或者环境状况下工作。

缺少必要的软件测试或者确认会导致严重的后果和错误。除了诸如金钱损失或者巨大的图像损坏的弊端之外,在工厂生产过程中还可能出现致命错误并且不确保人和机器的安全。在一起极端案例中,一个人在工业工厂中安装机器人时被杀死。

完全缺少软件测试、不足够或者不正确的软件测试和自主系统的确认可以追溯到以下一些原因。

缺少现实环境和操作测试数据是一个主要原因。为了测试自主系统的自x特性,人们需要指定合适的输入数据,在测试执行期间使用该输入数据以引发某种系统行为。然而,通常输入参数的集合不仅仅由与工作流程相关的测试数据组成,还由来自与被测软件交互的对等实体的数据和表示环境状况(在系统“外部”)的测试数据组成。

如上面概述那样,更详细地,自主系统的系统结构是灵活的,允许在任何时间处在系统配置上的改变并且自主系统可以在客户现场处成为未预见到的配置下的存在。更一般地,任何系统配置是可能的。因此,交互的对等实体的技术、数量和状态能够在操作之前、之后或者甚至期间改变。这使得对于测试工程师来说真的很难设计出现实、完整并且全面的测试数据而同时这些数据的总量仍然是可管理的并且允许进行穷举测试。此外,应当考虑可能在操作时间发生的环境状况和任何干扰。然而,当设计和开发系统时,在工程时间这些进一步的状况不是已知的。

作为结果,已知的技术并不允许针对特定于工作流程的测试数据、环境测试数据、和干扰因素中的任何可能的组合进行软件测试或者确认正确的系统行为。

缺少可预测的结果是进一步的原因。在软件测试和测试过程中可预测的输出是重要的,因为其有助于在正确和不正确的行为之间进行区分。在传统的软件工程中,系统的输出仅仅取决于其输入,其范围大多是可预测的。系统基于输入来作出预定义的决策以实现某些目标。以这种方式,为了能够确定某些行为是否是正确的还是不正确的,对于测试者来说知道输入就足够了。然而,如上面进一步提到那样,自主系统的行为不仅仅取决于输入参数的集合,还取决于环境状况和干扰。为了满足这些要求,自主系统具有在运行时用以改变和优化其行为的能力。不可预测的环境状况、可能发生的大多未知的干扰的广泛变化、宽范围的输入参数和灵活的系统行为的组合使得在任何时间预测系统行为及其输出非常困难。因此,基于未知的结果不能确保某个系统行为是正确的还是不正确的。进一步地,系统可能在一种情景或者相同的多种情景中以不同的方式作出反应。这是有意的并且是由机器学习算法“引起”的,机器学习算法帮助系统随时间的经过优化其行为和其结果。

迄今为止,只是仅仅在文献中应对在自主系统情形下的任务软件测试。就被称为走廊强制基础设施(cei)的面向控制的系统架构而言,一种已知的用于软件测试和特定行为确认的示例性方法是已知的。在该方法中,正确的系统行为被认为是走廊。应该由系统架构监测并且标识该走廊之外的每个偏差。在偏差已经被标识之后,应该将系统行为强制返回走廊。该方法的一个缺点是,仍然未知如何能够将走廊用于系统行为的确认和验证。即使发生了错误并且系统离开其走廊,是什么引起了该偏差以及根本原因在哪里也不是显而易见的。

因此本发明的目标是为了提供用于在具有自x特性的自主系统中以如下这样的方式使用的监测和控制单元——虽然用于测试的状况是不可预测的、可改变的并且非确定性的,但是自主系统的系统行为是正确的。

3.

技术实现要素:

本问题是根据本发明的一个方面通过用于在具有自x特性的自主系统中使用的监测和控制单元来解决的,控制单元包括:

a.用于接收测试数据的测试数据接口;

b.用于接收真实数据的真实数据接口;

c.其中将测试数据与真实数据进行比较以确定真实数据中是否存在一部分新数据;

如果在真实数据中标识到一部分新数据,则利用该部分新数据更新测试数据。

d.用于发送更新的测试数据的输出接口,其能够被进一步处理成至少一个可执行测试。

自主系统能够装备有诸如传感器和致动器的特定组件,以用于监测其环境并且执行任何想要的动作。因此,自主系统能够在很大程度上组织其自身并且能够以自x特性为特征。更特别地,本自主系统包括作为自x特性的自测试。因此,在这种情况下,自主系统不需要用于测试自主系统的任何外部的或者分离的测试组件。相反,具有自x特性的自主系统能够自己测试其系统行为。

因此,初始测试数据被生成并且处理成可执行的测试以用于在工程阶段或者实现期间测试自主系统。进一步地,自主系统在被测试之后在操作阶段中以操作模式操作。

因此,用于在具有自x特性的自主系统中使用的监测和控制单元接收来自虚拟世界的测试数据和来自真实世界的真实数据这两者。进一步地,第一监测和控制单元评估两个接收的数据集合。更特别地,将这两个接收的数据集合与彼此进行比较。如果在真实数据中标识了一部分新数据,则利用该部分新数据更新测试数据。然后,更新的测试数据被用于生成一个或多个新的可执行测试。因此,先前或者已经存储的测试数据被扩展或者纠正作为示例。

这样,本发明允许生成可执行测试,其覆盖与自主系统的可能并且现实的系统行为有关的所有关键和完整的信息,并且因此改进自主系统的确认。

根据实施例,数据接口中的至少两个——真实数据接口或者输出接口被组合成一个接口。如提到那样,监测和控制单元接接收两个不同的数据集合。因此监测和控制单元能够包括一个公共接口或者多个不同接口以用于在虚拟世界和真实世界之间接收和/或发送数据集合。

根据实施例,测试数据基于至少一个外部或者内部的输入参数,其中可以从如下的组中选择至少一个输入参数,所述组包括:系统环境、系统要求、系统状态、系统组件、与系统组件的交互。系统工程师在工程阶段中基于所有可能的最坏情况场景和因此可能在真实世界中在自主系统外部或者自主系统内部发生的事件来生成测试数据。这样,如在本发明的引言部分中指出那样,通过改进测试数据和可执行测试能够在真实世界中避免致命的错误。

根据实施例,真实数据接口从第二监测和控制单元接收真实数据,该第二监测和控制单元从真实世界采集真实数据。由此,如下面进一步概述那样,将第二监测和控制单元放置在真实的、物理的硬件设备上。这样,测试数据集合不仅仅基于期望或者可能发生的最坏情况,而且还基于真实输入参数被完成、扩展或者纠正。

本发明还涉及用于在具有自x特性的自主系统中使用的自主部件,包括监测和控制单元。

本发明还涉及具有自x特性的自主系统,包括:

a.在虚拟世界中的第一自主部件,其具有用于评估测试数据的第一监测和控制单元。

b.在真实世界中的第二自主部件,其具有用于采集真实数据并且用于将真实数据发送到在虚拟世界中的第一自主部件的第二监测和控制单元。

如上面进一步解释那样,在本发明的一个方面中自主系统包括具有相应的监测和控制单元的两个不同的自主部件。由此,虚拟世界的第一监测和控制单元从虚拟世界接收测试数据并且从第二监测和控制单元并且因此从真实世界接收真实数据以用于数据评估。因此,两个监测和控制单元与彼此功能地交互以用于生成测试数据。由此,测试数据有利地旨在覆盖可能发生的所有可能的环境状况和确实发生的环境状况。

换句话说,覆盖是随时间的经过而增加的。物理单元处于操作的时间越长,采集越真实的测试数据并且覆盖被增加。

根据实施例,在虚拟世界中的第一自主部件是数字虚拟单元并且第二自主部件是在真实世界中的物理单元。第二自主部件与其数字虚拟单元(被称为数字孪生)连接并且完全同步,该数字虚拟单元自身连接于第一自主部件。因此,第一自主部件在工程阶段中(即,不在真实世界中)测试自主系统。第二自主部件在真实世界中的操作阶段中进行操作。因此,自主系统取决于当前系统行为和环境状况来作出决策或者执行功能。

根据实施例,第一自主部件和第二自主部件通过用于交换测试数据和/或真实数据的通信信道进行连接。因此,第一自主部件和第二自主部件能够通过允许用于灵活和高效的数据转移的任何种类的通信信道交换数据。附加地或者替换地,数据能够被存储在自主系统的在一个或多个非易失性数据存储、易失性数据存储和/或云中的自主部件、其它组件内。

根据实施例,第一自主部件进一步包括适用于演绎动态分类树的至少一个处理单元。更新的测试数据可以在被执行之前通过相应的一个或多个处理单元在一个或多个处理步骤中被进一步处理。因此,例如测试数据可以被由数据生成器以动态分类树的形式定义,以生成测试数据组合。测试数据组合可以由测试脚本生成器进一步使用以生成一个或多个可执行测试。动态分类树的使用被证明是特别有利的,因为不仅仅是静态测试数据,而且还有诸如交互对等实体测试数据和环境测试数据的其它测试数据能够被添加到现存的分类树。这是必要的,因为环境状况可能随时间经过而改变。

根据实施例,第一自主部件进一步包括用于报告在自主系统中的至少一个偏差的偏差报告单元,其中如果通过第一监测和控制单元标识了一部分新数据,则检测到至少一个偏差。如先前解释那样,监测和控制单元将测试数据与真实数据进行比较。如果标识到一部分新数据,并且因此计算的真实数据从期望的测试数据偏离,则发生一个或多个偏差。这些偏差被报告。因此,先前生成的可执行测试失败了,并且必须重复可执行测试的生成并且执行测试直到没有发生进一步的偏差。因此,例如可以在一开始向其它邻近的自主系统报告偏差并且可以发起进一步的测量。

根据实施例,第二自主部件进一步包括用于在其自身上执行测试的嵌入式自x测试器。如先前解释那样,第一自主部件的可执行测试在工程阶段中(即,不在操作模式中)执行。然而,附加地或者替换地,真实世界中的第二自主部件可以包括用于(例如,当在空闲或者待机模式中)测试其系统功能的自x测试器。因此本发明确保测试是有意义的并且自主系统被正确和高效地确认。

本发明还涉及自主系统的自测试方法,包括如下步骤:

a.通过第一监测和控制单元的测试数据接口接收测试数据;

b.通过第一监测和控制单元的真实数据接口接收真实数据;

c.通过第一监测和控制单元将测试数据与真实数据进行比较以确定在真实数据中是否存在一部分新数据;

如果在真实数据中标识了一部分新数据,则利用该部分新数据来更新测试数据;

d.通过第一监测和控制单元的输出接口来发送更新的测试数据,其可以被进一步处理成至少一个可执行测试。

最后,本发明还提供包括用于实现上面描述方法中的任何一个的指令的计算机程序。

4.附图说明

在以下的详细描述中,现在参照以下各图进一步描述本发明优选的实施例:

图1示出依照本发明的简化的自主系统的示意性表示。

图2示出依照本发明的用于自测试自主系统的流程图。

5.具体实施方式

自主系统的自测试

图1图示用于测试具有自x特性的自主系统1的测试架构。该测试架构可以被划分成两部分和相关联的阶段。图1的左边部分被分配到工程阶段和操作阶段这两者,而图1的右边部分仅仅被分配到操作阶段。在工程阶段中设计、实现并且仿真自主系统。来自真实世界的每个物理单元pu具有其虚拟代表,其通常被称为数字孪生dt。由此,数字孪生dt与物理单元pu完全同步,映射其当前状态并且保存所有描述它的信息。进一步地,数字孪生dt和物理单元pu通过通信信道80进行连接。可以将通信信道80实现为wlan或者lan等等,并且可以直接通过通信信道或者使用mes(例如,mes=制造执行系统)作为代理服务器来交换信息。附加地或者替换地,可以将交换的数据存储在云或者其它类型的存储中。在操作阶段中,自主系统1以操作模式或者工作模式操作并且完成其目标。

如上面提到那样,存在引起软件测试不正确的两个原因或者技术问题:1)缺少现实环境和操作测试数据以及2)缺少可预测的结果。如将在下文中关于图1和图2解释那样,在本发明中解决这些问题并且通过执行根据本发明的方法步骤s1至方法步骤s4来克服这些问题。

因此,自主部件pu、测试代理ta的每个都包括满足相应功能并且以功能的方式与彼此交互的多个系统组件。根据实施例,每个自主部件pu、ta包括监测和控制单元51、监测和控制单元52。

测试代理ta以及物理单元pu的监测和控制单元

根据实施例,监测和控制单元51、监测和控制单元52在其用于执行相应功能的子单元上不同。为了简化,在图1中未图示子单元。

例如测试代理ta的第一监测和控制单元51包括作为子单元的测试数据评估器以用于数据比较和评估。测试数据评估器可以确定到来的数据,尤其是真实数据rd是否已经被记录并且确定当前的测试数据td是否被更新。其还可以将pu的自x算法的结果(部分真实数据rd)与现存测试数据中对应于它们的那个进行比较。相反,物理单元pu的第二监测和控制单元52包括例如测试数据采集器以用于数据采集。测试数据采集器可以采集(例如记录)真实数据并且将真实数据(输入数据和输出数据这两者)从第二监测和控制单元52发送到第一监测和控制单元51以用于进一步的数据比较。

测试代理ta的进一步的系统单元

ta的自适应测试用例建模10是uml扩展。它是允许明确的自适应性建模的建模方法,“使得自适应性能够尽早在软件工程处理中得到关注”。基于uml模型的测试生成是当今用于测试规范的最完善的方法之一并且可以在本发明中使用以对自适应系统行为进行建模。

ta的偏差报告单元70还可以被称为“偏差广播员”并且可以被用于将任何已知的或者找出的错误或者缺陷广播给其它交互对等实体以及任何其它有关单元(即mes系统)。这允许参与在生产过程中的其它系统单元更好地反应以及在其通信和生产搭档中的一个中发生错误的情况下相应地适配其行为。

dt的数据生成器20能够使用分类树方法作为测试技术以基于预定义的输入数据空间生成测试数据的组合。数据生成器和/或进一步的子单元能够被合并在诸如测试数据场的组件中。根据实施例,将预定义的输入数据空间存储为自适应分类树(act)。数据生成器20使用这些树以生成输入数据。act由固定部分和自适应部分组成。固定部分是在工程阶段中定义的并且描述一组已知参数和它们的所期望的结果。如上面进一步解释那样,它们中的一些得自于最坏的情况定义。自适应部分描绘as的当前配置和一组数据,其是通过决策作出(自x)算法41处置的并且被由监测和控制单元51评估。act的该部分是动态的并且如果标识到数据或者数据对的新组合,则act的该部分能够被监测和控制单元51更新。

如先前上面解释那样,dt的测试脚本生成器30将行为描述和一组测试数据当作输入并且将它们以合适的方式进行组合以生成一个或多个可执行测试作为输出。该测试脚本生成器30将可执行测试传输到决策作出算法41。

物理单元pu的进一步的系统单元

在空闲阶段中或者在操作期间,pu的自x测试器60能够对其自身执行测试。自x测试器可以使用静态测试数据以基于得自于最坏情况场景的预定义的一组测试数据组合来确认其行为。这样,本发明确保基础系统功能进行工作并且对于使用而言自主系统是安全的。

自主系统的自测试

将关于图1再一次详细地解释具有自主系统的监测和控制单元51、监测和控制单元52的自主部件的功能相互作用,所述自主系统具有自x特性。

如已经解释那样,通过在工程阶段中在测试代理ta上测试最坏的可能场景并且利用来自物理单元pu的真实数据rd扩展工程阶段的测试数据td来克服第一问题1),所述真实数据rd是在操作阶段期间由物理单元pu采集的。

一方面系统工程师假设最坏的可能场景或者最坏的情况以设计自主系统的可能的系统行为以用于在工程阶段中生成测试数据td。这是有利的,因为在工程阶段中真实的系统行为是未知的并且可能在操作阶段中改变。如先前提到那样,本发明试图填补缺少的信息。在现有技术中,自主系统是在不完整的信息上测试的并且因此所确认的自主系统可能在操作阶段中作出错误的决策。进一步地,利用在操作阶段中采集的真实数据rd持续地更新所生成的测试数据td。

这也是有利的,因为期望的系统行为适配于真实的环境状况。

由此,首先必须在工程阶段中由系统工程师定义最坏的情况。最坏的情况场景涉及最关键的场景,以及由系统工程师定义并且认为重要的任何其它场景。人们不得不针对每个最坏情况场景创建描述场景工作流程和期望的系统行为的一个或多个测试用例。

更明确地,对针对最坏情况的系统行为进行建模,优选地在uml中使用uml扩展以用于建模自适应行为10并且将其传输到测试脚本生成器30。进一步地,相应的测试数据td是由系统工程师定义的,优选地作为自适应分类树的静态部分并且被传输到测试代理ta的数据生成器20。然后,数据生成器20将测试数据td当作输入并且(例如自动地)生成可能的测试数据组合。将测试数据组合从数据生成器20传输到测试代理ta的测试脚本生成器30。因此,数据生成器20接收两方的测试数据td并且生成测试数据组合。替换地或者附加地,测试脚本生成器30能够接收其它数据。测试脚本生成器30将接收的数据当作输入并且(例如自动地)生成可执行的测试,其能够通过优选地将有关数据从测试脚本生成器30传递到诸如自x算法41、自x算法42的决策作出算法而被直接执行。测试代理ta包括一个或多个附加的系统组件,特别是监测和控制单元51,其将在以下被更详细地解释。

此外,物理单元pu还包括监测和控制单元52。该监测和控制单元52将到来的真实世界数据rd记录为输入数据,诸如参数、环境状况和影响作出决策的任何非期望的干扰。为此原因,监测和控制单元52包括测试数据采集器(未示出)。然后,将采集的输入数据集合与输出数据一起作为新的真实世界数据rd从监测和控制单元52传输到测试代理ta的监测和控制单元51。监测和控制单元51包括用于检查哪个输入—输出对在过去已经发生并且已经被记录的嵌入式测试数据评估器。诸如新的输入—输出对的所有新的数据组合被用于扩展和更新先前的测试数据(动态分类树)并且用于生成新的测试数据组合和可执行测试。

因此,在操作阶段中通过物理单元pu的监测和控制单元52来记录从真实世界采集的新的输入数据。然后在物理单元pu上部署任何新版本的软件之前,在虚拟世界中重新使用这种所谓的真实世界数据rd以用于测试目的。因此,测试代理at的监测和控制单元51在存储的测试数据集合中合并或者重新使用所记录的新的真实世界数据。因此,根据实施例,该方法保证在当前和现实环境中的所有信息和改变被合并在测试数据中。

根据实施例,监测和控制单元51能够包括接口中的一个或多个,诸如用于接收数据的输入接口和/或用于发送数据的输出接口。在图1中,监测和控制单元51包括用于接收真实数据rd的真实数据接口ri和用于接收测试数据td的测试数据接口ti。附加地,监测和控制单元51包括用于发送更新的测试数据的输出接口oi。监测和控制单元51还可以包括相应的接口(未示出)。

图2图示包括根据本发明的方法步骤的流程图。如先前解释那样,第一监测和控制单元51包括用于接收和发送数据集合的至少三个接口。在第一步骤s1中测试数据接口接收测试数据td的预定义集合。进一步地,真实数据接口接收由物理单元pu的监测和控制单元采集的真实数据rd(s2)。在进一步的步骤s3中将两个数据集合td、rd进行比较。如果标识了一部分新数据,则利用该部分新数据更新测试数据td。在最后的步骤s4中,输出接口发送更新的测试数据。该更新的测试数据可以进一步被处理成相应的可执行测试(未示出)。

总的来说,在本发明中在工程阶段中的最坏情况测试和测试数据的利用真实世界数据的持续扩展的组合允许持续地监测自主系统及其元件的正确行为并且允许通过持续地添加现实数据集合来扩展现存的测试基础。

如先前解释那样,每个自主部件包括相应的监测和控制单元51、监测和控制单元52。附加地或者替换地,自主部件包括其它不同的或者相同的系统组件。由此,物理单元pu的监测和控制单元52接收并且记录输入数据和输出数据对并且将其发送到测试代理ta的监测和控制单元51。特别是,测试代理ta的监测和控制单元51具有测试数据评估器,其将先前的输入—输出数据对与来自真实世界的新的输入—输出数据对进行比较。如果检测到任何新的输入—输出数据对,则它们被进一步传输到测试代理ta的数据生成器20。该数据生成器20更新数据模型(动态分类树)并且生成可能的测试数据组合。测试数据组合被从数据生成器20传输到测试脚本生成器30。如上面解释那样,该测试脚本生成器30生成可执行的测试30。重要地,新记录的输出数据也被认为是期望的结果。越多的数据被采集,期望的结果将越准确。

根据实施例,应用的示例性产品或者领域可以是自主汽车。物理单元pu可以是在高速公路上驾驶并且考虑其环境状况而响应于速度或者距离约束的自主汽车。应用的另一个领域可以是智能设备,如机器人、传送器或者在智能生产工厂中的cnc机器。例如机器人将能够取决于其要完成的任务来调整其速度和位置或者能够根据当前的生产工作流程将工件重新引导到另外的设备。使第一和第二自主部件ta、pu是同步的并且可以与彼此通信以用于测试数据的交换和扩展。

为了生成测试数据和进一步自测试自主汽车,必须考虑各种输入参数,诸如例如自主汽车或者外部环境状况的发生或者事件。例如为了生成可靠的测试数据,应当在虚拟世界考虑制动器故障、在高速公路上的人或者距高速公路上下辆车的距离。然而,在虚拟世界中自主汽车及其行为或者反应是未知的并且可以仅仅是期望的或者被完全覆盖的。因此期望的输入参数和行为可能在真实世界中改变。例如,如果两辆车之间的距离低于某个阈值,则自主汽车应当在真实世界中放慢速度。因此,在操作期间在真实世界中监测输入参数和/或行为并且利用真实数据更新先前假设的测试数据。因此,能够持续地扩展或者纠正测试数据。应当注意的是本发明还可应用在任何其它生产或者技术领域,诸如机器人技术或者过程自动化。在自主部件pu包括自x测试器的情况下,自主汽车还适用于在空闲模式(即红色交通灯或者停车)期间进行自测试。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1