模型检测--工具KeYmaera

论文:KeYmaera: A Hybrid Theorem Prover for Hybrid Systems
作者:Andre Platzer and Jan

摘要

KeYmaera是一种用于混合系统的混合验证工具,它结合了演绎,实数代数和计算机代数证明者技术。它是自然的自动和交互式定理证明器 混合系统的规范和验证逻辑。 KeYmaera支持差分动态逻辑,它是用于混合程序的实值一阶动态逻辑,是混合自动机的程序符号。为了使验证过程自动化,KeYmaera实施了广义的自由变量后续演算和自动证明策略,这些策略可象征性地分解混合系统的说明。为了克服实数运算的复杂性,我们在迭代背景封闭策略之后集成了实数消除。我们的工具特别适用于验证参数混合系统,并已成功用于验证列车控制和空中交通管理案例研究中的避免碰撞。

1 介绍

随着安全关键系统中计算机控制系统的复杂性显着增长,形式化验证变得越来越重要。在许多应用中,系统状态(如车辆的位置)会根据微分方程不断变化,并受离散控制器决策的影响。混合系统[7]是具有离散和连续动力学相互作用的此类系统的数学模型。模型检查器[7,5]通过详尽地研究状态空间来验证正确性,这为发现错误或特定规范的反例提供了良好的机制。不幸的是,混合系统的状态空间是无穷无尽的,不能将其划分成许多相关的区域来决定可达性[7]。由于演绎方法[4、2、8、1]以能够在有限域中处理而闻名,因此我们选择了基于证明的方法。我们介绍了使用自动定理证明(用于符号分解和执行系统模型),实际量化消除[3](用于处理混合系统的算术)以及计算机代数系统中的符号计算(组合)的验证工具KeYmaera。用于处理连续演化的微分方程式。作为中心概念,我们的工具以微分动态逻辑dL的顺序演算形式实现混合系统过渡行为的公理化[12,13]。 KeYmaera提供了证明策略,可以在很大程度上自动化验证过程。在一些实际应用中,证明结构甚至是完全自动的,例如用于证明避免火车或飞机的碰撞。
此外,定理证明与量化消除的等价变换相结合,使我们能够验证高度参数化的混合系统,甚至发现安全性至关重要的参数约束。 演绎符号系统分解获得的可追溯性使用户能够使用他的系统知识,将获得的约束投影到系统的自由参数上,以适应相关情况。 由于基本逻辑dL及其组成证明演算是自然而直观的,因此即使在计算上棘手的问题也可以通过KeYmaera中的选择性用户指南来验证。 在本文中,我们描述了定理证明者KeYmaera及其结合用于验证混合系统的各种技术。 KeYmaera由大约186000行Java代码和141条优化的证明规则组成,其中包括符号分解,命题逻辑,一阶逻辑和简化的规则。

2用于混合系统的KeYmaera验证工具

KeYmaera是用于混合系统的演绎验证工具。我们已经将KeYmaera实现为演绎定理证明者KeY [2]与计算机代数系统Mathematica的组合,请参见图1。KeY是一个交互式定理证明者,具有用户友好的图形界面,可证明Java程序的正确性。通过添加对差分动态逻辑dL [12,13]的支持,我们将KeY从离散系统推广到混合系统,这是一种动态逻辑[6],它提供了一种自然的方式来通过遵循动态来规范可达到的状态的性质。混合动力系统。这样,KeYmaera可以证明混合系统的正确性,安全性,可控性,反应性和活性。在离散的KeY中,规则应用程序比较快,但是在KeYmaera中,将决策过程用于实数运算的证明规则可能需要大量时间才能产生结果。为了克服这个问题,我们为混合案例实现了新的自动证明策略,该策略可在计算量很大的规则应用程序之间导航。
在这里插入图片描述
在这里插入图片描述

我们已经实现了一个插件体系结构,用于集成用于多种算术处理领域的决策过程的多种实现,请参见。 图1.我们通过连接Mathematica集成了算术简化和实数消除支持。 可从Mathematica或Orbital(一种由第一作者开发的Java数学库)中获得可用于处理连续动力学的微分方程式的符号解。

3混合系统,混合自动机和混合程序

混合系统[7]是具有相互作用的连续和离散状态转移的系统的数学模型。 用于指定混合系统的操作行为的标准描述语言是混合自动机的语言[7]。 混合自动机是具有实变量的nite自动机,它按照微分方程式在自动机位置连续演化。 此外,状态变量可以出现在过渡保护中,并且过渡可以更改变量的值。 混合自动机的图形表示法不是组成性的,例如,不足以证明每个位置的属性来推断全局系统属性,因为必须考虑过渡效果。
取而代之的是,我们使用混合自动机的程序符号,该符号被设计为具有组成语义,可用于通过符号分解来验证系统。混合程序[12,13]是连续规则对离散常规程序[6]的扩展。表1给出了混合程序的语法和非正式语义的概述(其中F是一阶实数运算的公式)。混合自动机可以嵌入到混合程序中[13]。
示例1.考虑众所周知的弹跳球示例。球在发生弹性变形后从高度h掉落并从地面弹回(h = 0)。球的当前速度用v表示,t是测量下降时间的时钟。我们假设任意正向重力g,并且球根据阻尼因子0 <= c <1损失能量。图3描绘了混合动力自动机,系统动力学的图示以及系统作为混合动力的表示程序。但是,自动机仍会强制执行nite弹跳。实际上,当球的剩余动能不足时,它可能会停顿下来。为了对这种现象进行建模,而无需为所有涉及的力建立精确的物理模型,我们允许在每次反弹时改变阻尼系数。图3中的混合程序的第4行表示c的对应的无限不确定性选择,这超出了混合自动机的建模能力。
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值