15、Event-B在工业微处理器开发中的应用经验

Event-B在工业微处理器开发中的应用经验

1. 工具使用体验

标准的Event - B符号虽能描述指令集架构(ISA)的所有必要方面,但效率不高。模型事件存在过多重复,可通过将多个语句封装成宏公理语句以及使用“extends”函数来缓解,但这种方法与事件细化层次结构的集成不兼容。

与小型复杂学术Event - B模型的典型验证过程不同,ISA规范中的错误通常并非直接通过证明消解发现。而是通过精心构建和模拟事件,在大型但简单的模型中捕获成功的指令执行,然后系统地构建反例(如异常)来实现合理描述。证明消解在确保大量事件的模型合理性方面起着关键作用,模型产生了大量“定义良好性”证明义务,这些义务确保了所有不同组件以兼容的方式组装。不过,也有一些错误是直接发现的,例如地址偏移计算中隐含的模加法,其结果的定义良好性证明失败就表明了这一问题。

在证明消解方面,必须消解所有证明义务,因为给定功能中最后几个待消解的证明义务往往会揭示错误。若不消解所有证明义务,像这样的扁平模型与用非形式化语言编写的模型相比,几乎没有额外价值。

证明消解过程受扩展性问题主导,许多原本可自动消解的证明需要人工干预。为缓解这一问题,投入了大量精力重构模型和增强证明工具,但仍有36%的证明义务需手动消解,且对模型早期水平分区的修改需谨慎考虑。Rodin工具缓存和重新应用轻微修改后的证明的能力有一定帮助,但许多更改(如变量重命名)会破坏大量证明,需要完全重新证明,这在工业领域是个问题。

与许多专有工具不同,Rodin为用户和第三方扩展开发提供了良好支持。其开源模式通过提供丰富且易于获取的示例,促进了新开发(如B2C工具的开发受富文本文档生成器的启发)。除插件开发外,开源还允许修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值