CN109791575B - 一种应用于机电系统的自动化设计系统及方法 - Google Patents
一种应用于机电系统的自动化设计系统及方法 Download PDFInfo
- Publication number
- CN109791575B CN109791575B CN201780045870.2A CN201780045870A CN109791575B CN 109791575 B CN109791575 B CN 109791575B CN 201780045870 A CN201780045870 A CN 201780045870A CN 109791575 B CN109791575 B CN 109791575B
- Authority
- CN
- China
- Prior art keywords
- automaton
- computer
- text
- ltl
- test
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000013461 design Methods 0.000 title claims abstract description 17
- 238000012360 testing method Methods 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 53
- 230000001953 sensory effect Effects 0.000 claims 1
- 238000011161 development Methods 0.000 description 15
- 230000018109 developmental process Effects 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000012795 verification Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000010354 integration Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000005312 nonlinear dynamic Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013178 mathematical model Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000033772 system development Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 235000006025 Durio zibethinus Nutrition 0.000 description 1
- 240000000716 Durio zibethinus Species 0.000 description 1
- 101100194362 Schizosaccharomyces pombe (strain 972 / ATCC 24843) res1 gene Proteins 0.000 description 1
- 101100194363 Schizosaccharomyces pombe (strain 972 / ATCC 24843) res2 gene Proteins 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 108010051489 calin Proteins 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明描述了一种用于动态系统的计算机辅助系统设计的方法。根据一个实施例,该方法包括:提供文本系统描述;使用计算机将所述文本系统描述转换为线性时序逻辑LTL式子;使用计算机将LTL式子转换为第一自动机;使用计算机提供表示系统动态过程的第二自动机;并使用计算机,通过合并第一自动机及第二自动机,生成测试自动机。
Description
背景技术
本公开具体涉及一种应用于机电系统的自动化设计的系统及方法。
背景技术
目前存在大量开发及销售不符合重要安全标准的机电系统的情况。原因是按照适合的安全标准进行开发的成本及时间消耗相当大。因而,只有“高端”的应用,像航空工业领域会严格按照这些标准来进行系统设计。
根据不同的应用场合,机电系统应该根据不同的安全标准来进行开发,例如汽车工业的ISO26262标准(题为:“道路车辆-功能性安全”),涉及机械安全的IEC62061标准(题为“机电安全:电学、电子及可编程电子控制系统的功能性安全”),铁路工业领域的EN51028标准,或航空工业的D0254/D0178C标准,以符合如E.U机械指令。其中大部分源自元标准IEC61508。为了做到这一点,通常所谓的V模型是根据这些标准应用于系统设计(软件和硬件设计)的公认系统开发过程(见图1)。
为了开发和设计符合V模型的系统,将需要大量的开发时间用于测试、存档以及验证。作为例证,图2示出了英国宇航系统公司使用的简化的开发过程。通常,该工作流程的起始点是文本需求规范。下一步中,建立起系统的软件模型(如,使用一般的数值计算环境Matlab或Simulink),其符合需求规范。通过检查来证明其符合要求规范,该检查通过独立的开发者在系统的低临界情况下(四眼原则),或额外通过第三方检查者在系统的高临界情况下(六眼原则)完成。
为了降低开发成本,MathWorks公司引入了数个基于Matlab的工具,该工具允许开发过程的部分自动化。这些工具可以实现包括自动代码生成,自动在模型中跟踪要求的变化,自动测试设计以及自动验证及确认系统设计的功能。回顾一下V模型的开发周期(见图1),这些工具使下方部分的工作自动化了(在V模型的下两个分层的三个方框),如图3所示。这些方框的上方的工作内容(V模型的从上往下数的三个分层)是必须手动通过工程师“手动”来完成的。
发明内容
这里描述了一种用于动态系统的计算机辅助系统设计的方法。根据一个实施例,本方法包括:提供文本系统描述;使用计算机将文本系统描述转换为线性时序逻辑LTL式子;使用计算机将该LTL式子转换为第一自动机;使用计算机提供代表系统动态的第二自动机;并使用计算机通过合并第一和第二自动机产生测试自动机。
这里所描述的方法,根据众所周知的V模型,允许部分自动地设计和确认系统。在一个例子中,该方法还可包括:产生测试自动机的硬件描述语言(HDL)模型;并使用计算机在硬件上实施自动测试自动过程。在一个例子中,文本系统描述可自动地增强以包括冗余。
将文本系统描述转换为LTL式子包括以下步骤:将文本系统描述分解为关键字,这些关键字代表逻辑运算符及线性时序逻辑(LTL)的模态时序运算符,以及通过关键字连接起来的文本通道;使用计算机生成与通过关键字连接起来的文本通道对应的软件函数(function)定义;基于多个软件函数定义及通过关键字定义的运算符生成LTL式子。在一个例子中,提供代表系统动态的第二自动机的过程包括:提供代表系统动态的模型;离散化该模型以获得离散的模型;并将该离散模型转换为自动机。以下将通过不同的方案来详细说明如何完成上述的离散化过程。
进一步,还描述了应用于动态系统的控制器模块。根据一个例子,控制器模块包括,执行控制器任务以控制动态系统的控制器单元,执行通过上述总结的方法设计出的测试自动机的硬件单元,以及至少一个获取传感信息的传感器。控制器单元向硬件单元提供一个或多个设置点,该硬件单元配置为基于传感器信息来检验一个或多个设置点是否符合文本性系统描述。
上述总结的方法可以以软件产品的形式来实施,当该软件在计算机上运行时执行上述方法。
附图说明
参考以下描述和附图可以更好地理解本发明。附图中的组件不一定按比例绘制,而是将重点放在说明本发明的原理上。此外,在附图中,相同的附图标记表示相应的部件。在附图中:
图1示出了机电应用场合的V模型。
图2示出了在2015年Matlab展览会上英国航空航天系统公司的约翰·拉塞尔在他的演讲中提出的根据V模型来设计的简化工作流程。
图3示出了通过使用公司提供的工具来使V模型中较低部分的工作步骤的自动化,这里以绿色的方框表示。
图4示出了本文描述的方法所能够取得的自动化的程度。
图5形象地示出了系统规范的示例。
图6示出了由函数非可翻译文本生成的不同函数头。
图7示出了将两个公式转换为自动机的过程的结果。
图8示出了非线性系统的线性化的结果。
图9示出了环境驱动的离散化的结果。
图xx示出了多面体的不同代表形式。
图10是如维基百科所示的转换系统的例子。
图11图解说明了图10中的转换系统的示例性转换矩阵。
图12图解说明了代表基于环境的离散化的不同方法。
图13示出了应用于基于控制器的上述动态离散化的自动机。
图14示出了待测试的示例性场合。
图15示出了不同路径点WP1…WPn的验证结果。
图16示出了摄像机、OBD装置与函数的集成。
图17示出了可检测交通灯的摄像机的可能的集成测试。
图18总结了示例性的机电系统(例如自动驾驶汽车)的自动化开发过程。
具体实施方式
利用下面描述的方法和系统,可以实现已经在背景技术部分中描述的过程的(半)自动化,以进一步降低V模型开发周期的成本。图4示出了本文描述的方法所能够取得的自动化的程度。
(a)语言转换和说明给出一种文本作为定义车辆行为的说明。例如(见图5):
●车辆在(1)处起动,
●车辆总是在停留外界(environment)中
●车辆总是向右避让障碍物(3)
●车辆驶至(4)处另外,规范还可包括在适用的法律和规定的范围内提供的交通规则。
●如若有交通灯则遵守交通灯的规则,
○如果交通灯是红灯,车辆必须停下,
○如果交通灯是橙灯,车辆应当停下,
○如果交通灯是绿灯,车辆可以行使,
○如果交通灯闪橙灯,车辆可以,
文本可以段落或小段的形式给出。
下一步将针对以上的文本的每一行可能出现的系统崩溃所产生的影响进行分析。ISO61508及其他类似的标准使用所谓的失效模式和影响分析(FMEA)或类似的技术以建立文本行的临界水平。根据所使用的标准,可以使用风险优先数(RPN)来完成。获得RPN的程序依赖于所使用的标准,这可以根据相关的标准来找到,在这里不作讨论。
FMEA分析的结果是测试及测试要求和/或临界水平和/或其他在函数设计过程中必须考虑的要素。测试及测试要求定义了例如检测速度或一项待测试的函数的精确度(包括传感器),以使得该函数可视为足够安全地应用在系统上。这对于集成测试来说尤其重要(后面会进一步解释)。临界水平能够提供函数设计的建议,如该函数必须是冗余的及该设计的系统结构必须提供相应的冗余度。
应用了上述的手续后,每条语句将包括关于必要的测试和其测试要求及建议的系统结构的部分信息,其将以类似以下的形式存储起来:
红灯时车辆必须停下;冗余;le-3检测速度;…;…;
使用两种文本作为要求说明的话,其以写入方式进行使用,但应用在线性时序逻辑(LTL)及其扩展时,要逐字地进行修改。类似的词组是
●非
●或
●与
●总是
●最终
●下一步
●…
应用上例中的词组可产生如下结果
车辆总是停留在
外界当中
与
向右避让障碍物(3)
与
以不超过50公里/小时的速度行驶
与
遵守交通灯规则
当红灯的时候车辆必须停下
或
黄灯的时候车辆应该停下
或
绿灯的时候车辆必须行驶
或
交通灯不工作的时候遵守正常的交通规则
在以下的情况下,程序将使用这些信息来将这些要求添加到文本中,其中一条语句中的信息需要冗余度或在下一步骤中存在特殊的系统设计。这些附加的要求必须遵循相关标准(如IEC 61508)。作为一个简单的例子,可以参考上面的例子来说明“红灯”语句的冗余处理。处理后的结果类似为:
车辆总是
停留在外界中
与
向右避让障碍物(3)
与
以不超过50公里/小时的速度行驶
与
遵守交通灯规则
红灯时车辆必须停下
红灯时车辆必须停下_1
或
红灯时车辆必须停下_2
或
黄灯的时候车辆应该停下
或
绿灯的时候车辆必须行驶
或
交通灯不工作的时候遵守正常的交通规则
因此,需要通过应用程序以将所有的非关键词的语句行转换为函数定义(见图6)。能够通过任何的编程语言,如C/C++或高级编程语言,如Matlab/Simulink,来生成函数定义。在下一步,通过使用图形匹配将可转换的文档转换为LTL式子,并与函数项的结果合并。参照图6,子段落写为
LTL=res1∧res2∧res3∧res4
并且第二个为
res3=(res3_1∨res3_2∨res3_3∨res3_4)
若找到了关键字,将置换为对应的函数运算符(NOTOR(∨),AND(∧),ALWAYS(G),Eventuelly(F),NEXT(X),等)。所得到的LTL式子进而转换为一种Büchi自动机(例如,Büchi自动机是一种ω-自动机,其将有限的自动机扩展到有限的输入)或类似的使用所提出的方法的状态机,例如,在以下因特网中所公开的其中之一:
-https://en.wikipedia.org/wiki/Linear_temporal_logic_to_B%C3%BCchi_automaton或-http://www.lsv.ens-cachan.fr/~gastin/ltl2ba/
在图7中以图形的方式说明以更好地理解上述步骤。也存在某些关键字在一些不可转换(translatable)的语句行中出现的可能性。这也许在将来的应用场合中进行考量。
(b)数学模型
另一方面,给出了非线性动态的数学模型。
动态模型的离散化也得出了自动机(状态机)。离散化可以不同的方式完成。最常见及最流行的离散化系统的方法是使用雅可比矩阵(Jacobi Matrix)来将总体非线性的动态过程线性化。离散化的结果是时域的自动机,其中,自动机的离散状态是离散时间标记,并且跳跃函数是采样时间。图8示出了离散化的结果。
另一种方法是环境驱动的离散化,其中,工作区域划分为不同的子区域,如图9所示。可将独立的子区域标记为占用或非占用。在图9中,区域以多边形来表示,其中,一个离散状态qi表示为该多边形的中心。公开文件M.Althoff,Reachability Analysis and itsApplication to the Safety Assessment of Autonomous Cars,PHD-thesis,TUMiinchen,2010,的第11页展示了多面体的不同表示方式,基于线半空间(H-)表示或基于顶点(V-)空间表示的多面体。也有其他的方法来表示多面体(见图10)。
同一个离散的(子)区域内的各种状态相同(例如非占用,占用,等等)。离散的自动机进而可视为从一个离散点到另一个离散点的转换系统,并且可用转换矩阵来表示。图10代表了三个离散状态的转换系统q1=l,q2=2及q3=3。跳跃函数(即转换函数)为离散状态之间的距离,这个距离是事先定义的尺度标准(也可以用0来表示两个离散状态之间没有连接,用1来表示有连接,然而,在0和1之间的值来表示概率,表示可能)。图11示出了图10中的转换系统的转换矩阵。
还可能存在其他的离散化运作环境(工作区域)的方式。例如,环境驱动的非线性动态过程的离散化可通过原先定义了半径的多个圆圈来表示(其围绕着环境中的占用部分)。图12示出的离散环境是
q1\(q2∩q3∩q4)
可以应用以下的步骤来完成基于控制器或基于行为的离散化过程。这里,使用了常用的微分方程,以描述像飞机或车辆的交通工具的离散化过程。在文献中,这也被称为“杜宾汽车”。
ω=[ωmin,0,ωmax]
v=[vmin,0,vmax]
u=[v,ω]
接下来的情况,离散自动机可以定义为(见图13)
●ω=ωmin<0...q1=left
●ω=0...q2=straight
●ω=ωmax>...q’=right
可以根据度量或基于物理、图形或随机函数来定义离散转换函数。在事先定义的离散化步长ndist中使用离散化的v和ω也是可能的,这样的话
(c)自动测试的生成
将向量积应用于两个自动机(状态机)会提供一个新的状态机,它是自动生成的测试,如图4所示,也称为验证。如自动机的结果为正,那么验证的结果也为正,意味着模型的自动机满足要求。向量积的数学背景能够在以下公开文件的第11页中找到:Bruno FilipeAraujo Lacerda,“Linear-Time Temporal Logic Control of Discrete EventSystems”,Master Thesis,Universidade Technica de Lisboa,Sept.2007。
除了使用模型的所有状态机的所有离散状态,只使用一种状态完成验证也是可能的。
(d)在目标硬件上自动生成测试和部署的代码生成
进而程序使用作为结果的状态机,以自动地将其生成为C/C++或Verilog/VHDL代码或其他编程语言。Verilog/VHDL用以加快验证的过程。使用标准的FPGA开发程序,源代码应用到FPGA上。
(e)函数的执行
函数界面生成后,函数必须执行以使得函数的行为满足书面语句。通常这项工作在如Matlab的仿真环境中完成。作为例子,看看以下的语句:
向右避让障碍物(3)
这条语句意味着自动化系统必须向右避让障碍物(这也是空中的规则的一条主要的行为要求,以将UAV纳入民用空域)。如图14所示,必须解答的问题是选择WP1到WPn中的哪一条路径以满足书面语句。因此,函数必须包含测试,其中该测试产生向右以避免车辆碰撞的正向结果。为了达到该目的,该函数需要有关的信息:到障碍物的距离,速度以及车辆方向,车辆的动态行为(与速度相关的转向半径)以及路径点WPi是否可及的信息。
路径点WPi的可及性可以通过不同的方法进行计算。其中一种方法是使用杜宾(Dubins)汽车的符号可用结果,如以下公开文件的第28页所示:Matthias Althoff,Reachability Analysis and its Application to the Safety Assessment ofAutonomous Cars,PHD-thesis,TU Mtinchen,2010,and publication Marius Kloetzer,Symbolic Motion Planning and Control,PHD-thesis,Bostion University,2008。
假设现在已经执行了某种方法来解决给定的动态过程的可及性问题,程序中还需执行测试来计算该结果,如图15所示。图中的红点表示不满足车辆应该向右避让障碍物要求的可能的路径点,而绿点(以箭头标出)表示其满足上述要求。
生成的函数将使用传感器作为输入,该传感器能够检测到障碍物及车辆的速度,方向及转向角。该函数以返回数值的方式返回结果
●如果路径点不满足规范则以0(红点)表示
●如果路径点满足规范则以1(绿点)表示另外,该函数能够返回车辆的速度和转向角控制器的设定点的最小值和最大值。
(f)函数的代码生成及测试
在下一步骤中,在最后一步中开发的高级编码函数将自动生成为目标开发板能够使用的源代码。另外,将自动产生模块的测试,以针对高级函数功能测试自动生成的源代码。该测试可包括:
●函数测试,
●黑盒测试,
●概率测试,
●界面测试,
●性能测试,
●软件在环测试。
进而应用这些测试到代码生成的函数并与高级代码函数进行对照。
(g)集成测试
如上所述,每一个函数的要求要么通过客户要么通过FMEA分析定义。需要进行集成测试以证明子系统满足要求。图16示出了摄像机用作OBD设备绑定函数的集成过程(如函数,交通_灯_是_橙色(传感器,车辆_状态))。
图17示出了应检测橙色交通灯的摄像机的集成测试的潜在设置。交通灯在屏幕上以不同的大小进行显示,以模拟交通灯离摄像机不同距离的情况。使用随机模型产生添加到模拟交通灯的噪声,以模拟外界条件。摄像机安装在测试装置上并朝向屏幕。获取的多个影像转发到“交通_灯_是_橙色”函数,并且转发该函数的输出结果。测试计算机计算检测的数量。测试一直重复,直到达到必要的测试数量。所达到的检测速度与要求的检测速度进行对比。在检测速度低于要求的检测速度的情况下,子系统将安装到准备投入使用的自动系统中。在不能实现的情况下,需要调整子系统,并重复V模型。
(h)调整
在运行的过程中若出现现有的规范未涵盖的情况,将特殊情况规范添加到现有规范中。重复根据V模型设定的整个开发过程,以使得自动系统能处理特殊情况。
(i)部署到系统
将自动生成的VHDL/Verilog代码以及经测试的子系统部署到自动系统中。每个子系统均向状态机输出结果以进行验证。
(j)科学背景
Claire Tomlin等人(Tomlin,Claire,Ian Mitchell,Alexandre.M Bayeny MeekoOishi,2003,Computational Techniques for the Verification of Hybrid Systems,Proceedings of the IEEE,pp.986-1001)概述了基于状态空间探索的可达性分析,作为验证混合系统的主要工具。混合系统为将离散动态过程及连续动态过程结合到一个模型的系统。解决可达性问题的方法可分为过度逼近(approximation方法和收敛逼近)方法。
过度逼近方法试图有效地过度逼近可及的集合,而状态表示通常用连续状态空间维度n来缩放多项式,但有一些例外。由于执行时间和所需的存储数量总体与可达状态的代表的大小呈线性关系,这样的方法对比其他的方法有着明显的优势。另一方面同样存在的缺点,是该方法不够精确以满足非线性动态过程,该过程的可达点集合的形状不是多边形或椭圆。
收敛逼近方法试图尽可能接近地表示可达集合,而状态表示与n呈指数缩放。这导致这些方法对于大于5的尺寸(dimension)不实用,但具有可以覆盖非线性动态过程并且它们不对可及的集合的形状做出假设的优点。
Matthias Althoff(Matthias Althoff,Reachability Analysis and itsApplication to theSafety Assessment of Autonomous Cars,phd-thesis,TU München,2010)使用过度逼近的概念并将其应用于非线性系统,方法是将它们围绕工作点线性化并进行积分。他在每一个积分的步骤后,使用多边形来描述系统的可及集合。他将这个概念扩展到所谓的随机状态安全验证,他提出从最初的混合动态过程中抽取马尔可夫链。通过将连续的动态过程离散化来完成此项工作,使得状态空间区域定义为马尔科夫链的离散状态。此方法的优点是,使获得碰撞风险最小化的控制策略成为可能,同时,此方法也存在缺点:离散状态的数目与连续状态的数目呈指数增长关系。在过去的几年间,他将这项技术应用到不同的应用场合,比如像自动驾驶汽车或自动着陆直升机的安全验证。
至目前为止,介绍的方法均用在解决典型的机器人导航问题“从A点到B点并避免碰撞”。这样的规范可以使用不等式来表达,例如,表达为以能够达到的点周围的圆圈或应该避开的点周围的圆圈。诸如“始终避免向右碰撞”(如空中规则中所述)的更具表达性的规范可能会引起关注。
Marius Kloetzer和Calin Balta(见Marius Kloetzer,Symbolic MotionPlanning and Control,phd-thesis,Bostion University,2008,ISBN 054954729,andMarius Kloetzer,Calin Belta,A fully automated framework for control of linearsystems from temporal logic specifications,IEEE Transaction on AutomaticControl,2008)提出了两种方法,侧重于更具表达性的规范,而不是基于状态空间探索,而是基于环境驱动的离散化,也称为自上而下方法和控制器驱动的离散化,也称为自下而上方法。在这些作品中提出的方法在居于上述两种提到的方法之间。除此之外,以线性时序逻辑(LTL)的形式使用更具表达性规范的另一个好处是,减少离散状态空间的数量,这样在时间和存储器的需求方面提供了明显的优势。
Luis Reyes Castro等人(Luis L Reyes Castro,Pratik Chaudhari,JanaTumovay.Sertac Karaman,Emilio Frazzoli,Daniela Rus,Incremental Sampling-basedAlgorithm for Minimum-violation Motion Planning,Decision and Control(CDC),2013IEEE 52nd Annual Conference on,3217-3224)也许是首次展示一种验证控制算法的实施,该算法能够处理安全规定(道路的规定)同时实现将风险控制在给定的可达范围内。所提出的解决方案基于一种快速搜索随机树(RRTs)算法,这种算法逐步地为实时应用设计可行的轨迹。由于所提出的方法是迭代的,不难理解,在执行动作时仍然在运行,结果可能导致非常危险的情况。正如在他们的论文中提出的,一辆汽车实施车道变换以进行接管操作,但路径规划算法(MVRRT*)可能仍在运行并试图找出回到原来车道的可行路径。同时,一辆正在靠近接管车道的车辆并没有在路径规划算法中考虑进去。这个例子可能迅速导致危险可能致命的情形。MVRRT*以m^2*log(n)为阶,其中m为增加到样本中的新样本的数目。
大多数所提出的状态空间搜索算法均暴露了不知道解决可及性问题必要的数值n(状态数)的问题,只有Kloetzer和Calin可以部分地回答此问题。
(k)结论及总结
以上所描述的一些重要的方面将在以下进行总结。参照图18,总结了一个根据V模型的系统开发过程自动化的例子。在计算机辅助开发过程中使用的基本数据是机电系统的动态模型(见以上的(b)部分以及图18中的“动态模型”)以及文本系统描述(见以上的(a)部分以及图18中的“书面规范”),其是人类可读的文字,包括关键字及通过关键字联系的文字通道。关键字代表逻辑运算符及线性时序逻辑(LTL)的形式临时运算符。
文本系统描述自动地通过计算机和软件进行分解,该计算机和软件配置为将文本系统描述分解为关键字及通过关键字连接的文字通道。每个独立的文字通道(如“当交通灯为橙色的时候车辆必须停下”)转换为函数定义(如,交通_灯_是_橙色(传感器,车辆_状态))并且关键字转换为线性时序逻辑的运算符。该函数以布尔值的形式返回结果。用于解析和解释文本的软件是已知的,因此这里不再讨论进一步的细节。当文本系统描述分解为关键字(运算符)和函数定义后,可从其中得到LTL式子。也可以通过计算机和合适的软件来完成。如上所述,LTL式子转换为Büchi自动机。这种算法是已知的并且已经在软件上实施。
机电系统的动态模型离散化并且得到的离散化系统也转换为自动机。使用自动机进行离散系统建模是已知的,这里不再进一步讨论。因而,转换为自动机的意思是得到/生成一种表示为自动机的数学模型。
此时,已生成了两种自动机。第一自动机表示为文本系统描述,第二自动机表示机电系统的动态过程。这两种自动机可以合并,例如通过应用“向量积”(见以上(c)部分,以及图18中的“生成测试”)。该向量积的理论是已知的,并且上面提供了相应的引用。结果是产生另一种自动机(测试自动机),该自动机通过机电系统执行时可以用来执行自动测试。在机电系统运行的过程中(例如,自动驾驶汽车行驶时),测试自动机能够检测系统当前的状态,以使其符合文本系统描述中所说明的要求/规则。
所提及的测试自动机执行函数,该函数的定义已事先自动产生,如上面所提及的。剩下的工程/开发任务是,通过特别的传感器执行及验证这些函数(如,用于交通灯检测的摄像机,该传感器的输出通过函数交通_灯_是_橙色(传感器,车辆_状态)来处理)。
最后,该测试自动机可以自动转换为硬件描述语言(例如VHDL,甚高速集成电路硬件描述语言),并在可编程逻辑器件中执行,例如FPGA(现场可编程门阵列)或类似的器件。在目标系统中执行该测试自动机(例如在FPGA中,并且不断地检测控制机电系统的控制器的设定点(例如自动驾驶汽车的路径点))是否符合文本系统描述中说明的要求/规则。事实上,控制器的设定点集限于那些符合文本系统描述的设定点。
利用计算机辅助开发的概念,在系统运行的时候,可以生成在专用的硬件(如FPGA)上执行的测试自动机。当根据其中描述的概念来进行设计时,测试自动机能够排除那些不符合(人类可读的)文本系统描述的设定点,这对于系统的功能安全来说非常重要。
用来分析文本系统描述的软件,LTL式子的生成,系统动态过程的离散化,如上面所述的自动机的生成以及合并自动机以生成测试自动机,将自动机转换为VHDL,可以在包含所有涉及的软件工具的集成的开发环境中提供,这些软件工具执行其中定义的方法。所提到的函数,其定义来自于文本系统描述(例如交通_灯_是_橙色(传感器,车辆_状态))可以在一些特殊的传感器中的软件库中提供。该函数连接一个或多个传感器(例如摄像机)的性能可以单独地测试及验证。函数及特定的传感器(如特定的摄像机)的性能通过验证后,可以在机电系统中应用。通过设计概念及其中描述的方法的性质保证了整个系统的合规性。
Claims (7)
1.一种应用于计算机辅助系统设计的方法:
提供文本系统描述;
使用计算机将所述文本系统描述转换为线性时序逻辑LTL式子;
使用计算机将所述LTL式子转换为第一自动机;使用计算机提供表示系统动态过程的第二自动机;
通过合并所述第一自动机及第二自动机,使用计算机生成测试自动机。
2.根据权利要求1所述的方法,还包括:
生成所述测试自动机的硬件描述语言(HDL)模型;
使用计算机在硬件中执行所述测试自动机。
3.根据权利要求1或2所述的方法,其中,将所述文本系统描述转换为LTL式子的过程包括:
将所述文本系统描述分解为关键字,所述关键字表示线性时序逻辑(LTL)的逻辑运算符及模态时序运算符,以及由所述关键字连接的文字通道;
使用计算机生成对应通过关键字连接的文字通道的软件函数定义;
基于所述软件函数定义及由关键字定义的运算符,生成所述LTL式子。
4.根据权利要求1所述的方法,其中,提供表示所述系统动态过程的第二自动机的过程包括:
提供表示所述系统动态过程的模型;将所述模型离散化以获取离散模型;
将所述离散模型转换为自动机。
5.根据权利要求1所述的方法,其中,所述文本系统描述自动增强以包括冗余。
6.一种用于控制动态系统的控制器模块,所述模块包括:
控制器单元,用于执行控制器任务以控制所述动态系统,硬件单元,用于执行根据权利要求1至5中任一项所述的方法所设计的测试自动机;
至少一个传感器,用于获取传感信息,
其中,所述控制器单元向所述硬件单元提供一个或多个设置点,所述硬件单元配置为基于所述传感信息,检验所述一个或多个设置点是否符合所述文本系统描述。
7.一种计算机存储介质,其上存储有计算机指令,当所述计算机指令在计算机上执行时,使得所述计算机执行根据权利要求1至5中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16171185 | 2016-05-24 | ||
EP16171185.8 | 2016-05-24 | ||
PCT/EP2017/062532 WO2017202906A1 (en) | 2016-05-24 | 2017-05-24 | Computer-assisted design of mechatronic systems to comply with textual system description |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109791575A CN109791575A (zh) | 2019-05-21 |
CN109791575B true CN109791575B (zh) | 2024-05-14 |
Family
ID=56092752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780045870.2A Active CN109791575B (zh) | 2016-05-24 | 2017-05-24 | 一种应用于机电系统的自动化设计系统及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200320233A1 (zh) |
EP (1) | EP3465490A1 (zh) |
CN (1) | CN109791575B (zh) |
WO (1) | WO2017202906A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489529B2 (en) * | 2016-10-14 | 2019-11-26 | Zoox, Inc. | Scenario description language |
US10831202B1 (en) | 2017-09-01 | 2020-11-10 | Zoox, Inc. | Onboard use of scenario description language |
CN112154088B (zh) * | 2018-04-05 | 2024-05-24 | 图森有限公司 | 用于自主车辆的自动车道变更控制的系统和方法 |
US11501035B2 (en) * | 2018-09-06 | 2022-11-15 | The Boeing Company | Verification of robotic assets utilized in a production work cell |
WO2020223751A1 (en) | 2019-05-07 | 2020-11-12 | Kontrol Gmbh | Formal verification for the development and real-time application of autonomous systems |
US20210042394A1 (en) * | 2019-08-08 | 2021-02-11 | Toyota Motor Engineering & Manufacturing North America, Inc. | Extracting temporal specifications of features for functional compatibility and integration with oems |
WO2021040958A1 (en) * | 2019-08-23 | 2021-03-04 | Carrier Corporation | System and method for early event detection using generative and discriminative machine learning models |
JP6847382B1 (ja) * | 2019-09-23 | 2021-03-24 | 株式会社デンソークリエイト | 設計支援ツール |
US20230027577A1 (en) | 2019-12-16 | 2023-01-26 | Kontrol Gmbh | Safe Path Planning Method for Mechatronic Systems |
CN115410402B (zh) * | 2022-08-08 | 2024-07-02 | 上海丰蕾信息科技有限公司 | 交通信号时序逻辑验证方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404045A (zh) * | 2007-07-02 | 2009-04-08 | 韵律设计系统公司 | 为组合验证生成自动化假设的方法、系统和计算机程序产品 |
CN102231133A (zh) * | 2011-07-05 | 2011-11-02 | 上海交通大学 | 基于重写逻辑的并发实时程序验证的优化处理系统及其方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024691B2 (en) * | 2006-09-28 | 2011-09-20 | Mcgill University | Automata unit, a tool for designing checker circuitry and a method of manufacturing hardware circuitry incorporating checker circuitry |
-
2017
- 2017-05-24 CN CN201780045870.2A patent/CN109791575B/zh active Active
- 2017-05-24 WO PCT/EP2017/062532 patent/WO2017202906A1/en unknown
- 2017-05-24 EP EP17745990.6A patent/EP3465490A1/en active Pending
- 2017-05-24 US US16/303,827 patent/US20200320233A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404045A (zh) * | 2007-07-02 | 2009-04-08 | 韵律设计系统公司 | 为组合验证生成自动化假设的方法、系统和计算机程序产品 |
CN102231133A (zh) * | 2011-07-05 | 2011-11-02 | 上海交通大学 | 基于重写逻辑的并发实时程序验证的优化处理系统及其方法 |
Non-Patent Citations (1)
Title |
---|
Formal Consistency Checking over Specifications in;Rongjie Yan等;《EDA Consortium》;20151231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20200320233A1 (en) | 2020-10-08 |
WO2017202906A1 (en) | 2017-11-30 |
EP3465490A1 (en) | 2019-04-10 |
CN109791575A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109791575B (zh) | 一种应用于机电系统的自动化设计系统及方法 | |
Zhang et al. | Finding critical scenarios for automated driving systems: A systematic mapping study | |
CN104298803B (zh) | 评估失效的累积效应的系统和方法 | |
Zhang et al. | Finding critical scenarios for automated driving systems: A systematic literature review | |
De Gelder et al. | Risk quantification for automated driving systems in real-world driving scenarios | |
EP3940487A1 (en) | Estimation of probability of collision with increasing severity level for autonomous vehicles | |
CN111079800B (zh) | 一种智能驾驶虚拟测试的加速方法及加速系统 | |
Oishi et al. | Invariance-preserving abstractions of hybrid systems: Application to user interface design | |
Hekmatnejad et al. | Search-based test-case generation by monitoring responsibility safety rules | |
Păsăreanu et al. | Compositional Verification for Autonomous Systems with Deep Learning Components: White Paper | |
Harper et al. | Safety Validation of Autonomous Vehicles using Assertion Checking | |
Fremont et al. | Safety in autonomous driving: Can tools offer guarantees? | |
Zhang et al. | Dynamic driving intention recognition of vehicles with different driving styles of surrounding vehicles | |
Sun et al. | REDriver: Runtime Enforcement for Autonomous Vehicles | |
Dahmen et al. | Structured validation of AI-based systems by virtual testing in simulated test scenarios | |
Gleirscher | Run-time risk mitigation in automated vehicles: A model for studying preparatory steps | |
Souflas et al. | Virtual Verification of Decision Making and Motion Planning Functionalities for Automated Vehicles in Urban Edge Case Scenarios | |
Al-Khoury | Safety of machine learning systems in autonomous driving | |
Horel et al. | Verifying Collision Risk Estimation using Autonomous Driving Scenarios Derived from a Formal Model | |
US20220204003A1 (en) | Formal Verification for the Development and Real-Time Application of Autonomous Systems | |
US20220391563A1 (en) | Computer-Assisted Design Method for Mechatronic Systems | |
Khatun et al. | An optimization and validation method to detect the collision scenarios and identifying the safety specification of highly automated driving vehicle | |
Chakra | Exiting the simulation: The road to robust and resilient autonomous vehicles at scale | |
Arnett et al. | Formal verification of a genetic fuzzy system for unmanned aerial vehicle navigation and target capture in a safety corridor | |
DE102016109596A1 (de) | Computerunterstütztes Design von Mechatronischen Systemen zur Beschreibung von textbasierten Systemspezifikationen |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |