用于检验在应用软件和移动工作机器之间的兼容性的方法和设备与流程

文档序号:32351834发布日期:2022-11-26 15:24阅读:69来源:国知局

1.本发明涉及一种用于检验在应用软件和移动工作机器之间的兼容性的方法。本发明此外涉及相应的设备、相应的计算机程序以及相应的存储介质。


背景技术:

2.用于通过无线数据接口(有时称为“空中接口”(over the air(空中), ota))分配或更新软件(sw)的方法是众所周知的。通用的方法不仅应用于应用软件(sota)而且应用于嵌入式系统软件(firmware(固件),fota)。
3.根据现有技术,例如使用fota和sota用于更新联网机动车辆和移动工作机器的控制设备。在此情况下,车辆连接接口(vehicle connectivity gateway(车辆连接网关),vcg)典型地用于在耦合控制设备的总线系统与互联网(象征性的“云”)之间的远程信息处理连接。
4.超然于已安装的软件的维护和差错消除,车辆内部的控制设备在该路径上的功能范围可以被扩展功能特征(特征),现有传感器和执行器对于新的应用情况使用所述功能特征。相应的应用程序可以通过移动工作机器的制造商或原始设备制造商(original equipment manufacturer,oem)例如借助于开发工具包(development kit)被创建,并且在云中的数字销售平台上被提供。作为可设想的扩展例如考虑先进的遥测或农业特殊功能,诸如有针对性的杂草消灭。
5.de102015203766a1公开一种用于车辆的子系统,所述子系统具有用于交换设备、车辆和诊断以及软件更新信息的经由空中接口与后端的设备管理服务器连接的设备管理客户端、用于将软件更新从后端下载到车辆中的经由空中接口与后端的下载服务器连接的下载客户端、用于应用软件更新的与下载客户端连接的软件更新客户端和用于协调软件更新的与下载客户端和软件更新客户端连接的车辆更新客户端。
6.根据自数百年来在船舶运输中使用的载货清单,在计算机技术中也使用所谓的清单文件,以便通过存档或其他文件的在其他方面的复合来汇总元数据。例如,在按照iso/iec 23271标准化的公共语言架构(common language infrastructure,cli)、windows操作系统、超文本标记语言html5、java语言环境以及各种linux发行版中应用相应的概念。例如,us20060206449a1提出借助于软件包清单(spm)进行包管理以便更新嵌入式系统。
7.de102018205872a1公开一种用于产生例如机器的数字孪生(digital twin)的方法,其中根据元模型产生描述数据,所述描述数据包含数字数据的特性。此外创建通信信息。为了产生数字孪生,将描述数据、通信信息和机器名称组合在一起。


技术实现要素:

8.本发明提供根据独立权利要求所述的用于检验在应用软件与移动工作机器之间的兼容性的方法、相应的设备、相应的计算机程序以及相应的存储介质。
9.所提出的解决方案使得能够在无真实系统硬件和环境的情况下预先、即在与软件的真实实现、分配或更新相关联的功能事实改变之前执行根据本发明的兼容性检验。
10.通过在从属权利要求中列出的措施有可能有利地改进和改善在独立权利要求中说明的基本思想。因此,可以设置前向(ex ante(事前))视角,从所述视角看可以减少软件的设计和开发耗费,其方式是例如以虚拟方式检验兼容性或以低耗费开发环境模型。应用软件的质量以这种方式升高,因为数据基础和从而基础前提(尤其是在设计和开发过程中被使用)基于真实数据,所述真实数据通过数字孪生的映射机制高效地被收取或者在云中被存放在中央位置处。以这种方式也使得能够支持从与应用软件相关的硬件(通常地机器外围设备)到目标机器上以及从应用软件本身到不同目标控制设备上的安装过程。
11.根据另一方面,可以设置向后(expost(事后))视角,从所述视角例如在分配/开始运转(通常是安装)应用软件之后进行诊断、问题分析和兼容性检验,并且根据结果对移动工作机器进行维护或改装(retrofit)。通过这种方式,可以在应用软件的所有寿命阶段中使用数字孪生,例如当迭代或重复以及相互构建的活动是必要的时,其中要么处于现场中的所有机器的数据总和起作用(现场数据),要么在运行时必须管理具有其库、接口等的单个设备。这例如在安装新的、必要时扩展式应用软件时如下相关,因为这些(或所使用的资源/库)可能相互影响和/或制约和/或相互排斥。
12.根据另一方面可以规定,根据该数据总和识别对移动工作机器进行的配置变化,并且在云中以变化历史的形式被升级。尤其是在各种各样的功能特征的情况下,孪生从而简化变体管理并且同时用作控制设备上的软件配置的参考状态,这又使故障消除、客户业务和系统完整性和与外部传感器和其他附件或外围设备的兼容性的检验(例如根据数字指纹(fingerprint))以及从而最后通过用户对机器的使用变得容易。
附图说明
13.本发明的实施例在附图中示出,并且在以下描述中更详细地被阐述。其中:图1示出根据第一实施方式的方法的流程图。
14.图2示意性地示出根据第二实施方式的计算中心。
具体实施方式
15.数字孪生基于对现有真实系统的查询以及在不同抽象层面上映像(模型)的生成。例如考虑所实现的功能特征和系统组件的列表以及目标系统描述,例如关于用于植株保护剂的所连接的喷射器(喷雾器(sprayer);术语:“喷涂”)。这种描述可以例如根据可以例如由信号、信号类型(模拟/数字)和信号分辨率或其组合构成的版本号、配置、可用接口或指纹(参见哈希值、数字签名)进行。实际软件、配置、应用程序数据等的映像同样是可设想的。
16.数字孪生也可以在改装套件(feature enabling kit(特征使能套件),fek或必要的机器外围设备)的系统架构的抽象层面上被产生,以便在其整体上考虑控制设备,所述控制设备还可以包括多个(例如分布式或联网)控制器或ram。最后,可以设想包括机器、系统组件、控制设备、传感器、喷射器等的整个情境的系统架构模型。
17.这些映射(模型)优选地被存储在云中,并且可以从不同的角度被评估或在其他方面被处理。基础的数据本身不是数字孪生;相反地,后者开启对基础的数据集合或由数据得
出的模型的一个或多个角度(组件角度、用户角度、市场角度等)。在此情况下,每个角度都与特定的问题或目标(例如开发过程的阶段)有关。
18.在下面,根据普遍已知的和公认的寿命周期阶段从不同的观点、以不同的任务重点以及根据多个问题来介绍设计(design,11)、开发(development,12)、分配(deployment,13)、运行(operations,14)和维护(service,15)(参见图1)。在此情况下,使用数字孪生的目的在于:支持接近现实的、可选地迭代的或可重复的开发过程(概念、实现、测试等)。这好像允许应用软件的设计、开发和分配过程及其在现场使用(16)中的运行(14)的“虚拟化”。
19.来自在相关性、频率等方面的数据分析例如用于识别杂草并且在避开经济作物的情况下对所述杂草进行喷洒的抽象问题描述、功能想法或认识构成设计(11)的起点。在该设计阶段中,需要能够实现对要求的合理性检验和在更高的抽象层面上的粗略设计的环境。数字孪生为此提供各种模型(例如软件、硬件和其他系统组件的i/o模型)以及支持新想法的设计的环境的角度。
20.例如对于喷射系统,考虑具有用于控制设备、摄像机、喷射器、拖拉机、植株(图像等)等的参考模型连同例如针对特定的油箱含量的可选的环境模拟的环境。随后通过利用经由接口、通信关系和数据流的交互分解或解析(必要时考虑不同的抽象层面)成叠加的系统模型(系统周围环境或环境)来对具有其系统边界的新想法进行系统描述。由此,也可以实现效果链。
21.如果例如出现不合理的i/o组合,使用了相反的控制信号或设计了超定或欠定的调节系统,则现在可以例如基于i/o模型发现模型冲突。最后,例如在兼容性、通用件、变体等方面已经可能进行与不同的开发团队或供应商的其他系统描述的比较,其目的是在平台的意义上识别共同的模块。这已经是效果链的第一设计,所述第一设计在下面描述的开发(12)中进一步详细说明。从设计(11)到开发(12)的移交可以例如以功能描述的形式进行。
22.上述模型可以基于真实测量数据或理论上确定的物理数据。要开发的应用软件的环境的具体模型例如从接口中得出。此外,例如整个“环境模型”是值得期望的,以便闭合信号链。在最坏情况(worst case)下,该环境模型可以映射整个周围环境,然而典型地根据所使用的接口(例如与调节器设计(11)相关的路径)以模块化的方式被构建。各个模块可以涉及不同的基础的参考模型,例如用于fek、传感器、拖拉机、喷射器等的参考模型。必要时也可以使用其他模块,例如可以耦合不同类型的模拟软件所借助的标准化接口(functional mock-up interface(功能模型接口),fmi)或者集成在matlab simulink中的行为模型。在例如数字农业(smart farming(智能农业))的情境中,这些模型尤其是还包括目标机器的i/o和其他接口,所述其他接口必要时可以利用物理模型被处理。该模型此外提供在开发步骤中对于各自功能特征必要的依赖性,尤其是其他功能特征、总线或其他接口、外部传感器、执行器等,这些从功能特征或组件的i/o要求中得出。
23.在此,这些之间的模型和接口可以涉及不同的抽象层面。在此情况下,混合模拟环境(model in the loop(模型在环),mil;software in the loop(软件在环),sil;processor in the loop(处理器在环),pil;hardware in the loop(硬件在环),hil)也是可设想的。
24.农业技术应用软件可能例如涉及以下应用情况:在耕者的机器的现场使用(16)情况下,所述耕者面临着消灭野草的任务。内容提供商(content provider)想要给机器补充
软件功能,所述软件功能在该消灭时支持耕者,其方式是所述软件功能识别野草并且逐个地以对其进行处理作出反应。为此使用喷雾器模型、摄像机模型、拖拉机模型和周围环境模型或其他路段模型。在此情况下,模型具有输入和输出;例如在行为模型与描述模型之间进行区分。
25.设计者首先仅知道所述其想要使用什么信息、外围设备等:速度、图像等。根据本发明,因此向所述设计者提供所述设计者需要其接口的那些模型。因为所述设计者必要时必须参数化所需要的模型,所以这些模型的知识对所述设计者来说是重要的。
26.在功能安全性方面,在该设计(11)的过程中已经可以估计或者甚至确定:什么是允许的,这可能何时证实,并且这可以如何被识别以及在效应链中在何处关键点是需要的以及冗余和/或合理性检验在何处是需要的。
27.所提出的方法(10)的另一目的是根据设计(11)支持应用软件或功能、软件和硬件组件的全部或各个部分的开发(12)。对于在设计(11)和开发(12)的交替中在迭代验证和证实过程中在对目标机器无物理访问的情况下的虚拟开发(12),必要时需要现场数据,以便根据测量结果和所标识的数据驱动或参数化物理行为模型尽可能好地使软件组件适配于其功能(相关)环境,或对其进行测试、模拟和发布。
28.在环境或环境模型方面,此外关于特性的类型的遗传机制也是可设想的。这也可以与划分成不同的变体(变体树等)进行交互(水平观察,在各个抽象层面上的变化)。在相应的变体树中,节点和参数的具体关系被分配给边和节点。在此情况下又可以得出例如由于所涉及的部件的损耗、老化、制造公差等引起的参数集中的变化。
29.同样可想象的是,可以为想要开发自身的应用软件的新客户提供客户中性的且可执行的最小范围。该最小范围包含对于类似机器的必要时通用类(例如在所使用的接口和建造年份方面)的所有机器共同的基础功能性。以这种方式,创造返回层面或初始基础,开发(12)始终可以从功能的角度涉及所述返回层面或初始基础。该软件状态可以完善为功能性的,并且可以被应用于该类所基于的每个控制设备上。在该参考状态下,系统不具有第三方的功能差异化服务或其他功能特征,但是可以鉴于其要求或为了消除差错的目的被更新或进一步开发。对于系统的由其运转能力和最小功能范围定义的基本行为,例如消息代理、集成框架、抽象层和时间帧足够,其中后者可以由客户在清单中单独地被改变。
30.这种开发(12)的优点尤其是在于,基于接口模型形式的设计(11)的结果和所得出的输入/输出,动态行为(被调对象)现在在分辨率、等待时间以及反馈、对被调对象的相互作用和其他作用方面被开发,并且可以对其执行回归测试。通过该行动此外降低在测试的范围中——例如在观察边缘区域(高转速等)时——使人员、机器或其他物体受伤或损坏的风险。在此,虚拟地被调对象的所有可设想的状态都是可使用的——即使是由于与此关联的耗费而在现实中很少或根本不能被测试的这样的状态。
31.尤其是在具有传感器、执行器等的目标机器的高度差异的情况下,利用真实机器以及其全部配置可能性将会不能实现详尽的测试措施;然而,可以根据不同的数字孪生及其角度使所述测试措施自动化。在生态系统思想的意义上,在此情况下接口提供商(interface provider)可以提供其组件的模型或根据现场数据优化其组件。
32.以这种方式,关于功能上预期的行为的预测或特定商业案例(business cases)的模拟也变得可能。为此,根据真实数据在预期的系统行为方面考虑粗略模型或设计(11)。然
后可以将模拟的结果与所记录的测量值进行比较,例如用于测试或评价种子的根据新的算法实际撒播的和记录的量。通过这种比较可以验证基础商业案例。
33.开发(12)的部分自动化也是可设想的:从而例如已经在现场使用(16)之前可以训练诸如神经网络的数学方法,参数化物理功能,学习以及适配学习和适配方法,并且初始化功能。在第一次试图的情况下或在故障或维护(15)的情况下,通过可能的远程支持改善用户体验(user experience)。在软件组件的分区及其分派给不同的控制设备(electronic control units(电子控制单元),ecu)方面利用在如vcg、ecu、虚拟机、管理程序、后端、智能传感器或执行器之类的执行单元上的通信关系也得出优点。将客户特定的测试场景(例如通过选择专用的测量协议)和模型集成到已经存在的基础设施中同样是可能的。最后,考虑根据数字孪生的sil或其他模拟,使得软件在实验室已经可以测试。
34.如已经阐述的,数字孪生的角度始终与所述数字孪生的使用相关:软件开发人员例如将评价应用软件的收益及其所基于的商业案例,其使用者检验这种收益是否表明这些成本合理。在知道真实的或要改变的机器或相应的系统时,还可以检验用于选择的软件或硬件组件中的哪些根据功能要求、目标或性能特征数(key performance indicators(关键性能指标),(kpi)、诸如精度、成本、投资或性能是最合适的。
35.在变化的非同质集成环境中应用软件在硬件上的分布(13)时数字孪生的任务变得多种多样。例如,sota的发布通常不能笼统地进行,因为机器可能已经在现场使用(16)中被修改,并且存在机器的不可预见的、破坏性的或以其他方式不安全的行为的危险。在这种情况下,所涉及的个性化机器的数字孪生理想地映射这些变化,并且从而使得能够在无对目标系统的行为的不期望的反作用的情况下安装新的或扩展的应用软件。
36.为此,数字孪生映射必要时经改变的机器、其fek或软件,并且在预期的反作用的情况下,允许估计这些在要求的范围内是否仍然是允许的。为了检验sota,例如为了在机器的新功能特征的情况下更新接口,记录在分配(13)的准备阶段中执行的测试作为在设计(11)和开发(12)之后的模拟和测试的基础。在有关的应用软件的实际开发(12)之后,从中可以导出针对专用机器的新功能特征的预测。
37.应用软件与机器之间的相互兼容性的相应检验可以根据以下具体示例来理解:在功能前兼容性检验的范围中,耕者可以通过后端应用程序测试:软件是否以其机器的配置起作用,所述机器的数字孪生存在于云(17)中。在首次将软件安装到具体的控制设备或装备有所述控制设备的机器上之前,在该范围中,静态和动态的依赖性和兼容性已经可以根据数字孪生的数据(例如在可能的系统阻塞(deadlock(死锁))或循环参考方面的执行顺序)被检验,或者系统资源的所得到的充分利用被估计。因为可以在功能后兼容性检验的意义上确保与变化的系统部分、诸如机械装置和其他硬件(例如动态变化的传感器接口或对所述传感器接口的已改变的访问)以及软件包括其组件在内的功能兼容性,所以这又使得能够例如在云(17)中与控制设备无关地以简化的方式发布功能性。
38.软件与目标机器的在分配(13)之前在功能前兼容性检验的意义上要估计的功能兼容性也不仅可以考虑其类型和类别,而且可以例如考虑机器的实际真实配置、其版本和事后的特殊改变。
39.也可以通过这种方式确保功能安全性,其方式是检验可能导致安全性关键情形的场景。因为安全性技术的状况和基于此的法律要求在该领域中连续地进一步发展,所以这
证明是特别有帮助的。
40.最后,在新应用软件的分配(13)的准备阶段中可以确保维持其旧的核心功能,并且从而可以保证向后兼容性。
41.利用例如在集成层中通过与其他传感器、过程等进行比较识别不合理的信号模式,根据相关性和互相关性能够实现与具有工具和环境的工作机器或与工作过程和与功能行为的逻辑关联。由此可以导出系统中的差错(例如在传感器、执行器及其控制装置、软件、机械装置或机器的其他方面)以及系统之外的改变。所描述的识别还开辟在具有新或旧的组件的实际系统是否尽管或者恰好由于改变将再次或仍然起作用的问题方面的预见。最后,可以分析在系统中是否某些内容不允许地发生了变化。不仅在功能前兼容性检验时而且在功能后兼容性检验时,结果均可以在于必要时必须关断功能性或下载新的软件,例如用于相应的扩展接口(plug-ins(插件))。
42.在运行(14)中,数据尤其是在移动工作机器的运行时被收集并且必要时被聚合,以便例如完全可以开发数字孪生,或者可以导出其角度。各个角度的基本结构(例如兼容性检验)也可以在无这些数据的情况下被开发,例如当仅需要配置或静态角度时。数据检测也用于可以在其i/o行为(因果以及相关)方面使用模型,并且可以检验哪些机器支持哪些特定的应用软件。根据所定义的规则,聚合可以跨机器地涉及各个孪生的所有特征或孪生的一致角度。其结果可以通过元分析被用于标识相同部分或典型变体,并且在例如在设计(11)中使用所述相同部分或典型变体。此外,根据映射机器的所有差异的所测量的i/o行为的所聚合的现场数据可以提交使用证明,做出或至少支持决策以及制作软件质量的跨变体和版本的分析。这能够实现软件的重构,以便抵抗其质量降低(质量劣变)。
43.例如,适用于数字农业的典型喷雾器具有特定的外观,并且以高达50个区段(sections)被使用在100公顷至200公顷的面积上。参考模型应该是可配置的,使得位于现场使用(16)中的所有目标变体都可以被映射,并且被提供用于在设计(11)和开发(12)的范围中进行验证。另一应用示例是应用软件的可维护性指数的静态或动态确定。
44.自安装起系统周围环境的变化可以在运行时动态地被检测。该检测使得能够持久地检验和更新数字孪生,也即从与设计相关的角度包括变化历史在内来看,每个控制设备都有“自身的”数字孪生,所述变化历史例如:1. 于2006年11月24日第一次更新运行2. 于2018年03月26日第二次更新运行3. 于2019年07月01日第三次更新运行从中得出指纹的比较,以便检验自最后的检验以来环境是否发生了变化,并由此导出系统处的某些内容是否(必要时有差错地)发生了变化的指标。
45.所描述的比较也对于诊断和下面描述的维护(15)证明是重要的。i/o行为的变化可以表示环境的不一致性的指示,所述不一致性可能创立在差错存储器中关于必要时滥用的使用等的评语。
46.如果系统配置、尤其是所安装的软件的某些内容或整个系统改变,则只要关于新的系统状态的变化是有意的(例如在硬件、软件、配置、所连接的机器的有意的变化的情况下)相对应的数字孪生或角度必要时利用变化历史被更新,或者如果这首次发生,则完全首先被生成。而如果根据指纹可以猜测可以追溯到如缺陷或磨损之类的外部影响的变化,则
引入差错处理。从而不仅可以考虑数字孪生,而且可以考虑在控制设备上本地确定的指纹:该指纹提供控制系统的不同总线上的不同信号类型的i/o信号模式的映像。因此,信号模式以设置的和正确的功能被记录,并且与数字孪生一起受保护。这些记录用作模拟和测试的基础,以便不仅检验功能变化,而且确定系统的输入或输出的改变。
47.在当前指纹与先前存储在本地或云(17)中的指纹偏离的情况下,设置与至云(17)的连接有关的事件处理(event handling):如果存在连接,则借助于特定的算法检验功能能力并且控制设备或其特定的功能必要时被暂时禁止用于使用或在检验之后再次被释放。而如果不存在连接,则可以根据内部肯定列表(whitelists(白名单))来检验改变在功能能力的意义上是否是非关键的。如果这不能被确认,则设备被暂时禁止,直至至云中的后端处置连接(17),并且然后可以如上处理为止。
48.指纹以及肯定列表是数字孪生的一部分,并且应根据功能特征和相应的清单被更新。在此情况下,数字孪生可以用作所比较的和必要时验证的参考配置,以便例如能够确定:自最后的更新以来是否发生了有意的功能变化并且尤其是功能扩展,并且因此是否有效。还可设想的是,利用相应的例程定期地检验孪生的系统的完整性和合理性。除了记录当前配置和通过现场数据检测确定的状态(例如在系统、子系统或功能的不同层面上特定的功能或诊断的启动和中止频率),还可以注明所连接的机器(附件)以及随时间上的改变(历史)。
49.在差错情况下,可以通过从相关的角度分析数字孪生来识别差错模式,并且提供用于服务和维护(15)的相应的处理指令或选项(例如更换传感器)。在此情况下,自动化差错清理,其中自动化地开发必要的消除步骤。例如,后者可以包括选择预定义的措施、对用户、开发人员等的建议以及借助于人工智能(ki)定义新的措施。在相应地标识的差错场景的情况下,可以在所有同样所涉及的机器上自动地预防性地消除所述差错场景,或者相应的数据记录至少被存放在数据库中并且被提供用于将来诊断。在这种情况下可识别的由最终用户引起的系统改变可能例如在于,耕者移除传感器并且将其连接端持久地与起动机电池的正极(行业用语:“持续正(dauerplus)”)连接。在与之有关的差错消息到达时,检验指纹和数字孪生的合理性。
50.该方法(10)可以例如以软件或硬件或以由软件和硬件组成的混合形式例如在云(17)中的计算中心(20)中实施,如图2的示意图说明的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1