买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】FBD程序的测试方法及装置_杭州电子科技大学_201910407461.3 

申请/专利权人:杭州电子科技大学

申请日:2019-05-15

公开(公告)日:2023-08-08

公开(公告)号:CN110119358B

主分类号:G06F11/36

分类号:G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2023.08.08#授权;2019.09.06#实质审查的生效;2019.08.13#公开

摘要:本发明提供一种FBD程序的测试方法及装置,该方法包括:对FBD程序进行形式化描述,生成第一执行模型,执行模型包括输入流组合、输出流组合、状态组合、初始状态、状态转换函数和输出流生成函数;对FBD程序的设计规范进行形式化描述,生成第二执行模型;根据第一执行模型和第二执行模型,确定FBD程序和设计规范的等价性验证结果;根据验证结果,确定FBD程序的可靠性通过验证。本发明提供的FBD程序的测试方法及装置,可以对复杂系统的程序进行测试。

主权项:1.一种FBD程序的测试方法,其特征在于,包括:对所述FBD程序进行形式化描述,生成第一执行模型,所述执行模型包括输入流组合、输出流组合、状态组合、初始状态、状态转换函数和输出流生成函数;对所述FBD程序的设计规范进行形式化描述,生成第二执行模型;根据所述第一执行模型和所述第二执行模型,确定所述FBD程序和所述设计规范的等价性验证结果;根据所述验证结果,确定所述FBD程序的可靠性通过验证;其中,所述生成第一执行模型,包括:根据所述FBD程序的输入变量,确定所述第一执行模型的输入流组合的类型;根据所述FBD程序的输出变量,确定所述第一执行模型的输出流组合的类型;根据所述FBD程序的中间变量和输出变量的笛卡尔积,分别确定所述第一执行模型的初始状态的类型和状态组合的类型;根据FBD程序的功能块网络结构,确定所述第一执行模型的状态转换函数;根据所述第一执行模型的状态转换函数,确定所述第一执行模型的输出流生成函数;其中,所述生成第二执行模型,包括:根据所述第一执行模型的输入流组合的类型,确定所述第二执行模型的输入流组合的类型;根据所述第一执行模型的输出流组合的类型,确定所述第二执行模型的输出流组合的类型;根据所述设计规范,分别确定所述第二执行模型的初始状态和状态组合的类型;根据所述设计规范中的状态转换规则,确定所述第二执行模型的状态转换函数;根据所述第二执行模型的状态转换函数,确定所述第二执行模型的输出流生成函数。

全文数据:FBD程序的测试方法及装置技术领域本发明涉及工业控制领域,尤其涉及一种FBD程序的测试方法及装置。背景技术可编程控制器programmablelogiccontroller,PLC作为工业自动化控制的核心,广泛应用于机器人、数控装备、交通、电力、通信等领域。随着控制系统越来越复杂,以及工业互联网的发展,越来越多的PLC在完成复杂控制逻辑量、模拟量和运动控制混合的同时还需要接入网络,使得PLC的可靠性和安全性成为了无法回避的问题。由于语言的特殊性、系统的复杂性、环境的封闭性和特殊指令的引入,对PLC混合系统的测试与验证是一个至今尚未有效解决的问题。现有技术中,形式化法是一种保证程序可靠性的手段,其常通过应用数学模型来对程序进行分析和验证的技术,典型的方法包括模型检验。具体的,由Clarke等在1983年提出的模型检测中,基本思想是使用有限状态机作为模型,在模型中验证逻辑公式所描述的性质是成立的。然而,模型检测存在无法完成对复杂的数据类型和递归结构的推理及状态爆炸问题,使得模型检测只能处理控制为主、数据简单的系统的程序,而无法对复杂系统的程序进行检测。发明内容本发明提供一种FBD程序的测试方法及装置,以解决现有技术中无法对复杂系统的程序进行检测的问题。本发明的第一个方面提供一种FBD程序的测试方法,包括:对所述FBD程序进行形式化描述,生成第一执行模型,所述执行模型包括输入流组合、输出流组合、状态组合、初始状态、状态转换函数和输出流生成函数;对所述FBD程序的设计规范进行形式化描述,生成第二执行模型;根据所述第一执行模型和所述第二执行模型,确定所述FBD程序和所述设计规范的等价性验证结果;根据所述验证结果,确定所述FBD程序的可靠性通过验证。可选的,所述生成第一执行模型,包括:根据所述FBD程序的输入变量,确定所述第一执行模型的输入流组合的类型;根据所述FBD程序的输出变量,确定所述第一执行模型的输出流组合的类型;根据所述FBD程序的中间变量和输出变量的笛卡尔积,分别确定所述第一执行模型的初始状态的类型和状态组合的类型;根据FBD程序的功能块网络结构,确定所述第一执行模型的状态转换函数;根据所述第一执行模型的状态转换函数,确定所述第一执行模型的输出流生成函数。可选的,所述生成第二执行模型,包括:根据所述第一执行模型的输入流组合的类型,确定所述第二执行模型的输入流组合的类型;根据所述第一执行模型的输出流组合的类型,确定所述第二执行模型的输出流组合的类型;根据所述设计规范,分别确定所述第二执行模型的初始状态和状态组合的类型;根据所述设计规范中的状态转换规则,确定所述第二执行模型的状态转换函数;根据所述第二执行模型的状态转换函数,确定所述第二执行模型的输出流生成函数。可选的,在所述验证所述FBD程序和所述设计规范的等价性之前,包括:利用等价谓词构建所述FBD程序的定理。可选的,所述验证所述FBD程序和所述设计准则的等价性,包括:将第一输入流和第一状态输入所述第一执行模型,并接收所述第一执行模型输出的第一输出流和第二状态;将第一输入流和第三状态输入所述第二执行模型,并接收所述第二执行模型输出的第二输出流和第四状态,所述第一状态和所述第三状态为同一状态的两种抽象方式;根据所述第一输出流、所述第二输出流、所述第二状态和所述第四状态,对所述FBD程序的定理进行证明,验证所述FBD程序和所述设计准则的等价性。本发明的第二个方面提供一种FBD程序的测试装置,包括:第一模型生成模块,用于对所述FBD程序进行形式化描述,生成第一执行模型,所述执行模型包括输入流组合、输出流组合、状态组合、初始状态、状态转换函数和输出流生成函数;第二模型生成模块,用于对所述FBD程序的设计规范进行形式化描述,生成第二执行模型;等价性确定模块,用于根据所述第一执行模型和所述第二执行模型,确定所述FBD程序和所述设计规范的等价性验证结果;结果模块,用于根据所述验证结果,确定所述FBD程序的可靠性通过验证。可选的,所述第一模型生成模块具体用于根据所述FBD程序的输入变量,确定所述第一执行模型的输入流组合的类型;根据所述FBD程序的输出变量,确定所述第一执行模型的输出流组合的类型;根据所述FBD程序的中间变量和输出变量的笛卡尔积,分别确定所述第一执行模型的初始状态的类型和状态组合的类型;根据FBD程序的功能块网络结构,确定所述第一执行模型的状态转换函数;根据所述第一执行模型的状态转换函数,确定所述第一执行模型的输出流生成函数。可选的,所述第二模型生成模块具体用于根据所述第一执行模型的输入流组合的类型,确定所述第二执行模型的输入流组合的类型;根据所述第一执行模型的输出流组合的类型,确定所述第二执行模型的输出流组合的类型;根据所述设计规范,分别确定所述第二执行模型的初始状态和状态组合的类型;根据所述设计规范中的状态转换规则,确定所述第二执行模型的状态转换函数;根据所述第二执行模型的状态转换函数,确定所述第二执行模型的输出流生成函数。可选的,还包括:定理构造模块,用于利用等价谓词构建所述FBD程序的定理。可选的,等价性确定模块具体用于将第一输入流和第一状态输入所述第一执行模型,并接收所述第一执行模型输出的第一输出流和第二状态;将第一输入流和第三状态输入所述第二执行模型,并接收所述第二执行模型输出的第二输出流和第四状态,所述第一状态和所述第三状态为同一状态的两种抽象方式;根据所述第一输出流、所述第二输出流、所述第二状态和所述第四状态,对所述FBD程序的定理进行证明,验证所述FBD程序和所述设计准则的等价性。本发明的第三个方面提供一种电子设备,包括:存储器,用于存储程序指令;处理器,用于调用并执行所述存储器中的程序指令,执行第一方面所述的方法步骤。本发明的第四个方面提供一种存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行第一方面任一项所述的方法。本发明提供的FBD程序的测试方法及装置,对FBD程序进行形式化描述,生成第一执行模型;对FBD程序的设计规范进行形式化描述,生成第二执行模型;根据第一执行模型和第二执行模型,确定FBD程序和设计规范的等价性验证结果;根据验证结果,确定FBD程序的可靠性通过验证。通过该方式,无论程序的复杂程度,都可以将FBD程序和设计规范分别转换成预设的执行模型,通过两个执行模型进而完成对FBD程序的可靠性验证,进而实现了对于复杂程序的检测。附图说明为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的一种FBD程序的测试方法的流程示意图;图2为本发明提供的另一种FBD程序的测试方法的流程示意图;图3为本发明提供的再一种FBD程序的测试方法的流程示意图;图4为本发明提供的一种fb_close_delay程序的状态转化示意图;图5为本发明提供的又一种FBD程序的测试方法的流程示意图;图6为本发明提供的一种FBD程序的测试装置的结构示意图;图7为本发明提供的另一种FBD程序的测试装置的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请中,eval函数、trans函数、build_trans函数、build_exec函数、exec函数等函数,其命名仅是为了区分各个函数或程序,并不对其构成限定。功能图块functionblockdiagram,FBD,是IEC61131-3标准中三种图形语言之一,在PLC领域有着广泛的应用。现有技术中,形式化法是一种保证程序可靠性的手段,其通常通过应用数学模型来对程序进行分析和验证的技术,典型的方法包括模型检验。具体的,由Clarke等在1983年提出的模型检测,基本思想是使用有限状态机作为模型,在模型中验证逻辑公式所描述的性质是成立的。然而,模型检测存在无法完成对复杂的数据类型和递归结构的推理及状态爆炸问题,使得模型检测只能处理控制为主、数据简单的系统的程序,而无法对复杂系统的程序进行检测。考虑到上述问题,本发明提供了一种FBD程序的确认方法及装置,通过对FBD程序进行形式化描述,生成第一执行模型;对FBD程序的设计规范进行形式化描述,生成第二执行模型;根据第一执行模型和第二执行模型,确定FBD程序和设计规范的等价性验证结果;根据验证结果,确定FBD程序的可靠性通过验证,进而实现了对复杂系统的程序的检测。本发明所提供的FBD程序的确认方法的执行主体可以为FBD程序的确认装置。该FBD程序的确认装置可以为程序、程序代码软件,也可以为存储有相关执行代码的介质,例如,U盘等。在一些实施例中,FBD程序的确认装置还可以为集成或安装有相关执行代码的实体装置,例如,处理器、芯片、微控制单元MicrocontrollerUnit,简称MCU、电脑、计算机、电子设备等。下面以集成或安装有相关执行代码的电子设备的处理器为例,以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。图1为本发明提供的一种FBD程序的测试方法的流程示意图。本实施例涉及的是处理器如何将FBD程序和设计规范进行形式化描述,进而完成等价性验证的过程。如图1所示,该方法包括:S101、对FBD程序进行形式化描述,生成第一执行模型。执行模型是一种以Mealy自动机为基础,包含有6元组的模型。该执行模型ε=I,O,S,S0,trans,exec。其中,I为有限输入组合;O为有限输出组合;S为有限状态组;S0为初始状态;trans为状态转换函数,trans接受输入I和状态S,产生输出O和新状态S′;exec为输出流生成函数,exec接受输入流与初始状态,产生输出流。可选的,执行模型中,还可以包括o_default,o_default为默认输出值。在本步骤中,对FBD程序进行形式化描述,可以通过证明辅助工具Coq来实现。任意FBD程序均包括有变量和函数两个部分,对于FBD程序进行形式化描述,即通过FBD函数的变量和函数分别确定6元组中每一项的类型,从而生成FBD程序对应的第一执行模型。S102、对FBD程序的设计规范进行形式化描述,生成第二执行模型。在本步骤中,与S101相同的,可以将FBD程序的设计规范通过证明辅助工具Coq来分别确定6元组中每一项的类型,从而生成设计规范对应的第二执行模型。S103、根据第一执行模型和第二执行模型,确定FBD程序和设计规范的等价性验证结果。在本步骤中,可以采用互模拟等价的方法对于第一执行模型和第一执行模型的等价性进行证明。具体的,首先分别证明第一执行模型和第二执行模型的输入流和状态一致。然后在第一执行模型和第二执行模型的输入流和状态均一致的前提下,可以证明FBD程序和设计规范之间的互模拟等价。S104、根据验证结果,确定FBD程序的可靠性通过验证。在本步骤中,当第一执行模型和第二执行模型的输入流和状态均一致时,可以进一步证明FBD程序和设计规范等价,进而可以确定FBD程序满足设计规范,确定FBD程序的可靠性通过验证。本实施例提供的FBD程序的测试方法及装置,对FBD程序进行形式化描述,生成第一执行模型;对FBD程序的设计规范进行形式化描述,生成第二执行模型;根据第一执行模型和第二执行模型,确定FBD程序和设计规范的等价性验证结果;根据验证结果,确定FBD程序的可靠性通过验证。通过该方式,无论程序的复杂程度,都可以将FBD程序和设计规范分别转化成预设的执行模型,通过两个执行模型进而完成对FBD程序的可靠性验证,进而实现了对于复杂程序的检测。下面以电梯门控制程序fb_close_delay为例,对生成第一执行模型的过程进行具体解释。图2为本发明提供的另一种FBD程序的测试方法的流程示意图。本实施例涉及生成第一执行模型的过程。如图2所示,在上述实施例的基础上,上述步骤S102包括:S201、根据FBD程序的输入变量,确定第一执行模型的输入流组合的类型。在本步骤中,fb_close_delay的三个输入变量Vin={opened,open_request,close_request},其中,opened为布尔类型变量,用于标记门是否为打开状态;open_request为布尔类型变量,用于提示是否接到开门请求;close_request为布尔类型变量,用于提示是否接受到关门请求。因此,可以在Coq中确定第一执行模型输入类型记为I=B×B×B。此外,由于第一执行模型和第二执行模型的输入类型相同,因此,还可以在Coq中定义I_common用于确定第二执行模型的输入类型。S202、根据FBD程序的输出变量,确定第一执行模型的输出流组合的类型。在本步骤中,fb_close_delay的输出变量为Vout={close},close为布尔类型变量,用于指示是否关闭门。因此,可以将模型输出类型记为O=B。此外,由于第一执行模型和第二执行模型的输入类型相同,因此,还可以在Coq中定义O_common用于确定第二执行模型的输出类型。S203、根据FBD程序的中间变量和输出变量的笛卡尔积,分别确定第一执行模型的初始状态的类型和状态组合的类型。在本步骤中,fb_close_delay的四个中间变量Vintl={timeout_force,timeout_keep,force,keep},其中,force和keep为时间实例变量,用于对foece_open和keep_open过程进行计数;timeout_force和timeout_keep为布尔类型变量,用于对force-open和keep-open过程是否结束进行标记。可以将状态类型S记为中间变量和输出变量的笛卡尔积,则第一模型的状态类型为S=B×B×STON×STON×B,进而可以确定S0。S204、根据FBD程序的功能块网络结构,确定第一执行模型的状态转换函数。在本步骤中,可以将FBD程序的函数体作为网络结构network的组合。在fb_close_delay中,具有两个network,分别为Ntwk1和Ntwk2。对于每个networkNtwkii=1,2,可以定义函数evali:I×O×S→O×S来对每次经过network之后的状态进行更新,函数evali用于接受输入和前一个模块的输出与状态,并产生输出和新状态。以第一个Ntwk1为例,Ntwk1具有4个功能块:NOT,AND,TON名为force,TON名为keep。在Coq中,通过eval函数,可以确定trans函数。trans函数接受输入,以对第一执行模型的状态进行更新。具体的,可以在Coq中定义build_trans函数来实现这一过程。build_trans函数用于接收I、O、S、o_default以及eval函数列表,并产生trans函数。S205、根据第一执行模型的状态转换函数,确定第一执行模型的输出流生成函数。在本步骤中,可以通过Coq中的build_exec函数生成与trans函数对应的exec函数。本实施例提供的FBD程序的测试方法及装置,分别确定第一执行模型中函数以及变量类型,进而将对FBD程序进行形式化描述,生成第一执行模型。通过该方式,通过第一执行模型和FBD程序的设计规范对应的第二执行模型,可以完成对FBD程序的可靠性验证,进而实现了对于复杂程序的检测。下面以电梯门控制程序fb_close_delay为例,对生成第二执行模型的过程进行具体解释。图3为本发明提供的再一种FBD程序的测试方法的流程示意图。本实施例涉及生成第二执行模型的过程。如图3所示,在上述实施例的基础上,上述步骤S103包括:S301、根据第一执行模型的输入流组合的类型,确定第二执行模型的输入流组合的类型。在本步骤中,FBD程序的设计规范的输入与FBD程序的输入相同,因此,可以用上述的I_common直接对规范的输入进行形式化,使第二执行模型的输入流组合的类型与第一执行模型的输入流组合的类型相同。S302、根据第一执行模型的输出流组合的类型,确定第二执行模型的输出流组合的类型。在本步骤中,FBD程序的设计规范的输出与FBD程序的输出相同,因此,可以用上述的O_common直接对规范的输出进行形式化,使第二执行模型的输出流组合的类型与第一执行模型的输出流组合的类型相同。S303、根据设计规范,分别确定第二执行模型的初始状态和状态组合的类型。在本步骤中,对于规范的状态S,可以根据FBD程序对应的设计规范具体确定。例如,在fb_close_delay中,通过分析可以得到规范的状态为Sspec=unopened,force_openet,keep_openet,其中,et为一个自然数;unopened为电梯门未完全打开状态;force_openet为电梯正处在force-open过程,且已经经历et个时间,force_open的状态类型为N-Sspec;keep_openet为电梯正处在keep-open过程,且已经经历et个时间,keep_open的类型为N-Sspec。根据规范的状态,可以在Coq中以Inductive定义Sspec类型。S304、根据设计规范中的状态转换规则,确定第二执行模型的状态转换函数。图4为本发明提供的一种fb_close_delay程序的状态转化示意图。图1为fb_close_delay程序的状态转化表。如图4,图4中各个转化过程相应的转化条件根据编号在表1中列出。其中,状态1为unopened,状态2为force_openet,状态3为keep_openet,“_”表示在该转化规则中该输入变量可以忽略,ptforce和ptkeep分别为force-open和keep-open过程的预设时间。表1根据图4和表1所示的转化规则,在在Coq中可以通过build_exec函数来确定相应的trans函数。S305、根据第二执行模型的状态转换函数,确定第二执行模型的输出流生成函数。在本步骤中,可以通过Coq中的build_exec函数生成与trans函数对应的exec函数。本实施例提供的FBD程序的测试方法及装置,分别确定第二执行模型中函数以及变量类型,进而将对FBD程序进行形式化描述,生成第二执行模型。通过该方式,通过第二执行模型和FBD程序的第一执行模型,可以完成对FBD程序的可靠性验证,进而实现了对于复杂程序的检测。下面对确定FBD程序和设计规范的等价性验证结果的过程进行说明。图5为本发明提供的又一种FBD程序的测试方法的流程示意图。本实施例涉及的是处理器如何确定FBD程序和设计规范的等价性验证结果的具体过程。如图5所示,在上述实施例的基础上,该方法包括:S401、对FBD程序进行形式化描述,生成第一执行模型,执行模型包括输入流组合、输出流组合、状态组合、初始状态、状态转换函数和输出流生成函数。S402、对FBD程序的设计规范进行形式化描述,生成第二执行模型。步骤S401-S402的技术名词、技术效果、技术特征,以及可选实施方式,可参照图1所示的步骤S101-S102理解,对于重复的内容,在此不再累述。S403、利用等价谓词构建FBD程序的定理。在本步骤中,根据互模拟等价的定义,可以定义第一引理head_equivalent。具体的,在任意给定的输入流和两个执行模型对应的状态组下,第一引理为第一执行模型和第二执行模型分别产生的输出流的首元素等价,即两个执行模型互模拟的第一步等价。根据互模拟等价的定义,还可以定义第二引理state_invariant。具体的,第二引理为对于任意给定的输入流和两个执行模型对应的状态组,生成的下一个状态组等价。在第一引理和第二引理的基础上,可以构建互摸拟等价谓词Bisimilar定义的FBD程序的等价性定理CLOSE_DELAY_eq的证明。S404、将第一输入流和第一状态输入第一执行模型,并接收第一执行模型输出的第一输出流和第二状态。S405、将第一输入流和第三状态输入第二执行模型,并接收第二执行模型输出的第二输出流和第四状态。在本步骤中,第一执行模型的输入流组合和第二执行模型的输入流组合是相同的,从输入流组合中可以选取任一输入流作为第一输入流。第一执行模型和第二执行模型的状态的定义是不同的。因此,可以在第一执行模型的状态组合中选取任一状态作为第一状态Simpl,同时,确定出第二执行模型的状态组合中与第一状态Simpl一致的状态作为第二状态Sspec。第一状态和第三状态为同一状态的两种抽象方式。具体的,可以在Coq中定义isCorr类型Simpl×Sspec,表示Simpl和Sspec两者一致。对于任意第一输入流和给定状态组,可以由第一执行模型生成对应的第一输出流和第二状态,同时,由第二执行模型生成对应的第二输出流和第四状态。S406、根据第一输出流、第二输出流、第二状态和第四状态,对FBD程序的定理进行证明,验证FBD程序和设计准则的等价性。在本步骤中,根据FBD程序的定理,确定第一输出流和第二输出流是否等价,以及第二状态和第四状态是否等价。若第一输出流和第二输出流,以及第二状态和第四状态均等价,则FBD程序和设计准则等价。若第一输出流和第二输出流,以及第二状态和第四状态,有任一不等价的情况,则FBD程序和设计准则不等价。本实施例提供的FBD程序的测试方法及装置,对FBD程序进行形式化描述,生成第一执行模型;对FBD程序的设计规范进行形式化描述,生成第二执行模型;根据第一执行模型和第二执行模型,确定FBD程序和设计规范的等价性验证结果;根据验证结果,确定FBD程序的可靠性通过验证。通过该方式,无论程序的复杂程度,都可以将FBD程序和设计规范分别装换成预设的执行模型,通过两个执行模型进而完成对FBD程序的可靠性验证,进而实现了对于复杂程序的检测。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图6为本发明提供的一种FBD程序的测试装置的结构示意图。该FBD程序的测试装置可以通过软件、硬件或者两者的结合实现,可以为前述所说的处理器。如图6所示,该FBD程序的测试装置50包括:第一模型生成模块51、第二模型生成模块52、定理构造模块53、等价性确定模块54和结果模块55。第一模型生成模块51,用于对FBD程序进行形式化描述,生成第一执行模型,执行模型包括输入流组合、输出流组合、状态组合、初始状态、状态转换函数和输出流生成函数。第一模型生成模块51具体用于根据FBD程序的输入变量,确定第一执行模型的输入流组合的类型;根据FBD程序的输出变量,确定第一执行模型的输出流组合的类型;根据FBD程序的中间变量和输出变量的笛卡尔积,分别确定第一执行模型的初始状态的类型和状态组合的类型;根据FBD程序的功能块网络结构,确定第一执行模型的状态转换函数;根据第一执行模型的状态转换函数,确定第一执行模型的输出流生成函数。第二模型生成模块52,用于对FBD程序的设计规范进行形式化描述,生成第二执行模型。第二模型生成模块52具体用于根据第一执行模型的输入流组合的类型,确定第二执行模型的输入流组合的类型;根据第一执行模型的输出流组合的类型,确定第二执行模型的输出流组合的类型;根据设计规范,分别确定第二执行模型的初始状态和状态组合的类型;根据设计规范中的状态转换规则,确定第二执行模型的状态转换函数;根据第二执行模型的状态转换函数,确定第二执行模型的输出流生成函数。定理构造模块53,用于利用等价谓词构建FBD程序的定理。等价性确定模块54,用于根据第一执行模型和第二执行模型,确定FBD程序和设计规范的等价性验证结果;等价性确定模块54具体用于将第一输入流和第一状态输入第一执行模型,并接收第一执行模型输出的第一输出流和第二状态;将第一输入流和第三状态输入第二执行模型,并接收第二执行模型输出的第二输出流和第四状态,第一状态和第三状态为同一状态的两种抽象方式;根据第一输出流、第二输出流、第二状态和第四状态,对FBD程序的定理进行证明,验证FBD程序和设计准则的等价性。结果模块55,用于根据验证结果,确定FBD程序的可靠性通过验证。本发明提供的FBD程序的测试装置,可以执行上述方法实施例中处理器的动作,其实现原理和技术效果类似,在此不再赘述。图7为本发明提供的另一种FBD程序的测试装置的结构示意图。如图7所示,该FBD程序的测试装置可以包括:至少一个处理器61和存储器62。图7示出的是以一个处理器为例的电子设备。存储器62,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器62可能包含高速RAM存储器,也可能还包括非易失性存储器non-volatilememory,例如至少一个磁盘存储器。处理器61用于执行存储器62存储的计算机执行指令,以实现显卡驱动方法。其中,处理器61可能是一个中央处理器CentralProcessingUnit,简称为CPU,或者是特定集成电路ApplicationSpecificIntegratedCircuit,简称为ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路。可选的,在具体实现上,如果通信接口、存储器62和处理器61独立实现,则通信接口、存储器62和处理器61可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构IndustryStandardArchitecture,简称为ISA总线、外部设备互连PeripheralComponent,简称为PCI总线或扩展工业标准体系结构ExtendedIndustryStandardArchitecture,简称为EISA总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。可选的,在具体实现上,如果通信接口、存储器62和处理器61集成在一块芯片上实现,则通信接口、存储器62和处理器61可以通过内部接口完成通信。本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM,Read-OnlyMemory、随机存取存储器RAM,RandomAccessMemory、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

权利要求:1.一种FBD程序的测试方法,其特征在于,包括:对所述FBD程序进行形式化描述,生成第一执行模型,所述执行模型包括输入流组合、输出流组合、状态组合、初始状态、状态转换函数和输出流生成函数;对所述FBD程序的设计规范进行形式化描述,生成第二执行模型;根据所述第一执行模型和所述第二执行模型,确定所述FBD程序和所述设计规范的等价性验证结果;根据所述验证结果,确定所述FBD程序的可靠性通过验证。2.根据权利要求1所述的方法,其特征在于,所述生成第一执行模型,包括:根据所述FBD程序的输入变量,确定所述第一执行模型的输入流组合的类型;根据所述FBD程序的输出变量,确定所述第一执行模型的输出流组合的类型;根据所述FBD程序的中间变量和输出变量的笛卡尔积,分别确定所述第一执行模型的初始状态的类型和状态组合的类型;根据FBD程序的功能块网络结构,确定所述第一执行模型的状态转换函数;根据所述第一执行模型的状态转换函数,确定所述第一执行模型的输出流生成函数。3.根据权利要求1所述的方法,其特征在于,所述生成第二执行模型,包括:根据所述第一执行模型的输入流组合的类型,确定所述第二执行模型的输入流组合的类型;根据所述第一执行模型的输出流组合的类型,确定所述第二执行模型的输出流组合的类型;根据所述设计规范,分别确定所述第二执行模型的初始状态和状态组合的类型;根据所述设计规范中的状态转换规则,确定所述第二执行模型的状态转换函数;根据所述第二执行模型的状态转换函数,确定所述第二执行模型的输出流生成函数。4.根据权利要求1-3任一所述的方法,其特征在于,在所述验证所述FBD程序和所述设计规范的等价性之前,包括:利用等价谓词构建所述FBD程序的定理。5.根据权利要求4所述的方法,其特征在于,所述验证所述FBD程序和所述设计准则的等价性,包括:将第一输入流和第一状态输入所述第一执行模型,并接收所述第一执行模型输出的第一输出流和第二状态;将第一输入流和第三状态输入所述第二执行模型,并接收所述第二执行模型输出的第二输出流和第四状态,所述第一状态和所述第三状态为同一状态的两种抽象方式;根据所述第一输出流、所述第二输出流、所述第二状态和所述第四状态,对所述FBD程序的定理进行证明,验证所述FBD程序和所述设计准则的等价性。6.一种FBD程序的测试装置,其特征在于,包括:第一模型生成模块,用于对所述FBD程序进行形式化描述,生成第一执行模型,所述执行模型包括输入流组合、输出流组合、状态组合、初始状态、状态转换函数和输出流生成函数;第二模型生成模块,用于对所述FBD程序的设计规范进行形式化描述,生成第二执行模型;等价性确定模块,用于根据所述第一执行模型和所述第二执行模型,确定所述FBD程序和所述设计规范的等价性验证结果;结果模块,用于根据所述验证结果,确定所述FBD程序的可靠性通过验证。7.根据权利要求6所述的装置,其特征在于,所述第一模型生成模块具体用于根据所述FBD程序的输入变量,确定所述第一执行模型的输入流组合的类型;根据所述FBD程序的输出变量,确定所述第一执行模型的输出流组合的类型;根据所述FBD程序的中间变量和输出变量的笛卡尔积,分别确定所述第一执行模型的初始状态的类型和状态组合的类型;根据FBD程序的功能块网络结构,确定所述第一执行模型的状态转换函数;根据所述第一执行模型的状态转换函数,确定所述第一执行模型的输出流生成函数。8.根据权利要求6所述的装置,其特征在于,所述第二模型生成模块具体用于根据所述第一执行模型的输入流组合的类型,确定所述第二执行模型的输入流组合的类型;根据所述第一执行模型的输出流组合的类型,确定所述第二执行模型的输出流组合的类型;根据所述设计规范,分别确定所述第二执行模型的初始状态和状态组合的类型;根据所述设计规范中的状态转换规则,确定所述第二执行模型的状态转换函数;根据所述第二执行模型的状态转换函数,确定所述第二执行模型的输出流生成函数。9.根据权利要求6-8任一所述的装置,其特征在于,还包括:定理构造模块,用于利用等价谓词构建所述FBD程序的定理。10.根据权利要求9所述的装置,其特征在于,等价性确定模块具体用于将第一输入流和第一状态输入所述第一执行模型,并接收所述第一执行模型输出的第一输出流和第二状态;将第一输入流和第三状态输入所述第二执行模型,并接收所述第二执行模型输出的第二输出流和第四状态,所述第一状态和所述第三状态为同一状态的两种抽象方式;根据所述第一输出流、所述第二输出流、所述第二状态和所述第四状态,对所述FBD程序的定理进行证明,验证所述FBD程序和所述设计准则的等价性。

百度查询: 杭州电子科技大学 FBD程序的测试方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。