CN111427785B - 形式化任务验证方法、装置、电子设备和计算机可读介质 - Google Patents
形式化任务验证方法、装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN111427785B CN111427785B CN202010215783.0A CN202010215783A CN111427785B CN 111427785 B CN111427785 B CN 111427785B CN 202010215783 A CN202010215783 A CN 202010215783A CN 111427785 B CN111427785 B CN 111427785B
- Authority
- CN
- China
- Prior art keywords
- file
- verification
- task
- task flow
- information
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种形式化任务验证方法、装置、电子设备和计算机可读介质,涉及计算机的技术领域,包括:获取待验证任务的任务流的配置文件,其中,所述任务流的配置文件中包含以下至少一种配置信息:任务流的变量信息,所述变量信息的初始参数,所述变量信息的状态变更信息,所述任务流的验证条件;基于所述任务流的配置文件中所包含的配置信息构建目标验证文件,其中,所述目标验证文件为基于形式化验证语言构建的文件;基于所述目标验证文件对所述任务流的时序状态进行形式化验证,本申请缓解了现有的任务验证方案正确性较低的技术问题。
Description
技术领域
本发明涉及计算机的技术领域,尤其是涉及一种形式化任务验证方法、装置、电子设备和计算机可读介质。
背景技术
形式化验证是当下保证软件程序正确性的技术,但由于其需要对数学和逻辑有一定要求,所以导致对软件进行形式化验证成本非常高。
任务引擎指的是在云计算常见的一个操作流程中(例如,创建一个高可用数据库实例)包含了需要许多子流程,这些流程往往表达为一个任务,任务引擎就是将这样的任务通过一些配置串起来,形成一个完成的任务流,来管理所有任务。
当需要保证程序符合某个性质(例如,无论执行哪个任务流,instances表中区域号area_id最终都和订单products表中的可用区multi_az保持一致,再例如,多个任务流并发执行时,不会因为资源冲突导致任务失败),现有任务引擎本身没有手段来保证这些性质Spec的正确性,只能通过测试来规避任务流执行过程中所出现的问题。
发明内容
有鉴于此,本发明的目的在于提供一种形式化任务验证方法、装置、电子设备和计算机可读介质,以缓解了现有的任务验证方案正确性较低的技术问题。
第一方面,本发明实施例提供了一种形式化任务验证方法,包括:获取待验证任务的任务流的配置文件,其中,所述任务流的配置文件中包含以下至少一种配置信息:任务流的变量信息,所述变量信息的初始参数,所述变量信息的状态变更信息,所述任务流的验证条件;基于所述任务流的配置文件中所包含的配置信息构建目标验证文件,其中,所述目标验证文件为基于形式化验证语言构建的文件;基于所述目标验证文件对所述任务流的时序状态进行形式化验证。
进一步地,基于所述任务流的配置文件中所包含的配置信息构建目标验证文件包括:对所述任务流的配置文件进行解析,得到所述至少一种配置信息;利用所述形式化验证语言对所述至少一种配置信息进行编译,得到所述目标验证文件。
进一步地,基于所述任务流的配置文件中所包含的配置信息构建目标验证文件包括:获取预设映射关系,其中,所述预设映射关系为所述任务流的配置文件中的配置参数和所述目标验证文件中参数之间的对应关系;按照所述预设映射关系将所述任务流的配置文件中的配置信息映射为初始验证文件中的参数,得到所述目标验证文件。
进一步地,按照所述预设映射关系将所述任务流的配置文件中的配置信息映射为初始验证文件中的参数包括:将所述任务流的变量信息映射为初始验证文件中的变量信息;将所述变量信息的初始参数映射为初始验证文件中的初始状态信息;将所述变量信息的状态变更信息映射为初始验证文件中的操作信息;将所述任务流的验证要求映射为初始验证文件中的验证条件信息。
进一步地,基于所述目标验证文件对所述任务流的时序状态进行形式化验证包括:调用所述目标验证文件的模型检测程序;通过所述模型检测程序运行所述目标验证文件,以利用运行之后的所述目标验证文件对所述任务流的时序状态进行形式化验证。
进一步地,所述方法还包括:获取所述任务流的初始配置文件;在所述初始配置文件中添加所述至少一种配置信息,得到所述任务流的配置文件。
进一步地,基于所述目标验证文件对所述任务流的时序状态进行形式化验证包括:利用所述任务流的变量信息、所述变量信息的初始参数和所述变量信息的状态变更信息,验证所述任务流的时序状态是否满足所述验证条件。
第二方面,本发明实施例提供了一种形式化任务验证装置,包括:获取单元,用于获取待验证任务的任务流的配置文件,其中,所述任务流的配置文件中包含以下至少一种配置信息:任务流的变量信息,所述变量信息的初始参数,所述变量信息的状态变更信息,所述任务流的验证条件;构建单元,用于基于所述任务流的配置文件中所包含的配置信息构建目标验证文件,其中,所述目标验证文件为基于形式化验证语言构建的文件;验证单元,用于基于所述目标验证文件对所述任务流的时序状态进行形式化验证。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的方法的步骤。
第四方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中任一项所述的方法的步骤。
在本发明实施例中,首先,获取待验证任务的任务流的配置文件;然后,基于任务流的配置文件中所包含的配置信息构建目标验证文件,其中,该验证文件为基于形式化验证语言构建的文件;最后,基于该目标验证文件对任务流的时序状态进行形式化验证。通过上述描述可知,在本实施例中,将形式化验证应用在任务引擎中,既能降低工程师使用形式化验证的成本,又能为任务引擎提供保证程序正确性的有效手段,提高整个程序的正确性,进而缓解了现有的任务验证方案正确性较低的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种形式化任务验证方法的流程图;
图2是根据本发明实施例的第二种形式化任务验证方法的流程图;
图3是根据本发明实施例的第三种形式化任务验证方法的流程图;
图4是根据本发明实施例的第四种形式化任务验证方法的流程图;
图5是根据本发明实施例的第五种形式化任务验证方法的流程图;
图6是根据本发明实施例的一种形式化任务验证装置的示意图;
图7是根据本发明实施例的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
根据本发明实施例,提供了一种形式化任务验证方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种形式化任务验证方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取待验证任务的任务流的配置文件,其中,所述任务流的配置文件中包含以下至少一种配置信息:任务流的变量信息,所述变量信息的初始参数,所述变量信息的状态变更信息,所述任务流的验证条件。
在本实施例中,任务流的变量信息为任务流中的各个任务在执行过程中发生变化的参量。例如,变量信息可以为instances表中的区域号area_id。初始参数为上述变量信息的在初始状态下的参数。变量信息的状态变更信息为任务流中的任务在执行过程中变量信息的变化信息。任务流的验证条件是指在对任务流的时序进行验证的过程中,要求任务流所满足的条件。例如,要求执行任务流的过程中,instances表中area_id(区域号)最终都和products表(订单表)中的multi_az(可用区)保持一致。
需要说明的是,在本实施例中,任务流的验证条件可以根据实际情况来进行设定,本实施例对此不作具体限定。
需要说明的是,在本实施例中,任务流的配置文件可以为预先已经构建好的,在执行形式化任务验证方法时,可以直接调用该配置文件。除此之外,该配置文件还可以为在获取到执行形式化任务验证方法的指令之后,基于至少一种配置信息构建的配置文件,本实施例对此不作具体限定。
步骤S104,基于所述任务流的配置文件中所包含的配置信息构建目标验证文件,其中,所述目标验证文件为基于形式化验证语言构建的文件。
在本实施例中,形式化验证语言可以选择为TLA+(formal specificationlanguage,形式规格说明语言)语言,TLA+语言主要用来验证系统的设计和算法的正确性。基于此,目标验证文件可以是TLA+文件。
需要说明的是,在本实施例中,形式化验证语言还可以选取为除TLA+语言之外的其他语言,本实施例对此不作具体限定。
步骤S106,基于所述目标验证文件对所述任务流的时序状态进行形式化验证。
在本实施例中,基于目标验证文件对任务流的时序状态进行形式化验证可以理解为利用所述任务流的变量信息、所述变量信息的初始参数和所述变量信息的状态变更信息,验证所述任务流的时序状态是否满足所述验证条件。
在本发明实施例中,首先,获取待验证任务的任务流的配置文件;然后,基于任务流的配置文件中所包含的配置信息构建目标验证文件,其中,该验证文件为基于形式化验证语言构建的文件;最后,基于该目标验证文件对任务流的时序状态进行形式化验证。通过上述描述可知,在本实施例中,将形式化验证应用在任务引擎中,既能降低工程师使用形式化验证的成本,又能为任务引擎提供保证程序正确性的有效手段,提高整个程序的正确性,进而缓解了现有的任务验证方案正确性较低的技术问题。
通过上述描述可知,任务流的配置文件为预先构建,或者在获取到执行形式化验证方法的指令之后构建,在本实施例中,可以通过下述图2所描述的方式构建任务流的配置文件。
图2是根据本发明实施例的另一种形式化任务验证方法的流程图,在图1的基础上,如图2所示,该方法包括如下步骤:
步骤S201,获取所述任务流的初始配置文件;
步骤S202,在所述初始配置文件中添加所述至少一种配置信息,得到所述任务流的配置文件。
在本实施例中,可以在任务流定义中添加变量列表及初始参数,并在每一个任务流的每个任务中设定状态的变更(即,设定变量信息的状态变更信息),最后再描述任务流需要满足的验证条件。可选地,该任务流定义可以在一个配置文件(即,上述步骤S201中的初始配置文件)中体现,例如,可以以json、yaml或任意DSL格式存储,对此,本申请不作具体限定。
也就是说,在本实施例中,首先获取任务流的初始配置文件,然后,在该初始配置文件中添加至少一种配置信息,从而得到任务流的配置文件。
在本实施例中,在采用如图2所示的方式构建得到目标验证文件之后,就可以基于任务流的配置文件中所包含的配置信息构建目标验证文件(例如,TLA+文件),其中,该目标验证文件可以为基于TLA+语言构建的文件。在构建得到该目标验证文件之后,就可以基于该目标验证文件对任务流的时序状态进行形式化验证。
图3是根据本发明实施例的另一种形式化任务验证方法的流程图,在图1的基础上,如图3所示,该方法包括如下步骤:
步骤S301,对所述任务流的配置文件进行解析,得到所述至少一种配置信息。
步骤S302,利用所述形式化验证语言对所述至少一种配置信息进行编译,得到所述目标验证文件。
在本实施例中,在获取到任务流的配置文件之后,对任务流的配置文件进行解析,从而解析得到至少一种配置信息。
由于任务流的配置文件中包含大量的信息,因此,在对任务流的配置文件进行解析时,可以利用解析关键字对任务流的配置文件进行解析。其中,该解析关键字可以为:变量、初始参数、任务、状态变更和验证条件等等。通过解析关键字对配置文件进行解析的方式,能够快速准确的从配置文件中解析得到至少一种配置信息。
在解析得到至少一种配置信息之后,就可以利用形式化验证语言对至少一种配置信息进行编译,得到目标验证文件。在本实施例中,可以选择形式化验证语言为TLA+语言。也就是说,在解析得到至少一种配置信息之后,可以利用TLA+语言对至少一种配置信息进行编译,得到TLA+文件。
通过上述描述可知,在本实施例中,将形式化验证应用在任务引擎中,既能降低技术人员使用形式化验证的成本,又能为任务引擎提供保证程序正确性的有效手段,提高整个程序的正确性,进而缓解了现有的任务验证方案正确性较低的技术问题。
图4是根据本发明实施例的另一种形式化任务验证方法的流程图,在图1和图3的基础上,如图4所示,基于所述任务流的配置文件中所包含的配置信息构建目标验证文件还包括如下步骤:
步骤S401,获取预设映射关系,其中,所述预设映射关系为所述任务流的配置文件中的配置参数和初始验证文件中参数之间的对应关系。
步骤S402,按照所述预设映射关系将所述任务流的配置文件中的配置信息映射为初始验证文件中的参数,得到所述目标验证文件。
在本实施例中,首先,按照图2所示的方式构建任务流的配置文件,之后,获取待验证任务的任务流的配置文件,接下来,获取预设映射关系,然后,按照预设映射关系将任务流的配置文件中的至少一个配置信息映射为初始验证文件中的参数,从而得到目标验证文件。
需要说明的是,在本实施例中,预设映射关系为至少一种配置信息和初始验证文件中参数之间的对应关系。
假设,至少一个配置信息包括:任务流的变量信息,所述变量信息的初始参数,所述变量信息的状态变更信息,所述任务流的验证条件。初始验证文件中的参数包括:变量信息、初始状态信息、操作信息和验证条件信息,那么该预设映射关系可以表示为:
(1)任务流的变量信息=》初始验证文件中的变量信息
(2)变量信息的初始参数=》初始状态信息
(3)变量信息的状态变更信息=》操作信息Action
(4)任务流的验证条件=》验证条件信息Spec
基于此,按照所述预设映射关系将所述任务流的配置文件中的配置信息映射为初始验证文件中的参数包括:
(1)、将所述任务流的变量信息映射为初始验证文件中的变量信息;
(2)、将所述变量信息的初始参数映射为初始验证文件中的初始状态信息;
(3)、将所述变量信息的状态变更信息映射为初始验证文件中的操作信息Action;
(4)、将所述任务流的验证要求映射为初始验证文件中的验证条件信息Spec。
具体地,在本申请中,可以利用基于时序逻辑(temporal logic)的形式化语言TLA+来编译至少一个配置信息,其中,任务流中的一个任务的执行流程就对应TLA+里的操作信息Action,任务流的初始参数可以代表TLA+里初始状态信息,任务流的整个任务图中包含全部任务的执行流程,以及每个任务的验证条件Spec。基于此,在本申请中,采用上述方式,将任务流的配置信息映射为初始验证文件中的参数,从而得到目标验证文件。
通过上述描述可知,在本实施例中,将形式化验证应用在任务引擎中,既能降低工程师使用形式化验证的成本,又能为任务引擎提供保证程序正确性的有效手段,提高整个程序的正确性,进而缓解了现有的任务验证方案正确性较低的技术问题。
在本实施例中,在按照上述所描述的方式构建得到目标验证文件之后,就可以基于目标验证文件对任务流的时序状态进行形式化验证。
图5是根据本发明实施例的另一种形式化任务验证方法的流程图,在图1的基础上,如图5所示,基于所述目标验证文件对所述任务流的时序状态进行形式化验证包括如下步骤:
步骤S501,调用所述目标验证文件的模型检测程序;
步骤S502,通过所述模型检测程序运行所述目标验证文件,以利用运行之后的所述目标验证文件对所述任务流的时序状态进行形式化验证。
具体地,在本实施例中,可以然后利用TLA+的Model Checker(模型检测程序)来做模型检测,以通过该模型检测程序运行该目标验证程序,以利用运行之后的目标验证文件验证任务流是否满足验证条件Spec。
通过上述描述可知,在本实施例中,将形式化验证应用在任务引擎中,既能降低工程师使用形式化验证的成本,又能为任务引擎提供保证程序正确性的有效手段,提高整个程序的正确性,进而缓解了现有的任务验证方案正确性较低的技术问题。
实施例二:
本发明实施例还提供了一种形式化任务验证装置,该形式化任务验证装置主要用于执行本发明实施例上述内容所提供的形式化任务验证方法,以下对本发明实施例提供的形式化任务验证装置做具体介绍。
图6是根据本发明实施例的一种形式化任务验证装置的示意图,如图6所示,该形式化任务验证装置主要包括获取单元10,构建单元20和验证单元30,其中:
获取单元,用于获取待验证任务的任务流的配置文件,其中,所述任务流的配置文件中包含以下至少一种配置信息:任务流的变量信息,所述变量信息的初始参数,所述变量信息的状态变更信息,所述任务流的验证条件;
构建单元,用于基于所述任务流的配置文件中所包含的配置信息构建目标验证文件,其中,所述目标验证文件为基于形式化验证语言构建的文件;
验证单元,用于基于所述目标验证文件对所述任务流的时序状态进行形式化验证。
在本发明实施例中,首先,获取待验证任务的任务流的配置文件;然后,基于任务流的配置文件中所包含的配置信息构建目标验证文件,其中,该验证文件为基于形式化验证语言构建的文件;最后,基于该目标验证文件对任务流的时序状态进行形式化验证。通过上述描述可知,在本实施例中,将形式化验证应用在任务引擎中,既能降低工程师使用形式化验证的成本,又能为任务引擎提供保证程序正确性的有效手段,提高整个程序的正确性,进而缓解了现有的任务验证方案正确性较低的技术问题。
可选地,构建单元用于:对所述任务流的配置文件进行解析,得到所述至少一种配置信息;利用所述形式化验证语言对所述至少一种配置信息进行编译,得到所述目标验证文件。
可选地,构建单元还用于:获取预设映射关系,其中,所述预设映射关系为所述任务流的配置文件中的配置参数和所述目标验证文件中参数之间的对应关系;按照所述预设映射关系将所述任务流的配置文件中的配置信息映射为初始验证文件中的参数,得到所述目标验证文件。
可选地,构建单元还用于:将所述任务流的变量信息映射为初始验证文件中的变量信息;将所述变量信息的初始参数映射为初始验证文件中的初始状态信息;将所述变量信息的状态变更信息映射为初始验证文件中的操作信息;将所述任务流的验证要求映射为初始验证文件中的验证条件信息。
可选地,验证单元用于:调用所述目标验证文件的模型检测程序;通过所述模型检测程序运行所述目标验证文件,以利用运行之后的所述目标验证文件对所述任务流的时序状态进行形式化验证。
可选地,该装置还用于:获取所述任务流的初始配置文件;在所述初始配置文件中添加所述至少一种配置信息,得到所述任务流的配置文件。
可选地,验证单元还用于:利用所述任务流的变量信息、所述变量信息的初始参数和所述变量信息的状态变更信息,验证所述任务流的时序状态是否满足所述验证条件。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例三:
参见图7,本发明实施例还提供一种电子设备100,包括:处理器70,存储器71,总线72和通信接口73,所述处理器70、通信接口73和存储器71通过总线72连接;处理器70用于执行存储器71中存储的可执行模块,例如计算机程序。
其中,存储器71可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线72可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器71用于存储程序,所述处理器70在接收到执行指令后,执行所述程序701,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器70中,或者由处理器70实现。
处理器70可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器70中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器70可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器71,处理器70读取存储器71中的信息,结合其硬件完成上述方法的步骤。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (9)
1.一种形式化任务验证方法,其特征在于,包括:
获取待验证任务的任务流的配置文件,其中,所述任务流的配置文件中包含以下至少一种配置信息:任务流的变量信息,所述变量信息的初始参数,所述变量信息的状态变更信息,所述任务流的验证条件;
基于所述任务流的配置文件中所包含的配置信息构建目标验证文件,其中,所述目标验证文件为基于形式化验证语言构建的文件;
基于所述目标验证文件对所述任务流的时序状态进行形式化验证;
基于所述任务流的配置文件中所包含的配置信息构建目标验证文件包括:
利用解析关键字对所述任务流的配置文件进行解析,得到所述至少一种配置信息;解析关键字为:变量、初始参数、任务、状态变更和验证条件;
利用所述形式化验证语言对所述至少一种配置信息进行编译,得到所述目标验证文件。
2.根据权利要求1所述的方法,其特征在于,基于所述任务流的配置文件中所包含的配置信息构建目标验证文件包括:
获取预设映射关系,其中,所述预设映射关系为所述任务流的配置文件中的配置参数和初始验证文件中参数之间的对应关系;
按照所述预设映射关系将所述任务流的配置文件中的配置信息映射为初始验证文件中的参数,得到所述目标验证文件。
3.根据权利要求2所述的方法,其特征在于,按照所述预设映射关系将所述任务流的配置文件中的配置信息映射为初始验证文件中的参数包括:
将所述任务流的变量信息映射为初始验证文件中的变量信息;
将所述变量信息的初始参数映射为初始验证文件中的初始状态信息;
将所述变量信息的状态变更信息映射为初始验证文件中的操作信息;
将所述任务流的验证要求映射为初始验证文件中的验证条件信息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,基于所述目标验证文件对所述任务流的时序状态进行形式化验证包括:
调用所述目标验证文件的模型检测程序,以通过所述模型检测程序运行所述目标验证文件,以利用运行之后的所述目标验证文件对所述任务流的时序状态进行形式化验证。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述任务流的初始配置文件;
在所述初始配置文件中添加所述至少一种配置信息,得到所述任务流的配置文件。
6.根据权利要求1所述的方法,其特征在于,基于所述目标验证文件对所述任务流的时序状态进行形式化验证包括:
利用所述任务流的变量信息、所述变量信息的初始参数和所述变量信息的状态变更信息,验证所述任务流的时序状态是否满足所述验证条件。
7.一种形式化任务验证装置,其特征在于,包括:
获取单元,用于获取待验证任务的任务流的配置文件,其中,所述任务流的配置文件中包含以下至少一种配置信息:任务流的变量信息,所述变量信息的初始参数,所述变量信息的状态变更信息,所述任务流的验证条件;
构建单元,用于基于所述任务流的配置文件中所包含的配置信息构建目标验证文件,其中,所述目标验证文件为基于形式化验证语言构建的文件;
验证单元,用于基于所述目标验证文件对所述任务流的时序状态进行形式化验证;
构建单元还用于:
利用解析关键字对所述任务流的配置文件进行解析,得到所述至少一种配置信息;解析关键字为:变量、初始参数、任务、状态变更和验证条件;
利用所述形式化验证语言对所述至少一种配置信息进行编译,得到所述目标验证文件。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6中任一项所述的方法的步骤。
9.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行上述权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010215783.0A CN111427785B (zh) | 2020-03-24 | 2020-03-24 | 形式化任务验证方法、装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010215783.0A CN111427785B (zh) | 2020-03-24 | 2020-03-24 | 形式化任务验证方法、装置、电子设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427785A CN111427785A (zh) | 2020-07-17 |
CN111427785B true CN111427785B (zh) | 2023-08-18 |
Family
ID=71549424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010215783.0A Active CN111427785B (zh) | 2020-03-24 | 2020-03-24 | 形式化任务验证方法、装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427785B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076283B (zh) * | 2021-04-06 | 2022-02-18 | 中移(上海)信息通信科技有限公司 | 文件一致性验证方法、装置及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996131A (zh) * | 2009-08-19 | 2011-03-30 | 航天信息股份有限公司 | 基于xml封装关键字的gui自动测试方法及自动测试平台 |
US8225249B1 (en) * | 2007-06-03 | 2012-07-17 | Jasper Design Automation, Inc. | Static formal verification of a circuit design using properties defined with local variables |
CN104899037A (zh) * | 2015-06-11 | 2015-09-09 | 上海大学 | 一种基于模型的侵入式灰盒组装验证方法 |
CN105225066A (zh) * | 2015-10-27 | 2016-01-06 | 东软集团股份有限公司 | 工作流合法性的验证方法以及验证装置 |
CN107229478A (zh) * | 2017-06-09 | 2017-10-03 | 华东师范大学 | 一种可信飞行控制系统协同开发的任务分配建模方法 |
CN108536581A (zh) * | 2018-03-08 | 2018-09-14 | 华东师范大学 | 一种针对源代码的运行时形式化验证方法及系统 |
CN108536445A (zh) * | 2018-03-28 | 2018-09-14 | 成都链安科技有限公司 | 面向区块链智能合约的高度自动化形式化验证系统及方法 |
CN108830085A (zh) * | 2018-06-13 | 2018-11-16 | 天津大学 | 基于扩展UML的Web应用形式化建模及验证方法 |
CN109376993A (zh) * | 2018-09-18 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 流程验证方法、装置、计算机设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504664B2 (en) * | 2009-07-20 | 2013-08-06 | Genband Us Llc | Methods, systems, and computer readable media for a validation framework for validating commands for configuring entities in a telecommunications network |
GB2508233A (en) * | 2012-11-27 | 2014-05-28 | Ibm | Verifying logic design of a processor with an instruction pipeline by comparing the output from first and second instances of the design |
US9721058B2 (en) * | 2015-04-13 | 2017-08-01 | Synopsys, Inc. | System and method for reactive initialization based formal verification of electronic logic design |
KR102071335B1 (ko) * | 2015-06-11 | 2020-03-02 | 한국전자통신연구원 | 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치 |
-
2020
- 2020-03-24 CN CN202010215783.0A patent/CN111427785B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8225249B1 (en) * | 2007-06-03 | 2012-07-17 | Jasper Design Automation, Inc. | Static formal verification of a circuit design using properties defined with local variables |
CN101996131A (zh) * | 2009-08-19 | 2011-03-30 | 航天信息股份有限公司 | 基于xml封装关键字的gui自动测试方法及自动测试平台 |
CN104899037A (zh) * | 2015-06-11 | 2015-09-09 | 上海大学 | 一种基于模型的侵入式灰盒组装验证方法 |
CN105225066A (zh) * | 2015-10-27 | 2016-01-06 | 东软集团股份有限公司 | 工作流合法性的验证方法以及验证装置 |
CN107229478A (zh) * | 2017-06-09 | 2017-10-03 | 华东师范大学 | 一种可信飞行控制系统协同开发的任务分配建模方法 |
CN108536581A (zh) * | 2018-03-08 | 2018-09-14 | 华东师范大学 | 一种针对源代码的运行时形式化验证方法及系统 |
CN108536445A (zh) * | 2018-03-28 | 2018-09-14 | 成都链安科技有限公司 | 面向区块链智能合约的高度自动化形式化验证系统及方法 |
CN108830085A (zh) * | 2018-06-13 | 2018-11-16 | 天津大学 | 基于扩展UML的Web应用形式化建模及验证方法 |
CN109376993A (zh) * | 2018-09-18 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 流程验证方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
刘晴晴.电子商务环境中业务流程的形式化分析与验证.信息科技.2015,(3),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111427785A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10769228B2 (en) | Systems and methods for web analytics testing and web development | |
CN103778061B (zh) | 数组越界错误的自动检测和校正方法 | |
CN105701008B (zh) | 用于测试用例生成的系统和方法 | |
US11386154B2 (en) | Method for generating a graph model for monitoring machinery health | |
CN110704304B (zh) | 一种应用程序测试方法、装置、存储介质和服务器 | |
US8656370B2 (en) | Symbolic execution of javascript software using a control flow graph | |
US8793665B2 (en) | Performing taint analysis for javascript software using a control flow graph | |
US20150089478A1 (en) | Systems and methods for extracting cross language dependencies and estimating code change impact in software | |
US8572747B2 (en) | Policy-driven detection and verification of methods such as sanitizers and validators | |
US20120017200A1 (en) | Solving Hybrid Constraints to Validate a Security Software Module for Detecting Injection Attacks | |
CN111124479B (zh) | 配置文件的解析方法、系统及电子设备 | |
EP2881877A1 (en) | Program execution device and program analysis device | |
CN112286828B (zh) | 一种区块链智能合约的测试方法和系统 | |
CN112015752A (zh) | 一种数据动态查询的方法、装置、电子设备和存储介质 | |
CN112149136A (zh) | loT设备固件漏洞的检测方法、系统及电子设备 | |
CN112181430A (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN111427785B (zh) | 形式化任务验证方法、装置、电子设备和计算机可读介质 | |
CN103186463A (zh) | 确定软件的测试范围的方法和系统 | |
US9152536B1 (en) | Validating correctness of expression evaluation within a debugger | |
CN112231232A (zh) | 确定测试数据模型及生成测试数据的方法、装置及设备 | |
CN110162729B (zh) | 建立浏览器指纹以及识别浏览器类型的方法、装置 | |
US20230141948A1 (en) | Analysis and Testing of Embedded Code | |
CN107291614B (zh) | 文件异常检测方法和电子设备 | |
US11397662B2 (en) | Method for debugging computer program, device employing method, and storage medium | |
CN115809193A (zh) | 前端逆向异常数据健壮性检测方法、装置及存储介质 |
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 |