10
Alloy ではじめる簡単モデル検査 チェシャ猫 (y taka 23) 2013 12 14 NGK2013B 昼の部 LT チェシャ猫 (y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 1/9

Alloy ではじめる簡単モデル検査

  • Upload
    ytaka23

  • View
    488

  • Download
    3

Embed Size (px)

DESCRIPTION

NGK 2013B の LT で使用したスライドです。

Citation preview

Page 1: Alloy ではじめる簡単モデル検査

.

.

. ..

.

.

Alloyではじめる簡単モデル検査

チェシャ猫(@ y taka 23)

2013年 12月 14日NGK2013B昼の部 LT

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 1 / 9

Page 2: Alloy ではじめる簡単モデル検査

モデル検査って?

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 2 / 9

Page 3: Alloy ではじめる簡単モデル検査

モデル検査とは

仕様 (モデル)を形式的に記述する

記述された仕様を機械的に検査特定の条件を満たす例を探す特定の条件が必ず満たされるかどうか調べる

見逃しがちな仕様の不備が発見できる

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 3 / 9

Page 4: Alloy ではじめる簡単モデル検査

色々なモデル検査ツール

Alloyモデルの記述が簡単強力な可視化機能を持つ

Promela / SPINマルチプロセスのモデリング向き

Z / HOL-Z定理証明と連携が可能

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 4 / 9

Page 5: Alloy ではじめる簡単モデル検査

色々なモデル検査ツール

Alloyモデルの記述が簡単強力な可視化機能を持つ

Promela / SPINマルチプロセスのモデリング向き

Z / HOL-Z定理証明と連携が可能

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 4 / 9

Page 6: Alloy ではじめる簡単モデル検査

実例をお見せしましょう

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 5 / 9

Page 7: Alloy ではじめる簡単モデル検査

排他制御のモデル

モデル化する性質非同期マルチプロセスリソースを共有複数リソースに対して占有ロックロックは一度に一つずつロックは途中で解除しない

検査する性質デッドロックが発生しない (実際には発生する)

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 6 / 9

Page 8: Alloy ではじめる簡単モデル検査

デモ中(https://gist.github.com/y-taka-23/7945816)

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 7 / 9

Page 9: Alloy ではじめる簡単モデル検査

もう少し気になる人は

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 8 / 9

Page 10: Alloy ではじめる簡単モデル検査

勉強会のお知らせ

名古屋モデル検査勉強会日程 : 2014年 1月 9日 (木)場所 : (有) ITプランニング

PARTAKEにて参加者募集中大体みんな初心者なので大丈夫「名古屋」「モデル検査」で検索

チェシャ猫 (@ y taka 23) Alloy でモデル検査 NGK2013B 昼の部 LT 9 / 9