CN112463133A - 一种基于Coq的机器人控制系统时序安全性的验证方法 - Google Patents
一种基于Coq的机器人控制系统时序安全性的验证方法 Download PDFInfo
- Publication number
- CN112463133A CN112463133A CN202011390411.8A CN202011390411A CN112463133A CN 112463133 A CN112463133 A CN 112463133A CN 202011390411 A CN202011390411 A CN 202011390411A CN 112463133 A CN112463133 A CN 112463133A
- Authority
- CN
- China
- Prior art keywords
- coq
- formalization
- model
- verification
- properties
- 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.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012546 transfer Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 27
- 230000006399 behavior Effects 0.000 claims description 26
- 238000013507 mapping Methods 0.000 claims description 15
- 230000007704 transition Effects 0.000 claims description 11
- 230000001939 inductive effect Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000078 claw Anatomy 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000008188 pellet Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1658—Programme controls characterised by programming, planning systems for manipulators characterised by programming language
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
Abstract
本发明公开了基于Coq的机器人控制系统时序安全性的验证方法,包括以下步骤:S10,抽象系统行为;S20,制定语义模型;S30,变量的形式化、转移规则的形式化、期望性质的形式化和性质的验证。本发明解决利用定理证明器验证基于C语言的嵌入式系统时序安全性的问题。
Description
技术领域
本发明属于系统验证技术领域,涉及一种基于Coq的机器人控制系统时序安全性的验证方法。
背景技术
嵌入式系统广泛地应用于各种生产场景中以辅助生产过程。机器人控制系统是一种典型的嵌入式系统的应用,而C语言被大量地应用于控制系统底层程序的开发。机器人的运动控制程序包含大量时序控制逻辑和硬件控制模块,引入了C语言的时间处理模块,增加了系统安全性验证的难度。传统测试方法的效果取决于测试用例的规模,其测试方法往往以函数为粒度,在复杂程序结构的情况下通常很难保证较好的测试覆盖程度。因此对C语言编写的控制软件系统时序安全性的验证是一个至今尚未有效解决的问题。
因此随着嵌入式系统对安全性和高可靠性的要求不断提高,形式化方法的应用显得尤为重要。形式化方法主要分为模型检测和定理证明两种。前者利用验证工具穷举系统的状态空间,能较好地验证有穷程序。然而,模型检测存在无法完成对复杂的数据类型和递归结构的推理及状态爆炸问题,使得模型检测只能处理控制为主、数据简单的系统的程序,而无法对复杂系统的程序进行检测。
Coq是一款交互式证明辅助工具,采用OCaml开发。Coq提供一套证明系统,可以编写证明,检查证明。Coq也提供一套形式化语言,可编写数学算法、定义、定理。Coq也可以用于程序的正确性证明(比如操作系统的安全性和编译器的正确性)。Coq作为一种被广泛使用的定理证明器,其提供的描述形式化语言Gallina和交互式证明的开发环境可帮助使用者逐步推导形式化定理,或开发程序。此外Coq允许用户自定义证明方法和策略语言,并使用外部的代数系统或定理证明器用于辅助证明。
发明内容
本发明提供一种基于Coq的机器人控制系统时序安全性的验证方法,以解决利用定理证明器验证基于C语言的嵌入式系统时序安全性的问题,并以三轴机器人为例进行验证。
自动机是有限状态机(FSM)的数学模型。Mealy自动机在FSM的基础上增加了输出,其次态是由输入的变化和现态决定的。
本发明的技术方案为基于Coq的机器人控制系统时序安全性的验证方法,包括以下步骤:
S10,抽象系统行为;
S20,制定语义模型;
S30,变量的形式化、转移规则的形式化、期望性质的形式化和性质的验证。
优选地,所述抽象系统行为,为依据机器人行为特征和C语言的特性,将系统的运行划分为若干个阶段,建立表示系统运行的自动机中间模型。将控制机器人运动的指令集抽象成离散的系统行为集合,作为自动机的输入单词的集合。
优选地,所述制定语义模型,为由自动机的状态迁移写出典型指令的操作语义,以统一抽象层次,解释每条指令对系统格局的改变,形式化地规定转移的规则。
优选地,所述变量的形式化、转移规则的形式化、期望性质的形式化和性质的验证,包括以下步骤:
S31,变量的形式化:确定中间件模型元素到Coq中类型的映射,使用Coq中的内建数据类型表示移动距离、全局时间变量;使用归纳类型定义系统的离散行为;使用全映射方式存储系统临时变量,定义变量相关的辅助函数;
S32,转移规则的形式化:根据语义使用Coq的规范语言Gillina描述系统格局的转移规则,建立系统的形式化模型,将定义的函数式转换为命题的表现形式,便于性质的验证;
S33,期望性质的形式化:结合形式化模型使用Coq的规范语言Gillina中的命题类型定义时序安全性质,使用Coq的规范语言Gillina中的List类型表示一段程序的运行,其中元素是抽象行为指令;
S34,性质的验证:将形式化模型作为验证对象,性质作为验证目标,在Coq中人工挑选证明策略,逐步证明子目标,如果形式化模型满足所期望的性质,则完成证明;若形式化模型不满足所期望的性质,则标记模型中不满足性质的功能需求,修正原系统的功能。
优选地,所述系统格局定义为由系统的状态、系统所处的运行阶段和全局时钟变量组成的三元组笛卡尔积。
与现有技术相比,本发明使用Mealy自动机作为中间模型表示系统格局的转移关系,并制定正则语义;使用Coq的规范语言Gillina中的Inductive定义系统抽象行为和系统状态;使用全映射方法表示各状态下系统变量的值;使用检查分支语句的match关键字来匹配验证过程中的逻辑分支。其中,系统的状态定义为运行时程序中变量的集合;系统的格局定义为由系统的状态、系统所处的运行阶段和全局时钟变量组成的三元组笛卡尔积。
Coq定理证明检查器用来检查用户定义的程序是否满足给定的规范,其核心算法是类型检查算法,检查的范围包括数理逻辑的自动验证和公理、定义和证明的自动验证。
附图说明
图1为本发明基于Coq的机器人控制系统时序安全性的验证方法的步骤流程图;
图2为本发明基于Coq的机器人控制系统时序安全性的验证方法的Coq证明逻辑图;
图3为本发明基于Coq的机器人控制系统时序安全性的验证方法的具体步骤流程图;
图4为本发明基于Coq的机器人控制系统时序安全性的验证方法的具有严格数学语义的系统语义模型图;
图5为本发明基于Coq的机器人控制系统时序安全性的验证方法的格局转化示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
参见图1,为本发明实施例的本发明的技术方案为基于Coq的机器人控制系统时序安全性的验证方法的步骤流程图,包括以下步骤:
S10,抽象系统行为;
S20,制定语义模型;
S30,变量的形式化、转移规则的形式化、期望性质的形式化和性质的验证。
S10,抽象系统行为,为依据机器人行为特征和C语言的特性,将系统的运行划分为若干个阶段,建立表示系统运行的自动机中间模型。将控制机器人运动的指令集抽象成离散的系统行为集合,作为自动机的输入单词的集合。
S20,制定语义模型,为由自动机的状态迁移写出典型指令的操作语义,以统一抽象层次,解释每条指令对系统格局的改变,形式化地规定转移的规则。
针对现有技术的不足,本发明提出了一种基于Coq的机器人控制系统时序安全性的验证方法,并在一个三维直角坐标机器人上验证了这一方法。本发明涉及的是技术人员如何将机器人控制系统和时序安全性质进行形式化描述,进而完成性质验证的工作,建模及验证过程参见图2。
参见图3,S30,变量的形式化、转移规则的形式化、期望性质的形式化和性质的验证,包括以下步骤:
S31,变量的形式化:确定中间件模型元素到Coq中类型的映射,使用Coq中的内建数据类型表示移动距离、全局时间变量;使用归纳类型定义系统的离散行为;使用全映射方式存储系统临时变量,定义变量相关的辅助函数;
S32,转移规则的形式化:根据语义使用Coq的规范语言Gillina描述系统格局的转移规则,建立系统的形式化模型,将定义的函数式转换为命题的表现形式,便于性质的验证;
S33,期望性质的形式化:结合形式化模型使用Coq的规范语言Gillina中的命题类型定义时序安全性质,使用Coq的规范语言Gillina中的List类型表示一段程序的运行,其中元素是抽象行为指令;
S34,性质的验证:将形式化模型作为验证对象,性质作为验证目标,在Coq中人工挑选证明策略,逐步证明子目标,如果形式化模型满足所期望的性质,则完成证明;若形式化模型不满足所期望的性质,则标记模型中不满足性质的功能需求,修正原系统的功能。
系统格局定义为由系统的状态、系统所处的运行阶段和全局时钟变量组成的三元组笛卡尔积。
具体实施例中,包括以下步骤:
S10,结合系统源码和实际开发过程中的经验,抽象系统运行阶段与行为指令,生成中间模型。中间模型以Mealy自动机为基础,包含五元组的模型。该模型可写为e=(L,l0,T,V,A)。
其中L是自动机位置的有限集合,表示系统抽象的运行阶段;l0是状态机的初始位置;A是自动机的有限输入集合,表示系统的指令抽象成离散的系统行为;V是系统中变量的有限集合;T是条件转换函数的有限集合。
进一步地,条件转换函数可以写成一个四元组t=(l1,l2,a,g)。其中l1和l2分别表示转移函数的起始位置和终止位置,a表示函数的输入符号,g表示函数的触发条件。
S20,制定中间模型的语义,描述自动机转移的严格数学意义,解释每条指令对系统格局的改变,形式化地规定转移的规则。
S31,本步骤中,用Inductive类型描述自动机的输入符号和位置集合;用nat表示系统中的整数型变量,用变量名到变量值的全映射关系表示系统中的寄存器变量。
建立辅助的变量更新函数,用于维护系统中各变量的值。定义系统的状态是某时刻程序中变量的集合。定义系统的格局是一个三元组c=(m,var,t)。
其中m表示系统所处的运行阶段,var表示系统当前的状态,t表示全局时钟变量。
S32,用Coq中的函数形式化定义自动机中的转移关系。函数的输入参数为条件转移关系中的输入符号和当前系统格局,输出为转移后系统的格局。首先用match匹配当前系统所处的运行阶段,结合输入符号可以得到对应的结果。进一步地,在本步骤中将函数改写为命题形式,以便于后序定理的验证。
对控制系统进行形式化描述,得到系统的形式化模型。
S33,系统的运行可以形式化地表示为包含一组抽象行为的列表,使用Coq中的Inductive类型归纳定义。性质被描述为Coq中的定理,嵌入系统的形式化模型。
S34,在Coq中选择推导策略验证模型是否满足性质。每一步证明人工选择策略将其转化为更易证明的子目标,重复该过程直至验证所有的子目标,从而完成定理证明。
在对当前目标使用证明策略时,Coq系统会自动检测该策略是否满足性质的前提。如果形式化模型满足所期望的性质,则进入下一个子目标,直至证明所有子目标,完成证明。若形式化模型不满足所期望的性质,则标记模型中不满足性质的功能需求,修正原系统的功能。
以三轴直角坐标机器人为例对本发明的应用原理进行进一步的阐述。参见图5,为系统格局转化示意图。
S10,依据机器人控制说明文档和C语言的特性,将控制程序的逻辑抽象为多个离散的机器人行为指令,作为自动机的语法元素。相应地,机器人控制系统的运行可以看作是在不同运行阶段之间迁移,指令作为自动机状态迁移所需满足的条件,由此可以建立一个表示机器人控制系统运行的有限自动机。
S20,使用规范说明语言,建立具有严格数学语义的系统语义模型,参见图4。该方法清晰地描述抽象指令对系统地改变,是后续建立形式化模型和系统分析的重要基础。
S31,变量的形式化。
将机器人控制系统的抽象行为指令定义为Coq规范语言的Inductive类型变量。
使用Coq中内建的nat类型表示时钟和距离的全局变量。
机械爪状态变量定义为时间到命题的映射。
寄存器类型变量定义为id到类型的映射。其中id是Coq内建类型nat的重命名,表示变量名。将变量名映射为对应的类型的值,实现变量类型上的多态。
运行时系统变量的集合定义为系统的状态,可依实际情况定义为多元组笛卡尔积。本例中定义为机械臂坐标、寄存器变量和机械爪状态变量的三元组。
更新寄存器变量的函数以匿名函数的形式更新,其定义如下:
Definition update_var(m:total_map Index)(n:nat)(v:nat):=
fun x'=>if eqb n x'then v else m x'.
这里使用匿名函数而非“键值对”来构建映射,简化使用了映射的证明。接受一个映射m、一个键n以及一个值v,并返回一个将x映射到v的新映射;其它键则与m中原来的保持一致。
系统状态State更新状态的相关函数在Coq中实现如下:
Definition update_state(s:State)(A:Action)(v:nat)(i:Index):State
使用标志位i标识待更新的部分。若i>0则默认i为寄存器编号,由此更新对应的寄存器值为v。若i等于0,输入指令A更新机械爪状态或机械臂的坐标。
S32,使用Inductive类型枚举定义系统的运行阶段Mode。
使用Inductive类型定义系统格局,为系统运行阶段Mode,系统状态State和全局时钟变量Time组成的3元组笛卡尔积:
Inductive Configuration:Type:=
∣conf(m:Mode)(var:State)(t:Time)
根据上述定义和格局转移的语义,可以定义系统格局的转换函数。其形式如下:
Definition transition(cf:Configuration)(A:Action):Configuration
函数首先使用match关键字匹配系统当前所处的运行阶段,其次使用辅助函数eqb_action来匹配下一个抽象行为指令,并根据是否满足转移条件而做相应的系统格局转移。不满足的情况应进入预设的警报格局error_conf。在实际的系统设计中应立刻停机,避免出现意外。
进一步地,将转移函数表示为命题的表现形式,有利于后续的验证工作:
Inductive transitionR(s1 s2:Configuration)(A:Action):Prop:=
|exec:transition s1 A=s2->transitionR s1 s2 A.
S33,系统的运行可以形式化地用Coq中的List类型描述。
抽取待验证的安全性质并使用Coq的规范语言Gillina描述为Coq中的定理:
Theorem ball_drop_sequence:forall
(t0 t1 t2:Time)(s0 s1 s2:State)(m:Mode),
transitionR(conf m s0 t0)(conf m s1 t1)release->
transitionR(conf m s1 t1)(conf m s2 t2)(wait et pt)->m=run/\(t2-t1<=et).
该定理要求,从机械爪状态变为放开始,机械臂实际的等待时间必须大于设定的参数时间。该定理保证在小球下落的过程中,机械臂终端的托盘始终位于机械爪的下方。即等待小球下落。
S34,对性质验证的过程可描述如下:
使用split策略将目标分割为左右两部分。左部分使用eapply和auto证明策略进行化简。右部分首先使用induction策略构造递归证明子目标。当t2-t1=0时结果是显而易见的,使用reflexivity策略可直接证明子目标。第二步展开transition函数并根据运行阶段的不同使用auto分情况讨论。最终验证了性质的成立。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (5)
1.基于Coq的机器人控制系统时序安全性的验证方法,其特征在于,包括以下步骤:
S10,抽象系统行为;
S20,制定语义模型;
S30,变量的形式化、转移规则的形式化、期望性质的形式化和性质的验证。
2.根据权利要求1所述的方法,其特征在于,所述抽象系统行为,为依据机器人行为特征和C语言的特性,将系统的运行划分为若干个阶段,建立表示系统运行的自动机中间模型,将控制机器人运动的指令集抽象成离散的系统行为集合,作为自动机的输入单词的集合。
3.根据权利要求2所述的方法,其特征在于,所述制定语义模型,为由自动机的状态迁移写出典型指令的操作语义,以统一抽象层次,解释每条指令对系统格局的改变,形式化地规定转移的规则。
4.根据权利要求3所述的方法,其特征在于,所述变量的形式化、转移规则的形式化、期望性质的形式化和性质的验证,包括以下步骤:
S31,变量的形式化:确定中间件模型元素到Coq中类型的映射,使用Coq中的内建数据类型表示移动距离、全局时间变量;使用归纳类型定义系统的离散行为;使用全映射方式存储系统临时变量,定义变量相关的辅助函数;
S32,转移规则的形式化:根据语义使用Coq的规范语言Gillina描述系统格局的转移规则,建立系统的形式化模型,将定义的函数式转换为命题的表现形式,便于性质的验证;
S33,期望性质的形式化:结合形式化模型使用Coq的规范语言Gillina中的命题类型定义时序安全性质,使用Coq的规范语言Gillina中的List类型表示一段程序的运行,其中元素是抽象行为指令;
S34,性质的验证:将形式化模型作为验证对象,性质作为验证目标,在Coq中挑选证明策略,逐步证明子目标,如果形式化模型满足所期望的性质,则完成证明;若形式化模型不满足所期望的性质,则标记模型中不满足性质的功能需求,修正原系统的功能。
5.根据权利要求4所述的方法,其特征在于,所述系统格局定义为由系统的状态、系统所处的运行阶段和全局时钟变量组成的三元组笛卡尔积。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011390411.8A CN112463133B (zh) | 2020-12-02 | 2020-12-02 | 一种基于Coq的机器人控制系统时序安全性的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011390411.8A CN112463133B (zh) | 2020-12-02 | 2020-12-02 | 一种基于Coq的机器人控制系统时序安全性的验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463133A true CN112463133A (zh) | 2021-03-09 |
CN112463133B CN112463133B (zh) | 2022-06-10 |
Family
ID=74805291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011390411.8A Active CN112463133B (zh) | 2020-12-02 | 2020-12-02 | 一种基于Coq的机器人控制系统时序安全性的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463133B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791776A (zh) * | 2021-08-03 | 2021-12-14 | 中国电子科技集团公司第三十研究所 | 可双向转换的并发性验证方法、系统、设备及存储介质 |
CN113848841A (zh) * | 2021-10-12 | 2021-12-28 | 湖南大学 | 工业机器人分布式控制系统中间件框架 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015159501A1 (ja) * | 2014-04-17 | 2015-10-22 | 日本電気株式会社 | 検証性質統合装置、検証性質統合方法および検証性質統合プログラムが記録された記憶媒体 |
CN106708525A (zh) * | 2016-12-27 | 2017-05-24 | 西安电子科技大学 | 一种基于Coq的MSVL程序验证方法 |
US20180294055A1 (en) * | 2017-06-11 | 2018-10-11 | Noha Hazzazi | Automated system and method for blood safety workflow verification and validation |
CN110119358A (zh) * | 2019-05-15 | 2019-08-13 | 杭州电子科技大学 | Fbd程序的测试方法及装置 |
EP3715975A1 (en) * | 2019-03-28 | 2020-09-30 | Mitsubishi Electric R&D Centre Europe B.V. | Method and apparatus for analysing a programmable logic controller program |
-
2020
- 2020-12-02 CN CN202011390411.8A patent/CN112463133B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015159501A1 (ja) * | 2014-04-17 | 2015-10-22 | 日本電気株式会社 | 検証性質統合装置、検証性質統合方法および検証性質統合プログラムが記録された記憶媒体 |
CN106708525A (zh) * | 2016-12-27 | 2017-05-24 | 西安电子科技大学 | 一种基于Coq的MSVL程序验证方法 |
US20180294055A1 (en) * | 2017-06-11 | 2018-10-11 | Noha Hazzazi | Automated system and method for blood safety workflow verification and validation |
EP3715975A1 (en) * | 2019-03-28 | 2020-09-30 | Mitsubishi Electric R&D Centre Europe B.V. | Method and apparatus for analysing a programmable logic controller program |
CN110119358A (zh) * | 2019-05-15 | 2019-08-13 | 杭州电子科技大学 | Fbd程序的测试方法及装置 |
Non-Patent Citations (2)
Title |
---|
JINGYUAN CAO等: "Practical Tactics for Verifying C Programs in Coq", 《PROCEEDINGS OF THE 2015 CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS》 * |
盛枫等: "基于Coq的命令式语言编译器机械验证的研究与实现", 《小型微型计算机系统》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791776A (zh) * | 2021-08-03 | 2021-12-14 | 中国电子科技集团公司第三十研究所 | 可双向转换的并发性验证方法、系统、设备及存储介质 |
CN113848841A (zh) * | 2021-10-12 | 2021-12-28 | 湖南大学 | 工业机器人分布式控制系统中间件框架 |
Also Published As
Publication number | Publication date |
---|---|
CN112463133B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Heitmeyer et al. | Using abstraction and model checking to detect safety violations in requirements specifications | |
US6385765B1 (en) | Specification and verification for concurrent systems with graphical and textual editors | |
Bjørner et al. | Verifying temporal properties of reactive systems: A STeP tutorial | |
CN107783758B (zh) | 一种智能合约工程方法 | |
CN112463133B (zh) | 一种基于Coq的机器人控制系统时序安全性的验证方法 | |
Giannakopoulou et al. | Compositional reasoning | |
Larsen et al. | Statistical model checking: past, present, and future | |
CN105786715A (zh) | 一种程序静态自动分析方法 | |
Staroletov et al. | Model-driven methods to design of reliable multiagent cyber-physical systems | |
JP2022519776A (ja) | プログラマブルロジックコントローラプログラムを分析する方法、コンピュータプログラム及び装置 | |
US20050138602A1 (en) | System and method for deriving a process-based specification | |
US8849626B1 (en) | Semantic translation of stateflow diagrams into input/output extended finite automata and automated test generation for simulink/stateflow diagrams | |
Santone | Heuristic search+ local model checking in selective mu-calculus | |
Daszczuk | Verification of temporal properties in concurrent systems | |
Wu et al. | Counterexample-guided distributed permissive supervisor synthesis for probabilistic multi-agent systems through learning | |
Lai et al. | Defining and verifying behaviour of domain specific language with fUML | |
Margaria et al. | Completing and adapting models of biological processes | |
Ruchkin | Towards Integration of Modeling Methods for Cyber-Physical Systems. | |
Aldrich | Coverage analysis for model-based design tools | |
Zaytoon | A contribution to the validation of Grafcet controlled systems | |
Yuan et al. | Managing complexity through abstraction: A refinement-based approach to formalize instruction set architectures | |
Sahraoui et al. | Methodology for fast prototyping of distributed real-time systems | |
CN114860388B (zh) | FMU模型转换为Modelica模型的联合仿真方法 | |
Semeráth | Formal Validation and Model Generation for Domain-Specific Languages by Logic Solvers | |
Kittelmann | A Maneuver-Centric Formal Engineering Approach 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20210309 Assignee: Hangzhou DPtech Technologies Co.,Ltd. Assignor: HANGZHOU DIANZI University Contract record no.: X2023330000907 Denomination of invention: A Verification Method for Timing Safety of Robot Control System Based on Coq Granted publication date: 20220610 License type: Common License Record date: 20231208 |
|
EE01 | Entry into force of recordation of patent licensing contract |