1. Copyright (C) 2013 National Institute of Informatics, All rights reserved.
ゲームとモデル検査ワークショップ
#1
2013年9月12日
国立情報学研究所 GRACEセンター/先端ICTセンター
長久勝
mailto : nagaku@nii.ac.jp
Twitter : @mnagaku
2. Copyright (C) 2013 National Institute of Informatics, All rights reserved.
2
じゅんび
http://code.9leap.net/
アカウントを持ってなかったら作る
http://code.9leap.net/codes/show/34479
動作確認
Javascriptのコンソール表示方法を確認
LTSA
http://www.doc.ic.ac.uk/~jnm/book/ltsa/download.html
「download ltsa」からltsatool.zipをDL、
適当な場所に展開
ltsa.batでメモリ設定
3. Copyright (C) 2013 National Institute of Informatics, All rights reserved.
3
そのいち、だっしゅつげえむ
ゲームのスクリプトに潜むバグを
LTSAで取ってみます
http://code.9leap.net/codes/show/42604
ログインして、Forkして、自分用の環境を作る
実行するとLTSA用のモデルがconsoleに出る
// FSP から下の記述
LTSAにコピペで持って行く
4. Copyright (C) 2013 National Institute of Informatics, All rights reserved.
4
おれのあたまのなかのげーむしなりお
do / 鍵取得=false
開始
さて進めて どんどん進めて
ぐるぐる脱出最後のドア
探索
do / 鍵取得=true
鍵発見
もうないドア開
開く
開かない
終了
次へ 次へ
次へ
次へ
周りを探すドアを開ける
次へ [鍵取得==false]
次へ [鍵取得==true]
次へ
次へ
次へ [鍵取得==true]
次へ [鍵取得==false]
次へ
次へ
次へ
7. Copyright (C) 2013 National Institute of Informatics, All rights reserved.
7
へいこうせい
モデル検査は
本来、並行システムの検証に用いられる
LTSAのexample、6章の「食事する哲学者」
ADVスクリプトに書き下されたシナリオ進行では
並行性を扱わない
登場人物毎の振る舞いを
個別のプロセスと考えると並行システムになる
個別のプロセスが並行合成されて
単一プロセス化されている
並行性のないモデル化ができるので、
状態爆発を回避できる
8. Copyright (C) 2013 National Institute of Informatics, All rights reserved.
8
げーむしなりおともでるけんさ
モデル化すると、
複雑さは、組み合わせの量に変換される
人間は量を扱えない、機械は量を扱える
複雑なシナリオを高品質で実現!