 |
 |
| 第1日 |
 |
 |
|
 |
モデル検査とは |
|
| |
| 1.1 | 検査対象と状態遷移系 |
| 1.2 | 検査する性質 |
| 1.3 | 時相論理 |
|
|
|
| |
 |
例題「システムα」 モデル検査の基礎 |
|
| |
| 2.1 | システムαの概要 |
| 2.2 | 紙の上でのモデル検査 |
| 2.3 | ツールによるモデル検査 |
|
|
| 2.4 | モデル検査【Spin版】 |
| 2.5 | モデル検査【NuSMV版】 |
| 2.6 | まとめ |
|
| |
 |
例題「ランプ点灯」 |
|
| |
|
|
|
|
| |
| 第2日 |
 |
 |
|
 |
例題「Mini Life Game」窓辺の花 |
|
| |
| 4.1 | モデル作り |
| 4.2 | モデル【Spin版】 |
| 4.3 | モデル【NuSMV版】 |
| 4.4 | 検査項目 |
|
|
| 4.5 | ツールで検査【Spin版】 |
| 4.6 | ツールで検査【NuSMV版】 |
| 4.7 | まとめ |
|
| |
 |
例題「ウサギちゃんとオオカミくん」 |
|
| |
| 5.1 | モデル化 |
| 5.2 | コード【Spin版】 |
| 5.3 | コード【NuSMV版】 |
| 5.4 | 検査項目 |
|
|
| 5.5 | 検査【Spin版】 |
| 5.6 | 検査【NuSMV版】 |
| 5.7 | まとめ |
|
| |
 |
例題:並行システムと排他制御 |
|
| |
| 6.1 | モデル化 |
| 6.2 | コード【Spin版】 |
| 6.3 | 検査【Spin版】 |
| 6.4 | システム全体に求めるもの【Spin版】 |
|
|
| 6.5 | コード【NuSMV版】 |
| 6.6 | 検査【NuSMV版】 |
| 6.7 | システム全体に求めるもの【NuSMV版】 |
| 6.8 | まとめ |
|
| |
第2日の練習問題
第2日の練習問題のコードと検査式 |
| |
| 第3日 |
 |
 |
|
 |
LTL式の概要 |
|
| |
|
|
|
|
| |
 |
例題「3進カウンタ」 |
|
| |
| 8.1 | コード【Spin版】 |
| 8.2 | コード【NuSMV版】 |
|
|
|
| |
 |
例題「階段ぴょんぴょん」 |
|
| |
| 9.1 | モデルとコード【Spin版】 |
| 9.2 | モデルとコード【NuSMV版】 |
| 9.3 | 検査 |
|
|
| 9.4 | 類題「階段ぴょんぴょん」(その2) |
| 9.5 | まとめ |
|
| |
| 第4日 |
 |
 |
|
 |
例題「プログラム(C言語)の試験」実践練習 |
|
| |
| 10.1 | 検査対象のプログラム |
| 10.2 | 従来の検証法 |
| 10.3 | モデル検査を用いた検査【Spin版】 |
|
|
| 10.4 | モデル検査を用いた検査【NuSMV版】 |
| 10.5 | プログラムに間違いがあった場合 |
| 10.6 | まとめ |
|
| |
 |
演習「自動販売機」 |
|
| |
|
|
|
| 11.4 | 検査結果と主な改善点 |
| 11.5 | コードと検査式 |
|
| |
| Appendix |
 |
 |
|
 |
仕様記述言語Promela |
|
| |
| A.1 | 大局構造 |
| A.2 | コメント・区切り記号 |
| A.3 | 文字 |
| A.4 | データ型・変数宣言 |
|
|
| A.5 | 変数のスコープ |
| A.6 | プロセス型定義 |
| A.7 | 制御フロー |
| A.8 | inline |
|
| |
 |
NuSMVの仕様記述言語 |
|
| |
| B.1 | 大局構造 |
| B.2 | コメント |
| B.3 | 文字 |
| B.4 | 変数宣言部 |
|
|
| B.5 | 遷移記述部 |
| B.6 | シンボル定義部 |
| B.7 | 右辺値 |
| B.8 | 検査式記述部 |
|
| |
 |
命題論理式の真偽 |
|
| |
 |
付録CD-ROMについて |
|
| |
| D.1 | KNOPPIXについて |
| D.2 | システム要件 |
| D.3 | 起動方法 |
|
|
|
| |
参考文献
索引 |
| |