软件形式化方法作业 (2010年3月~6月) |
序号 | 布置日期 | 提交日期 | 作业内容 |
5 | 4.27 | 5.10 | 在你已经做过的抽象机里选择两个,做它们的数据精化(选有点意思的)。在上交的作业里,对每个规范清晰给出下面几部分内容:
|
4 | 4.13 | 4.25 |
练习使用的银行保险柜抽象机文件(课堂实例) 1,基于本次课实例中定义带锁柜子的 抽象机,定义采用其他规则的柜子,例如超市的储物柜或者车站机场的物品存储柜。先设计一套规则,而后再给出规范定义 2,设法为银行保险柜抽象机引进一把主钥匙,只有主钥匙和具体柜子的钥匙都插入后才能开锁。考虑两种设计:
|
3 | 3.23 | 3.31 |
1,扩充阅读记录抽象机
|
2 | 3.18 | 3.24 |
1,读《工业开发中的形式化方法:成就,问题和未来》一文(网页),写读书报告 2,《B Book》第78页下面方框里的性质,请证明第一条和第五条 3,设计一个公交刷卡器模型。假定公交车有两个刷卡接口,乘客可以在任意接口刷卡,但需要上下车各刷一次。 刷卡器还提供查询和汇总功能。请先写出一个清晰的非形式化需求,而后给出B规范。 |
1 | 3.9 | 3.17 | 1,完成一个以座位集合为状态的座位预定抽象机(课堂上给出了一些相关构造) 2,自己找一个软件系统的题目,写出其非形式描述和抽象机定义 下次上课先交流工作的情况 两个抽象机都要在 Atelier B 系统里试验,把 B 规范拷贝到一个 doc 文件里,整理一下代码的格式。并说明在 Ateliel B 里试验的情况:生成了多少证明义务,自动证明了多少。检查一个没有做出的证明(如果有),分析这个证明义务是否正确。考虑(并说明)为什么系统不能证明它 |