CN115410402A - 交通信号时序逻辑验证方法、装置及电子设备 - Google Patents

交通信号时序逻辑验证方法、装置及电子设备 Download PDF

Info

Publication number
CN115410402A
CN115410402A CN202210946016.6A CN202210946016A CN115410402A CN 115410402 A CN115410402 A CN 115410402A CN 202210946016 A CN202210946016 A CN 202210946016A CN 115410402 A CN115410402 A CN 115410402A
Authority
CN
China
Prior art keywords
automaton
target
time
rule
preset
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
CN202210946016.6A
Other languages
English (en)
Inventor
黄滟鸿
史建琦
田苗
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.)
Shanghai Formal Tech Information Technology Co ltd
Original Assignee
Shanghai Formal Tech Information Technology Co ltd
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 Shanghai Formal Tech Information Technology Co ltd filed Critical Shanghai Formal Tech Information Technology Co ltd
Priority to CN202210946016.6A priority Critical patent/CN115410402A/zh
Publication of CN115410402A publication Critical patent/CN115410402A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/097Supervising of traffic control systems, e.g. by giving an alarm if two crossing streets have green light simultaneously

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种交通信号时序逻辑验证方法、装置及电子设备。其中,上述方法包括:获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则。本发明解决了相关技术中难以有效判断通过Simulink开发的交通信号控制的嵌入式系统,是否支持处理连续时间上实值信号的变化情况的技术问题。

Description

交通信号时序逻辑验证方法、装置及电子设备
技术领域
本发明涉及位置处理技术领域,具体而言,涉及一种交通信号时序逻辑验证方法、装置及电子设备。
背景技术
嵌入式软件被广泛应用在一些安全关键领域中,嵌入式软件的需求也日益复杂,其中最为关键的就是需求中包括的实时规范。传统的时序逻辑语言如LTL、CTL等无法处理连续时间上实值信号的变化情况。因此,可以描述实值信号特性的标准模板库STL成为了必要的选择。但是由于缺乏支持STL的工具,自动验证嵌入型系统是否满足STL规则的要求十分困难。另一方面,MathWorks Simulink是一款基于模型驱动的图形化开发工具,它已经被广泛用于设计和实现多种领域内的系统模型,尤其是在一些安全关键领域内,如,交通信号控制、航空电子和自动驾驶,它支持嵌入式系统的系统级设计和仿真,还可以根据设计好的模型自动生成C、C++和HDL编程语言代码。但Simulink本身的验证能力十分有限,不支持验证STL要求。因此,相关技术中,难以有效判断通过Simulink开发的交通信号控制的嵌入式系统是否支持处理连续时间上实值信号的变化情况。
发明内容
本发明实施例提供了一种交通信号时序逻辑验证方法、装置及电子设备,以至少解决相关技术中难以有效判断通过Simulink开发的交通信号控制的嵌入式系统,是否支持处理连续时间上实值信号的变化情况的技术问题。
根据本发明实施例的一个方面,提供了一种信号时序逻辑验证方法,包括:获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则。
根据本发明实施例的另一方面,还提供了一种交通信号时序逻辑验证装置,包括:获取单元,获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;解析单元,用于将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;转换单元,用于基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;简化单元,用于根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;验证单元,用于基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的交通信号时序逻辑验证方法。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述交通信号时序逻辑验证方法。
在本发明实施例中,采用了获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则的方法,不仅能实现自动验证通过Simulink开发的交通信号控制的嵌入式系统,是否支持处理连续时间上实值信号的变化情况,而且能够提高验证效率,进而解决了相关技术中难以有效判断通过Simulink开发的交通信号控制的嵌入式系统,是否支持处理连续时间上实值信号的变化情况的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的信号时序逻辑验证方法的应用环境的示意图;
图2是根据本发明实施例的另一种可选的交通信号时序逻辑验证方法的应用环境的示意图;
图3是根据本发明实施例的一种可选的交通信号时序逻辑验证方法的流程示意图;
图4是根据相关技术中的另一种可选的交通信号时序逻辑验证方法的流程示意图;
图5是根据相关技术中的另一种可选的模拟-数字转换器ADC模型示意图;
图6是根据相关技术中的另一种可选的Simulink模型的UPPAAL时间自动机示意图;
图7是根据本发明实施例的一种可选的交通信号时序逻辑验证装置的结构示意图;
图8是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种交通信号时序逻辑验证方法,可选地,作为一种可选地实施方式,上述交通信号时序逻辑验证方法可以但不限于应用于如图1所示的应用环境中。该应用环境中包括:与用户进行人机交互的终端设备102、网络104、服务器106。用户108与终端设备102之间可以进行人机交互,终端设备102中运行有交通信号时序逻辑验证应用程序。上述终端设备102中包括人机交互屏幕1022,处理器1024及存储器1026。人机交互屏幕1022用于显示从仿真模型数据库中获取目标仿真模型对应的目标文件;处理器1024用于从仿真模型数据库中获取目标仿真模型对应的目标文件。存储器1026用于存储上述目标仿真模型对应的目标文件。
此外,服务器106位于服务器集群中,服务器106中包括数据库1062及处理引擎1064,数据库1062中用于存储目标仿真模型对应的目标文件。处理引擎1064用于获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则;在上述终端设备102的客户端显示是否满足标准模板库的规则的验证结果。
在一个或多个实施例中,本申请上述交通信号时序逻辑验证方法可以应用于图2所示的应用环境中。如图2所示,用户202与用户设备204之间可以进行人机交互。用户设备204中包含有存储器206和处理器208。本实施例中用户设备204可以但不限于参考执行上述终端设备102所执行的操作,获取是否满足标准模板库的规则的验证结果。
可选地,上述终端设备102和用户设备204包括但不限于为手机、机顶盒、电视、平板电脑、笔记本电脑、PC机,车载电子设备,可穿戴设备等终端,上述网络104可以包括但不限于无线网络或有线网络。其中,该无线网络包括:WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器106可以包括但不限于任何可以进行计算的硬件设备。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
作为一种可选地实施方式,如图3所示,本发明实施例提供了一种交通信号时序逻辑验证方法,包括如下步骤:
S302,获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件。
具体地,上述目标文件包括但不限于为MDL文件,MDL文件中使用Simulink的基于模型的设计应用而构建。MDL文件存储在纯文本格式,并且通常包括一个对象列表。每个对象包括一组值和属性,其被用换行符分隔。
S304,将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合。
S306,基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机。
具体地,这里的参考时间自动机包括但不限于UPPAAL时间自动机,
S308,根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;UPPAAL时间自动机是一个用于实时系统建模,仿真和验证的集成工具环境。它适用于为具有有限控制结构和实值时钟的非确定性过程的集合的系统去建模,这些过程通过信道或共享变量进行通信。典型的应用领域包括实时控制器和通信协议,尤其是在时序方面很关键的领域。UPPAAL包含三个主要部分:描述语言,模拟器和模型检查器。描述语言是具有简单数据类型(例如有界整数,数组等)的不确定的受保护命令语言。可以充当一种建模或设计语言,将系统行为描述为带有时钟和数据变量的自动机网络。仿真器是一种验证工具,它可以在早期设计(或建模)阶段检查系统的可能动态执行情况,从而在模型检查器进行验证之前提供有效的故障检测手段。模型检查器将通过探索系统的状态空间来检查不变性和活力属性,即根据约束表示的符号状态进行可达性分析。
S310,基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则。
在本发明实施例中,采用了获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则的方法,不仅能实现自动验证通过Simulink开发的交通信号控制的嵌入式系统,是否支持处理连续时间上实值信号的变化情况,而且能够提高验证效率,进而解决了相关技术中难以有效判断通过Simulink开发的交通信号控制的嵌入式系统,是否支持处理连续时间上实值信号的变化情况的技术问题。
在一个或多个实施例中,所述目标驱动组件包括Simulink模型组件,所述目标文件包括MDL文件,所述将所述目标文件进行解析,包括:
对Simulink模型组件对应的MDL文件进行解析,得到所述Simulink模型组件中多个子系统模块;
提取所述多个子系统模块的属性信息。
在一个或多个实施例中,根据解析结果构建预设类型的规则集合,包括:
根据所述多个子系统模块的属性信息,构建预设类型的多个规则模块的规则集合。
在一个或多个实施例中,所述构建预设类型的多个规则模块的规则集合,包括以下至少之一:
构建所述Simulink模型组件的形式化定义类型的第一规则模块;
构建基于符号表的形式化定义类型的第二规则模块。
在一个或多个实施例中,所述基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机,包括:
创建从所述Simulink模型组件的形式化定义到时间自动机形式化定义的转换规则;
使用程序正确性验证工具对所述转换规则进行验证;具体地,这里的程序正确性验证工具Dafny验证工具。
在转换后的模型的功能与所述Simulink模型组件具备一致性的情况下,确定得到所述参考时间自动机。
在一个或多个实施例中,所述创建从所述Simulink模型组件的形式化定义到时间自动机形式化定义的转换规则,包括以下至少之一:
创建时间自动机基本元素位置集合的第一转换规则;
创建时间自动机基本元素初始位置的第二转换规则;
创建时间自动机基本元素时钟集合的第三转换规则;
创建时间自动机基本元素活动集合的第四转换规则;
创建时间自动机基本元素不变量集合的第五转换规则;
创建时间自动机基本元素转移关系集合的第六转换规则。
具体地,在本发明实施例中,例如构建从Simulink模型的形式化定义到UPPAAL时间自动机形式化定义的转换规则,包括如下构建过程:
构建自动机基本元素位置集合Location L的转换规则;
构建自动机基本元素初始位置Initial Location l0的转换规则;
构建自动机基本元素时钟集合Clocks X的转换规则;
构建自动机基本元素活动集合Action A的转换规则;
构建自动机基本元素不变量集合Invariants I的转换规则;
构建自动机基本元素转移关系集合TransitionΔ的转换规则。
在一个或多个实施例中,所述根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机,还包括:
基于所述参考时间自动机的输入变量的符号值和输出变量的符号值进行位置标记;
利用预设的符号执行算法减少所述参考时间自动机中位置的数量,得到所述目标时间自动机。
在一实施例中,所述基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则,包括:
将STL性质转换为UPPAAL时间自动机;
将STL性质自动机与模型自动机相交以验证Simulink模型中的STL性质。
如图4所示,在一应用实施例中,上述交通信号时序逻辑验证方法还包括如下内容:
附图4为本申请实施例提供的一种基于UPPAAL时间自动机的Simulink模型中信号时序逻辑性质验证方法流程的示意图,如图4所示,所述方法包含以下步骤:
步骤S402:Simulink模型解析;
具体的,通过解析Simulink模型的文本表示(MDL文件),提取模型的关键信息。首先,将系统按照子系统划分为不同的部分,每个部分只提取对模型有实际影响的非虚拟块的相关信息。与模型构造相关的其他图形信息(如位置、颜色和字体)将被丢弃。
步骤S404:对Simulink模型进行形式化建模;
在本申请的一个实施例中,步骤S402包括:
步骤S4041:构建Simulink模型的形式化定义;
具体的,一个Simulink模型被形式化定义为一个元组SL=(D,B,C,TS,TC,Fun),其中,D是模型中类型变量(Typed Variables)的一个有限集合,包括输入变量(InputVariables)DI,中间变量(Intermediate Variables)DX和输出变量(Output Variables)DO,D=DI∪DX∪DO;B是Simulink块的有限集合,每个块又都包括块内部的输入,输出和局部变量,输入和输出变量分别与块的输入和输出端口对应;
Figure BDA0003787498460000101
是一个有序关系集,表示块之间的连接关系。对于C中的一个连接关系c=(b,b0),其体现模型中块之间从一个输出端口b到一个输入端口b0之间的线,表示b和b0之间的信号流;TS是Simulink模型的采样时间,表示模型更新其内部状态并生成一次输出的时间。
TC:C→TY是从一个连接关系(Connection)到一个时间的映射,表示一个块执行完产生输出并传递给另一个块所用时间,TY∈{TYct,TYcm,TYcp,TYctM,TYcmM}。根据块之间信号流的类型,我们将时间分为控制时间(b和b之间传递控制信号,如控制器向执行器传递信号),通信时间(b和b0之间传递通信信号,如控制器获取传感器传来的值)和计算时间(b和b0之间传递运算结果,如加、增益、积分等运算块之间的结果传递)。TYct和TYctM分别是控制时间的集合,TYcm和TYcm是通信时间的集合,TY*表示块完成控制或通信所需的最少时间,TY*表示最大时间,它们由系统的实际设备决定;TYc是计算时间的集合,我们认为计算时间是一个无限小的时间,意味着运算通常是在瞬时完成的;Fun是一个集合{Fun0,Fun1,…,Funn},其中Funi是Simulink块对应功能的函数实现,i标记函数执行顺序,与Simulink模型在仿真时对应块的执行顺序一致。
步骤S4042:构建符号表(Symbol Table)的形式化定义;
具体的,为了跟踪记录模型中块执行后各类变量的变化,使用符号(Symbol)标记Simulink模型中的相关信息。符号化的Simulink模型信息通过符号表(Symbol Table)记录。一个符号表被形式化定义为一个元组ST=(SI,SO,SX,SB,SFun),其中,SI是Simulink模型中输入变量对应符号的有限集合;SO是Simulink模型中输出变量对应符号的有限集合;SX是Simulink模型中中间变量对应符号的有限集合;SB是Simulink模型中每个块所涉及的变量的符号的有限集合;SFun:Funi→SI×SO表示在块Funi执行后模型中输入和输出变量的符号值。SFun记录了各个变量被更新的情况。
步骤S406:制定转换模式将Simulink模型转换为UPPAAL时间自动机;
在本申请的一个实施例中,步骤S406包括:步骤S4061:构建从Simulink模型的形式化定义到UPPAAL时间自动机形式化定义的转换规则;
具体的,将一个Simulink模型SL=(D,B,C,TS,TC,Fun)系统地转换为一个UPPAAL中的时间自动机A=(L,l0,X,A,I,Δ)。以图5所示的模拟-数字转换器ADC模型为例。图5中的模型是一个数字温度计的子系统,输入voltage是由温度转换来的电压,输出pcm为量化后的结果。
LocationL:记v1,...,vn是集合D中的输入/输出变量,并且Fun0,...,Funn是Fun中元素,表示模型中各个块功能对应的函数实现。根据SFun中的映射关系确定变量v1,...,vn的符号值,对于一个块Bi∈B,变量的符号值记为
Figure BDA0003787498460000111
位置集L就是一些
Figure BDA0003787498460000112
的集合。
Initial Location l0:基于Location的定义,将UPPAAL时间自动机中的初始位置定义为
Figure BDA0003787498460000113
其中Fun0是初始化赋值函数,
Figure BDA0003787498460000114
是变量的初始符号值。
Clocks X:从采样时间TS和连接关系上的时间约束TC中识别实值变量的集合X。采样时间确定了转换后时间自动机“一次完整运行”的时间,所以需要一个全局时钟(GlobalClock)来记录这个全局的运行时间。对于连接关系上的时间约束集TC,其中的时间信息在转换后的时间自动机上反映为局部时钟(Local Clock)。模型中控制和通信任务所花费的时间也需要通过在自动机上设置相应的时钟来记录。对于采样时间TS,定义一个全局时g。对于每一个块之间的连接关系ci∈C,每一个映射TC:C→TY给出的时间ti=TC(ci)都需要设置对应的局部时钟xi来记录。那么,自动机上的时钟集合就被定义为X={g,x1,…,xm},其中m与C中连接关系的编号对应。
Action A:对每一个Simulink块,都定义一个函数实现块的功能,实现从一个Simulink块到一个UPPAAL函数的映射。具体地讲,定义了一个例程库(Library ofRoutines)LR以生成与Simulink模型中基本块等价的函数,对于块Bi∈B,都有LR(Bi)=Funi。这些函数的集合就是Fun。块的执行会引起变量的变化,所以在转换后的时间自动机上,从一个位置到另一个位置执行的操作(action)很自然地被指定为相应块对应功能的函数实现Funi,所以有
Figure BDA0003787498460000121
除此之外,为了保持块的执行顺序与Simulink模型仿真时一致,需要在UPPAAL模型中定义了一个整数变量exeNum记录函数的执行顺序。所以在操作集合A中,添加对变量exeNum的更新操作exeNumOp,有
Figure BDA0003787498460000122
综上,A=Fun∪exeNumOp。
Invariants I:在UPPAAL时间自动机中location可以被不变量(Invariant)标记。不变量是一个关于时钟的表达式,它限制了自动机在一个location上停留的时间。比如在一个location上添加一个不变量x≤3(x是一个时钟),这表明自动机最多在这个location上停留3个时间单位。自动机上的不变量与定义的Simulink模型连接关系上时间约束TC中的TYcmM和TYctM相一致。TYcmM,TYctM是完成通信、控制任务的最大时间,所以将它们定义为不变量的上边界,在自动机上就表示如果超过这个最大时间一定要发生位置的迁移。对于一个连接关系ci∈C,从映射TC:C→TY得到的时间ti=TC(ci)转换为一个不变量xi≤ti,且ti∈TYcmM或者ti∈TYctM。如果ci是通信类型连接关系,I(l)=xi≤TYcmMi;如果ci是控制类型连接关系,I(l)=xi≤TYctMi。
TransitionΔ:转移是边(Edge)的集合。在UPPAAL时间自动机中,边被选择条件,卫条件(Guard),同步机制(Synchronizations)和更新操作(Update)标注。Selections将给定的变量不确定地绑定到一个范围内的值,边上其它3个标注上的对应变量也需要遵循这个绑定。Guards是一个布尔条件表达式,当且仅当它为真时转移才能发生。UPPAAL时间自动机中通过管道实现自动机的同步。Update是一个表达式列表,当转移发生,边上的更新表达式就被执行,表达式列表改变了系统的状态。该实施例的转换模式不对选择条件进行设置,并且不采用管道的同步机制所以边上也没有标注同步设置。
步骤S4062:使用Dafny验证转换前后模型功能一致性。
具体的,使用一组前置条件来描述块执行之前输入、输出和中间变量的状态;假设前提条件成立,在执行例程库LR之后建立后置条件集合。如果所有执行都满足指定的后置条件集,则认为例程库的转换是正确的。对于包含循环的复杂块的例程,将循环不变量和终止条件应用于验证中。将例程库LR中的每一个例程都在Dafny中设置前置后置条件进行验证,以保证从每个Simulink块生成的功能函数都是正确的,同时可以保证后续构建UPPAAL时间自动机后可以正确实现状态转移。
步骤S408:通过符号执行简化生成的UPPAAL时间自动机;
具体的,为了避免由于Simulink模型非常复杂而导致转换后UPPAAL自动机出现状态爆炸(State Explosion)的问题,用输入输出变量的符号值来标记一个位置,通过符号执行算法来尽量减少时间自动机中位置的数量,保证转换前后的一致性。同时,计算可以捕获到达一个新位置上的条件约束。需要预先对Update中的功能函数Fun进行处理,标记好函数中的变量,语句位置,语句类型及函数语句执行流。在本申请的实施例中,最终得到的Simulink模型的UPPAAL时间自动机如图6所示。
步骤S410:通过UPPAAL验证Simulink模型中的STL性质;
具体的,将STL谓词表达式映射到具有独立真值赋值的原子命题中。然后,将STL公式转换为相应的MITL公式,剩余转换为UPPAAL时间自动机的工作借助MighthL工具完成。但是由于MightyL工具本身的局限性(转UPPAAL后的自动机间不能通过管道进行同步),它转入UPPAAL的时间自动机之间只能通过已设置好的全局变量进行同步,所以在将Simulink模型转换为UPPAAL自动机时,将MighthL生成的属性自动机中的全局变量信息提取出来,根据该信息设置Simulink自动机的全局变量,以完成所有自动机间的同步。最后在UPPAAL中添加性质以保证自动机均能到达可接受的终止状态,验证该性质以得到验证结果。
由此,本申请提供了一种将Simulink模型转换为UPPAAL时间自动机的方法,包括对Simulink模型与符号表的形式化建模,构建Simulink模型到UPPAAL时间自动机的转换模式,使用Dafny验证功能函数,以及设计基于符号执行的算法计算新位置及捕获条件约束。最后将STL公式转换后的“属性自动机”与Simulink模型转换后的“模型自动机”结合在UPPAAL中完成自动验证。本申请中的方法可以实现自动验证Simulink模型是否满足STL性质,有效解决了Simulink验证能力有限无法验证模型是否满足复杂时序性质的问题,很大程度上提高了模型的安全可信,并提高了验证效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述交通信号时序逻辑验证方法的交通信号时序逻辑验证装置。如图7所示,该装置包括:
获取单元702,用于获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;
解析单元704,用于将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;
转换单元706,用于基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;
简化单元708,用于根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;
验证单元710,用于基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则;如果满足,则确定所述目标驱动组件支持处理连续时间上实值信号的变化情况,如不满足则确定所述目标驱动组件不支持处理连续时间上实值信号的变化情况。
在本发明实施例中,采用了获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则的方法,不仅能实现自动验证通过Simulink开发的交通信号控制的嵌入式系统,是否支持处理连续时间上实值信号的变化情况,而且能够提高验证效率,进而解决了相关技术中难以有效判断通过Simulink开发的交通信号控制的嵌入式系统,是否支持处理连续时间上实值信号的变化情况的技术问题。
在一个或多个实施例中,所述目标驱动组件包括Simulink模型组件,所述目标文件包括MDL文件,所述解析单元704,包括:
解析模块,用于对Simulink模型组件对应的MDL文件进行解析,得到所述Simulink模型组件中多个子系统模块;
提取模块,用于提取所述多个子系统模块的属性信息。
在一个或多个实施例中,所述解析单元704,还包括:
构建模块,用于根据所述多个子系统模块的属性信息,构建预设类型的多个规则模块的规则集合。
在一个或多个实施例中,所述构建模块,包括以下至少之一:
第一构建子单元,用于构建所述Simulink模型组件的形式化定义类型的第一规则模块;
第二构建子单元,用于构建基于符号表的形式化定义类型的第二规则模块。
在一个或多个实施例中,所述转换单元706,包括:
创建模块,用于创建从所述Simulink模型组件的形式化定义到时间自动机形式化定义的转换规则;
验证模块,用于使用程序正确性验证工具对所述转换规则进行验证;
确定模块,用于在转换后的模型的功能与所述Simulink模型组件具备一致性的情况下,确定得到所述参考时间自动机。
在一个或多个实施例中,所述创建模块,包括以下至少之一:
第一创建子单元,用于创建时间自动机基本元素位置集合的第一转换规则;
第二创建子单元,用于创建时间自动机基本元素初始位置的第二转换规则;
第三创建子单元,用于创建时间自动机基本元素时钟集合的第三转换规则;
第四创建子单元,用于创建时间自动机基本元素活动集合的第四转换规则;
第五创建子单元,用于创建时间自动机基本元素不变量集合的第五转换规则;
第六创建子单元,用于创建时间自动机基本元素转移关系集合的第六转换规则。
在一个或多个实施例中,所述简化单元708,包括:
标记模块,用于基于所述参考时间自动机的输入变量的符号值和输出变量的符号值进行位置标记;
调整模块,用于利用预设的符号执行算法减少所述参考时间自动机中位置的数量,得到所述目标时间自动机。
根据本申请实施例的又一个方面,还提供了一种用于实施上述信号时序逻辑验证方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图8所示,该电子设备包括存储器802和处理器804,该存储器802中存储有计算机程序,该处理器804被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;
S2,将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;
S3,基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;
S4,根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;
S5,基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则。
可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图8中所示更多或者更少的组件(如网络接口等),或者具有与图8所示不同的配置。
其中,存储器802可用于存储软件程序以及模块,如本申请实施例中的信号时序逻辑验证方法和装置对应的程序指令/模块,处理器804通过运行存储在存储器802内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信号时序逻辑验证方法。存储器802可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器802可进一步包括相对于处理器804远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器802具体可以但不限于用于存储目标仿真模型对应的目标文件。作为一种示例,如图8所示,上述存储器802中可以但不限于包括上述信号时序逻辑验证装置中的获取单元702、解析单元704、转换单元706、简化单元708和验证单元710。此外,还可以包括但不限于上述信号时序逻辑验证装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置806包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置806为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器808,用于显示目标仿真模型对应的目标文件;和连接总线810,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
在一个或多个实施例中,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述信号时序逻辑验证方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;
S2,将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;
S3,基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;
S4,根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;
S5,基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种交通信号时序逻辑验证方法,其特征在于,包括:
获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;
将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;
基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;
根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;
基于所述目标时间自动机验证目标驱动组件中的交通信号时序逻辑是否满足标准模板库的规则;如果满足,则确定所述目标驱动组件支持处理连续时间上实值信号的变化情况,如不满足则确定所述目标驱动组件不支持处理连续时间上实值信号的变化情况。
2.根据权利要求1所述的方法,其特征在于,所述目标驱动组件包括Simulink模型组件,所述目标文件包括MDL文件,所述将所述目标文件进行解析,包括:
对Simulink模型组件对应的MDL文件进行解析,得到所述Simulink模型组件中多个子系统模块;
提取所述多个子系统模块的属性信息。
3.根据权利要求2所述的方法,其特征在于,根据解析结果构建预设类型的规则集合,包括:
根据所述多个子系统模块的属性信息,构建预设类型的多个规则模块的规则集合。
4.根据权利要求3所述的方法,其特征在于,所述构建预设类型的多个规则模块的规则集合,包括以下至少之一:
构建所述Simulink模型组件的形式化定义类型的第一规则模块;
构建基于符号表的形式化定义类型的第二规则模块。
5.根据权利要求2所述的方法,其特征在于,所述基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机,包括:
创建从所述Simulink模型组件的形式化定义到时间自动机形式化定义的转换规则;
使用程序正确性验证工具对所述转换规则进行验证;
在转换后的模型组件的功能与所述Simulink模型组件具备一致性的情况下,确定得到所述参考时间自动机。
6.根据权利要求5所述的方法,其特征在于,所述创建从所述Simulink模型组件的形式化定义到时间自动机形式化定义的转换规则,包括以下至少之一:
创建时间自动机基本元素位置集合的第一转换规则;
创建时间自动机基本元素初始位置的第二转换规则;
创建时间自动机基本元素时钟集合的第三转换规则;
创建时间自动机基本元素活动集合的第四转换规则;
创建时间自动机基本元素不变量集合的第五转换规则;
创建时间自动机基本元素转移关系集合的第六转换规则。
7.根据权利要求1所述的方法,其特征在于,所述根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机,还包括:
基于所述参考时间自动机的输入变量的符号值和输出变量的符号值进行位置标记;
利用预设的符号执行算法减少所述参考时间自动机中标记位置的数量,得到所述目标时间自动机。
8.一种交通信号时序逻辑验证装置,其特征在于,包括:
获取单元,获取目标驱动组件对应的目标文件,所述目标驱动组件为基于可视化仿真工具构建的用于控制交通信号控制的驱动组件;
解析单元,用于将所述目标文件进行解析,并根据解析结果构建预设类型的规则集合;
转换单元,用于基于预设转换模式将所述预设类型的规则集合转换为参考时间自动机;
简化单元,用于根据预设的符号执行算法对所述参考时间自动机进行简化,得到目标时间自动机;
验证单元,用于基于所述目标时间自动机验证目标仿真模型中的交通信号时序逻辑是否满足标准模板库的规则;如果满足,则确定所述目标驱动组件支持处理连续时间上实值信号的变化情况,如不满足则确定所述目标驱动组件不支持处理连续时间上实值信号的变化情况。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
CN202210946016.6A 2022-08-08 2022-08-08 交通信号时序逻辑验证方法、装置及电子设备 Pending CN115410402A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210946016.6A CN115410402A (zh) 2022-08-08 2022-08-08 交通信号时序逻辑验证方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210946016.6A CN115410402A (zh) 2022-08-08 2022-08-08 交通信号时序逻辑验证方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN115410402A true CN115410402A (zh) 2022-11-29

Family

ID=84159343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210946016.6A Pending CN115410402A (zh) 2022-08-08 2022-08-08 交通信号时序逻辑验证方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN115410402A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015735A (ja) * 2006-07-05 2008-01-24 Cats Kk タイミングチャート処理システム、タイミングチャート処理方法及びタイミングチャート処理プログラム
WO2017202906A1 (en) * 2016-05-24 2017-11-30 Nm Robotic Gmbh Computer-assisted design of mechatronic systems to comply with textual system description
CN109117362A (zh) * 2018-06-26 2019-01-01 华东师范大学 一种基于中间语言的plc程序验证系统
CN110532167A (zh) * 2019-07-05 2019-12-03 华东师范大学 一种基于模型转换的状态机模型时序性质验证方法
CN111209203A (zh) * 2020-01-06 2020-05-29 华东师范大学 一种基于源代码的模型验证方法
US20200250260A1 (en) * 2019-02-01 2020-08-06 Sap Se Logical, recursive definition of data transformations
CN111796530A (zh) * 2020-05-26 2020-10-20 北京智行者科技有限公司 一种自动驾驶软件在环仿真方法
US20210142663A1 (en) * 2019-11-13 2021-05-13 Beijing Baidu Netcom Science And Technology Co., Ltd. Timing control method and apparatus for signal light, electronic device and storage medium
US20210209378A1 (en) * 2020-09-23 2021-07-08 Beijing Baidu Netcom Science And Technology Co., Ltd. Traffic light image processing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015735A (ja) * 2006-07-05 2008-01-24 Cats Kk タイミングチャート処理システム、タイミングチャート処理方法及びタイミングチャート処理プログラム
WO2017202906A1 (en) * 2016-05-24 2017-11-30 Nm Robotic Gmbh Computer-assisted design of mechatronic systems to comply with textual system description
CN109117362A (zh) * 2018-06-26 2019-01-01 华东师范大学 一种基于中间语言的plc程序验证系统
US20200250260A1 (en) * 2019-02-01 2020-08-06 Sap Se Logical, recursive definition of data transformations
CN110532167A (zh) * 2019-07-05 2019-12-03 华东师范大学 一种基于模型转换的状态机模型时序性质验证方法
US20210142663A1 (en) * 2019-11-13 2021-05-13 Beijing Baidu Netcom Science And Technology Co., Ltd. Timing control method and apparatus for signal light, electronic device and storage medium
CN111209203A (zh) * 2020-01-06 2020-05-29 华东师范大学 一种基于源代码的模型验证方法
CN111796530A (zh) * 2020-05-26 2020-10-20 北京智行者科技有限公司 一种自动驾驶软件在环仿真方法
US20210209378A1 (en) * 2020-09-23 2021-07-08 Beijing Baidu Netcom Science And Technology Co., Ltd. Traffic light image processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王勤思: "构建度量区时序逻辑的时间自动机", 计算机工程与设计, vol. 32, no. 2, 31 December 2011 (2011-12-31) *
王艳 等: "基于概率模型检查的树模型公平性验证方法", 软件学报, vol. 33, no. 7, 31 July 2022 (2022-07-31) *

Similar Documents

Publication Publication Date Title
Saldivar et al. Industry 4.0 with cyber-physical integration: A design and manufacture perspective
Fitzgerald et al. Collaborative design for embedded systems
CN101842789B (zh) 用于存储器抽象和使用该存储器抽象来验证的方法和装置
US8255869B2 (en) Industry template customization and transclusion for use in industrial automation and information solutions
US8677310B2 (en) Industry template abstracting and creation for use in industrial automation and information solutions
Fisher et al. Industrial cyber-physical systems–iCyPhy
JP2008084121A (ja) シミュレーションシステム及びシミュレーション方法
Bucaioni et al. Moves: A model-driven methodology for vehicular embedded systems
Bliudze et al. Rigorous design of cyber-physical systems: Linking physicality and computation
Pujol-Perich et al. Ignnition: Bridging the gap between graph neural networks and networking systems
Fitzgerald et al. From embedded to cyber-physical systems: Challenges and future directions
Šimoňák Verification of communication protocols based on formal methods integration
US10387584B1 (en) Streaming on hardware-software platforms in model based designs
Dutertre et al. Verification of fault-tolerant protocols with sally
Nice et al. Middleware for a heterogeneous cav fleet
Heinzemann et al. Simulating self-adaptive component-based systems using MATLAB/Simulink
Di Natale et al. A Model-based approach for the synthesis of software to firmware adapters for use with automatically generated components
Tang et al. Distributed simulation platform for autonomous driving
Feng et al. Designing communicating transaction processes by supervisory control theory
CN115410402A (zh) 交通信号时序逻辑验证方法、装置及电子设备
CN115758789A (zh) 一种复杂实时嵌入式系统的软件架构设计与架构传递方法
Bondé et al. Traceability and interoperability at different levels of abstraction in model-driven engineering
Li et al. Formal and virtual multi-level design space exploration
Miller et al. RTAEval: A framework for evaluating runtime assurance logic
Sokolsky et al. Architecture-centric software development for cyber-physical systems

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