Event-B建模(一)——概念与基础


Event-B是什么?

  • Event-B是一种用于系统级别的建模和分析的形式化方法

  • 在B方法基础上发展出来的,基于状态和事件的形式化系统

  • 支持基于精化的模型转换和性质证明

创始人:Prof. Jean-Raymond Abrial

Event-B形式化验证过程

首先根据系统的需求文档(requirements document),使用event-b建模语言将系统建模为一个抽象离散模型(model),在模型中也刻画了对应组件需要满足的性质,因为在模型状态变化过程中,模型的某些组件可能无法满足全局的性质,这时候会产生一些需要证明的定理,我们需要证明(proof)这些定理来确保状态变量的条件永远成立。

当然,需要证明的定理肯定不能由我们一个个去提出来,肯定是需要相应工具生成的,该工具称为证明义务生成器,然后证明也应该可以通过自动推理或者半自动推理的方式来进行证明。

人需要的工作主要是根据需求文档构建相应的模型,我们的模型肯定不是一蹴而就的,是在逐步的迭代与转化过程中越来越完善,这种模型的迭代与转化的过程称为精化(refinement),然后描述这个模型应该满足哪些性质,通过定理证明的方式,证明这些个性质是可满足的,进而验证模型的正确性。

在这里插入图片描述

如果完成了定理的证明,我们可以说这个系统是相对无缺陷的(Faultless)。因为在上面的步骤中,我们相当于构建了一种真实软件的近似模型,如果这个近似模型与真实软件足够接近,那么可以说是相对正确的,否则的话,很有可能在事先未曾预料到的外部环境出错。

Event-B的辅助工具

Rodin平台

它是一个基于eclipse平台的开源IDE,对Event-B中的精化和定理证明提供了良好的支持,并且可以通过插件进一步扩展功能。

Rodin和Event-B的wiki主页:https://wiki.event-b.org/index.php/Main_Page

可以在上面下载Rodin工具

Event-B的特点

  1. 使用集合论作为建模表示法
  2. 使用精化(refinement)表示不同抽象级别的系统
  3. 使用数学证明来验证不同精化级别之间的一致性

前置知识

离散数学

形式化是什么?

参见形式化基础

我个人认为Event-B方法应该属于形式化验证中的定理证明

参考资料

  1. Rodin User’s Handbook
  2. Modeling in Event-B: System and Software Engineering, J.R. Abrial (2010)
  3. Event-B & Rodin wiki
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值