Event - B 及 需求分析

基础部分

概念

Event-b 是一种基于传统的谓词演算和定理证明的形式化语言。

Event-b 新的特征是它引入了事件(Event)。事件是event-b的一个重要特征,因此它非常适合用来为周期行为建模。除此之外,Event-b支持逐步精化地建立系统模型。

组成

一个完整的Event-B 模型包括四部分,Context(上下文) , Machine(自动机) , Proof Obligations(证明义务) 和 Refinement(精化)。

  • Context:上下文主要定义常量,这些常量可以是数值或者数据集合。
  • Machine:自动机主要定义动态的行为,包括状态以及状态属性,还有事件模型的建立都在machine模型里建立。
  • Proof Obligation:证明义务并不是为了得到某些信息而进行的操作,他并不是必须的。它的作用只是确定建立的模型是否符合原始需求以及内部需求。更多的模型只是为了进行语法的练习。
  • Refinement:精化是增加系统的功能、增加细节、改变状态模型。精化一个自动机过程中,可能需要增加新的变量和新的事件。一般一个模型需要进行多次精化才能符合要求。

Machine和Context

在这里插入图片描述

  • Variable:Variable定义了状态变量,我的理解是全局的变量
  • Invariant:Invariant则定义了相应Variable的类型
  • Theorems:Theorems定义了相应variable的行为
  • Events:Events则定义了能使状态变量改变的事件,其中包括初始化。
  • Variant:variant相对于Variable来说,则是Events中临时变量,作用域比Variable小。
  • Sets:是数据集合
  • Constants:是定义的一些常量
  • Axioms:描述了不能从其他公理派生出来的属性
  • Theorems:描述了可以由公理导出的性质

精化和拓展

一个项目中可以存在多个Machine和Context,但它们不能是独立的,这也从侧面解释了“Event-b支持逐步精化地建立系统模型”。具体关系如下图。

在这里插入图片描述

即Machine在精化中越来越复杂,越来越细致。Context也越来越庞大。

实例分析

教务选课

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值