Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
「モデル検査」のススメ
(ゲームシナリオ進行編)
2013年8月21日
国立情報学研究所 GR...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
2
がいよう
 仕様の通りに正しく振る舞うソフトウェアを開発するのは
極めて困難であるが、ソ...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
3
じゅこうすきるとえられるちけん
 受講スキル
大学教養レベルの論理学。ノベルゲームなどの...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
4
おはなしするおじさん
 長久勝(ながくまさる)
 国立情報学研究所 GRACEセンター...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
5
おはなしするおじさん
 日科技連SQuBOK開発領域委員
 もうすぐ改定作業が終わりま...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
6
かいじょうあんけーと
 職種
プログラマ
スクリプタ、レベルデザイナ
企画、シナリ...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
7
おしながき
 正しく動くソフトウェア
 モデル検査
 ゲームシナリオ
 デモ
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
8
ただしくうごくそふとうぇあ
 正しく動く≠イイ感じ
「イイ感じ」は曖昧
何が「正しい...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
9
ただしくうごくそふとうぇあ
 「戦闘で勝つとアイテムがもらえる」
大雑把過ぎて何が「正...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
10
ただしくうごくそふとうぇあ
 宝箱からアイテムを取らないで別の画面に移動
したらどうな...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
11
もでるけんさ
 仕様書に書かれた「正しい」を、設計もしくは実装
が守っているか検証する...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
12
じょうたいきかい
 100円玉と50円玉だけ受け入れて
100円の商品を出す自動販売機...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
13
じょうたいきかいでみるただしさ
 どんな状態からでも商品を得る遷移が存在する
内部留保...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
14
じょうたいきかいでみるただしくなさ
 どんな状態からでも商品を得る遷移が
存在する?
...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
15
もでるけんさき
 モデル検査器
 「状態機械で見る正しさ」を検査するツール
 SP...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
16
もでるけんさき
 LTSA
http://www.doc.ic.ac.uk/ltsa...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
17
もでるをかく
S自販機 = S内部留保0円,
S内部留保0円 = (e50円玉投入 ->...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
18
もでるを
けんさする
内部留保0円
内部留保100円
100円玉投入
内部留保50円
5...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
内部留保0円
内部留保100円
100円玉投入
内部留保50円
50円玉投入
50円玉投入
1...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
20
げーむしなりお
 攻略情報でフローチャートがよく出てくる
ゲームシナリオは状態機械で...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
21
げーむしなりお
do / 鍵取得=false
開始
さて進めて どんどん進めて
ぐるぐる...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
22
でも
 ゲームのスクリプトに潜むバグを
LTSAで取ってみます
 http://co...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
23
けんさできるせいしつ
 const False = 0
const True = 1
...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
24
げーむしなりおともでるけんさ
 デモでの不具合は単純に見える
人間の認識可能な量は簡...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
25
ひんと
 スクリプトも、リポジトリにコミットした時、CIでモデ
ル検査される仕組みだと...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
26
ついかさんぷる
 http://code.9leap.net/codes/show/3...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
27
かたよったさんこうぶんけん
 CSPベースのモデル検査器は、LTSAの他にも
FDR2...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
28
ふつうのさんこうぶんけん
 日本語だと中島先生のSPIN本かな
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
29
ろんぶんなど
 [CEDEC2008]モデル検証入門
~ツールに振る舞いを検査させる~...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
30
このりんぐ、われわれのうえに、
ひとり、かみがいる
 菅野ひろゆき(1968-2011...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
31
ここまでよんでくれてありがとうね
 Twitterで絡んでもらえば、いろいろお話します...
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
32
じょうほうけんってどんなとこ?
 国立情報学研究所
 http://www.nii....
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
33
とっぷえすいーってなあに?
 トップエスイー
 http://www.topse.j...
Prochain SlideShare
Chargement dans…5
×

「モデル検査」のススメ (ゲームシナリオ進行編)

4 451 vues

Publié le

CEDEC2013「『モデル検査』のススメ (ゲームシナリオ進行編)」講演スライド増補版

Publié dans : Technologie
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

「モデル検査」のススメ (ゲームシナリオ進行編)

  1. 1. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 「モデル検査」のススメ (ゲームシナリオ進行編) 2013年8月21日 国立情報学研究所 GRACEセンター/先端ICTセンター 長久勝 mailto : nagaku@nii.ac.jp Twitter : @mnagaku
  2. 2. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 2 がいよう  仕様の通りに正しく振る舞うソフトウェアを開発するのは 極めて困難であるが、ソフトウェア工学において検討され てきた「モデル検査」は、ソフトウェアをモデル化し、その 振る舞いを網羅的に検証することで、仕様の通りに正しく 振る舞うソフトウェアの開発を支援する。  コンピュータゲームにおけるシナリオ進行は、状態遷移 に基づくスクリプト表現(DSL)で記述されることが多く、モ デル検査を行うためのモデル表現と親和性が高い。  本講演では、簡単なノベルゲームエンジンを示し、その上 に記述されたゲームのシナリオ進行を、モデル検査によ って検証できることを示す。
  3. 3. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 3 じゅこうすきるとえられるちけん  受講スキル 大学教養レベルの論理学。ノベルゲームなどの スクリプトが書ける程度のゲーム開発経験  得られる知見 ゲームシナリオ進行に関してモデル検査を使うた めの具体的なノウハウ。ゲーム開発にモデル検 査を導入するためのヒント
  4. 4. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 4 おはなしするおじさん  長久勝(ながくまさる)  国立情報学研究所 GRACEセンター/先端ICTセンター 特任技術専門員  ゲーム、映像配信の技術職を経て現職。ソフトウェア工学教育 と、学術クラウドに携わっている。早稲田大学MNC非常勤講師 兼務。NADEC主宰、ゲームコミュニティサミット2013実行委員、 IGDA日本 福島ゲームジャムT/F副世話人。単著「Javaゲーム プログラミング アルゴリズムとフレームワーク」、雑誌特集「生 物の生きるしくみを応用する免疫アルゴリズム」、TopSE修了 制作「FDRによるRPGシナリオの検証」、共著「ゲームクリエイ ターが知るべき97のこと」。CEDECでは、2005-2011「ゲームAI RT」、CEDECラボ2008プログラム委員、2009講演「僕より賢い SATソルバー」。
  5. 5. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 5 おはなしするおじさん  日科技連SQuBOK開発領域委員  もうすぐ改定作業が終わります  最新刊「ゲームクリエイターが知るべき97のこと②」  今日の話は①の方の話だけど
  6. 6. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 6 かいじょうあんけーと  職種 プログラマ スクリプタ、レベルデザイナ 企画、シナリオライタ その他  知識 三段論法が分かる 状態機械が分かる 網羅的試験が分かる
  7. 7. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 7 おしながき  正しく動くソフトウェア  モデル検査  ゲームシナリオ  デモ
  8. 8. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 8 ただしくうごくそふとうぇあ  正しく動く≠イイ感じ 「イイ感じ」は曖昧 何が「正しい」か決めて、 それが損なわれないように動くのが「正しく動く」  何が「正しい」か書くのが仕様書 何が「正しい」かを明らかにするために、 何が「正しくない」か書くこともある 「正しい」とも「正しくない」とも判断できない部分が 残っている仕様書は「『正しくない』仕様書」
  9. 9. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 9 ただしくうごくそふとうぇあ  「戦闘で勝つとアイテムがもらえる」 大雑把過ぎて何が「正しい」挙動か分からない  「戦闘に勝った後、戦闘画面からフィールド画面 に戻ると、敵の居た場所に、別途定める確率で、 別途定めるアイテムが入った宝箱が出現する。 宝箱に隣接した位置で、宝箱を向いて、Aボタン を押すと、アイテムを取得した旨の演出が行わ れ、持ち物にアイテムが加えられる」 確率やアイテムの種別は定めた通りか、宝箱の どの方向からも開けられるか、持ち物にちゃんと アイテムが入るか
  10. 10. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 10 ただしくうごくそふとうぇあ  宝箱からアイテムを取らないで別の画面に移動 したらどうなる?取らないままじっとしていたらど うなる? 異常系とかも明示しないとダメ 必要なら非機能についても書く  段階的詳細化 大雑把な要求から、実装や試験が可能な仕様に 詳細化していく 各段階での対応関係(トレーサビリティ)、守るべ き性質を壊さないように工夫して行う
  11. 11. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 11 もでるけんさ  仕様書に書かれた「正しい」を、設計もしくは実装 が守っているか検証するための手法の一つ  検査対象となるシステムを 状態機械としてモデル化  モデル上の全ての状態遷移について 網羅的に「正しい」が破られないか探す
  12. 12. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 12 じょうたいきかい  100円玉と50円玉だけ受け入れて 100円の商品を出す自動販売機の例 内部留保0円 内部留保100円 100円玉投入 内部留保50円 50円玉投入 50円玉投入 100円玉投入 / 50円玉排出 50円玉投入 / 50円玉排出 100円玉投入 / 100円玉排出 購入ボタン押下 / 商品排出 購入ボタン押下 購入ボタン押下
  13. 13. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 13 じょうたいきかいでみるただしさ  どんな状態からでも商品を得る遷移が存在する 内部留保0円 内部留保100円 100円玉投入 内部留保50円 50円玉投入 50円玉投入 100円玉投入 / 50円玉排出 50円玉投入 / 50円玉排出 100円玉投入 / 100円玉排出 購入ボタン押下 / 商品排出 購入ボタン押下 購入ボタン押下
  14. 14. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 14 じょうたいきかいでみるただしくなさ  どんな状態からでも商品を得る遷移が 存在する? 内部留保0円 内部留保100円 100円玉投入 内部留保50円 50円玉投入 50円玉投入 / 50円玉排出 100円玉投入 / 100円玉排出 購入ボタン押下 / 商品排出 購入ボタン押下
  15. 15. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 15 もでるけんさき  モデル検査器  「状態機械で見る正しさ」を検査するツール  SPIN、SMV、UPPAAL、LTSA、FDR2、PAT、 JavaPathFinder、CBMC、SyncStitch、etc…  今日はLTSAを紹介します
  16. 16. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 16 もでるけんさき  LTSA http://www.doc.ic.ac.uk/ltsa/ Javaで書かれてるので、どこでも動く Appletでも動く 簡単な使い方や情報を紹介してるBlog http://d.hatena.ne.jp/susumu/searchdiary?word=ltsa  http://ameblo.jp/kenkyu-nisshi/entry-10602734547.html 講義用スライドを玉井先生が日本語化したもの (英語の本家教科書を読む際にも参考になる)  http://www.graco.c.u-tokyo.ac.jp/~tamai/concurrency.html
  17. 17. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 17 もでるをかく S自販機 = S内部留保0円, S内部留保0円 = (e50円玉投入 -> S内部留保50円 | e100円玉投入 -> S内部留保100円), S内部留保50円 = (e購入ボタン押下げ -> S内部留保50円), S内部留保100円 = (e購入ボタン押下げ -> a商品排出 -> S内部留保0円 | e50円玉投入 -> a50円玉排出 -> S内部留保100円 | e100円玉投入 -> a100円玉排出 -> S内部留保100円). 内部留保0円 内部留保100円 100円玉投入 内部留保50円 50円玉投入 50円玉投入 / 50円玉排出 100円玉投入 / 100円玉排出 購入ボタン押下 / 商品排出 購入ボタン押下
  18. 18. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 18 もでるを けんさする 内部留保0円 内部留保100円 100円玉投入 内部留保50円 50円玉投入 50円玉投入 / 50円玉排出 100円玉投入 / 100円玉排出 購入ボタン押下 / 商品排出 購入ボタン押下 //メニューの[check]-[progress] Composition: DEFAULT = S自販機 State Space: 6 = 2 ** 3 Progress Check... -- States: 6 Transitions: 9 Memory used: 128062K Finding trace to cycle... Depth 1 -- States: 1 Transitions: 1 Memory used: 128062K Finding trace in cycle... Progress violation for actions: {a100円玉排出, a50円玉排出, a商品排出, e100円玉投入, e50円玉投入} Trace to terminal set of states: e50円玉投入 Cycle in terminal set: e購入ボタン押下げ Actions in terminal set: e購入ボタン押下げ Progress Check in: 0ms
  19. 19. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 内部留保0円 内部留保100円 100円玉投入 内部留保50円 50円玉投入 50円玉投入 100円玉投入 / 50円玉排出 50円玉投入 / 50円玉排出 100円玉投入 / 100円玉排出 購入ボタン押下 / 商品排出 購入ボタン押下 購入ボタン押下 19 もでるをかく けんさする S自販機 = S内部留保0円, S内部留保0円 = (e購入ボタン押下げ -> S内部留保0円 | e50円玉投入 -> S内部留保50円 | e100円玉投入 -> S内部留保100円), S内部留保50円 = (e購入ボタン押下げ -> S内部留保50円 | e50円玉投入 -> S内部留保100円 | e100円玉投入 -> a50円玉排出 -> S内部留保100円), S内部留保100円 = (e購入ボタン押下げ -> a商品排出 -> S内部留保0円 | e50円玉投入 -> a50円玉排出 -> S内部留保100円 | e100円玉投入 -> a100円玉排出 -> S内部留保100円). Composition: DEFAULT = S自販機 State Space: 7 = 2 ** 3 Progress Check... -- States: 7 Transitions: 13 Memory used: 22162K No progress violations detected. Progress Check in: 2ms
  20. 20. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 20 げーむしなりお  攻略情報でフローチャートがよく出てくる ゲームシナリオは状態機械で表現可能  フラグが立つ ゲームシナリオ進行に使われる道具は 限られている フラグは進行状態を表す フラグの変化に注目したモデル化で検査ができる
  21. 21. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 21 げーむしなりお do / 鍵取得=false 開始 さて進めて どんどん進めて ぐるぐる脱出最後のドア 探索 do / 鍵取得=true 鍵発見 もうないドア開 開く 開かない 終了 次へ 次へ 次へ 次へ 周りを探すドアを開ける 次へ [鍵取得==false] 次へ [鍵取得==true] 次へ 次へ 次へ [鍵取得==true] 次へ [鍵取得==false] 次へ 次へ 次へ
  22. 22. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 22 でも  ゲームのスクリプトに潜むバグを LTSAで取ってみます  http://code.9leap.net/codes/show/37974 ログインして、Forkして、自分用の環境を作る config.jsのdebugフラグをtrueに変える 実行するとLTSA用のモデルがdialogで出る LTSAにコピペで持って行く ブラウザによってコピペ不可なのがあるので注意
  23. 23. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 23 けんさできるせいしつ  const False = 0 const True = 1 fluent HAS_KEY = <{m.s鍵発見.s最後のドア}, {m.sさて進めて.sどんどん進めて}> initially False fluent OPEN_DOOR = <{m.s開く.s終了}, {m.sさて進めて.sどんどん進めて}> initially False assert P1 = [](OPEN_DOOR -> HAS_KEY)  イベントによって変化する状態を定義し、その状態の関係をLTLで検査式として書く  P1:ドアが開いた状態の時は、必ず鍵を持っている状態でなければならない  progress END = {m.s終了.s開始}  進行性検証  どんな状態からでも、いつか「m.s終了.s開始」のイベントを起こせる  「m.s終了.s開始」のイベントが起こせなくなる進行とは、エンディングに到達できないパスがあるということ  property Test = (m.s鍵発見.s最後のドア -> m.s開く.s終了 -> Test).  安全性検証  システムを抽象化(捨象)して守るべき性質を記述  「m.s鍵発見.s最後のドア」、「m.s開く.s終了」以外のイベントを無視した場合、システムが 「Test = (m.s鍵発見.s最後のドア -> m.s開く.s終了 -> Test)」 と等価か調べる  鍵を発見していないのにドアが開いたり、鍵を複数回発見してからドアが開いたりすると、等価にならない
  24. 24. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 24 げーむしなりおともでるけんさ  デモでの不具合は単純に見える 人間の認識可能な量は簡単に超えてしまう  モデル検査は本来、並行システムの検証に用い られるが、今回題材としているシナリオ進行では 並行性を扱わない  一般的なゲームシナリオ進行では、並行性がな い、もしくは、既に並行合成が終わった後の並行 性がないプロセスを扱う  並行性のないモデル化ができるので、状態爆発 を回避できる
  25. 25. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 25 ひんと  スクリプトも、リポジトリにコミットした時、CIでモデ ル検査される仕組みだと、うれしい  ルールやツールを工夫すれば、ゲーム内の設定 の一貫性などを検査することも可能
  26. 26. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 26 ついかさんぷる  http://code.9leap.net/codes/show/38365 デモと同じ手順でLTSAにモデルを持って行く  const False = 0 const True = 1 fluent DEAD_ME = <{m.s死ぬ.s終了}, {m.s終了.s開始}> initially False fluent LIVE_CAT = <{m.s終了.s開始}, {m.s猫死ぬ.s死ぬ}> initially True assert P1 = [](DEAD_ME -> LIVE_CAT)  自分を殺すのが必ず猫だとした場合、 自分が死んだ時に、既に猫が死んでいたらおかしい  ほんとは、死んだら生き返らない検査項目も必要だけど、ここでは割愛  物語の内容についての制約も検査できる  モデル化に工夫しておくと、自動化も可能  キャラ表示命令から香盤表を自動生成して、その情報を使うとか  シーンにアノテーション(タグ)を付けて、遷移以外のイベントを自動で埋め込めるようにするとか
  27. 27. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 27 かたよったさんこうぶんけん  CSPベースのモデル検査器は、LTSAの他にも FDR2やPATなど、結構ある
  28. 28. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 28 ふつうのさんこうぶんけん  日本語だと中島先生のSPIN本かな
  29. 29. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 29 ろんぶんなど  [CEDEC2008]モデル検証入門 ~ツールに振る舞いを検査させる~ http://cedil.cesa.or.jp/session/detail/154  モデル検査のゲームシナリオへの適用 http://www.seiki.org/mass/modelchecking/  設計段階におけるゲームシナリオのモデル検査 http://www.ppll.jp/mt.pdf  FDRによるRPGシナリオの検証  https://docs.google.com/file/d/0B4r-xhiV8R5xd1QyaE8yOVBrNmc/edit?usp=sharing
  30. 30. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 30 このりんぐ、われわれのうえに、 ひとり、かみがいる  菅野ひろゆき(1968-2011) 「この世の果てで恋を唄う少女YU-NO」に代表さ れる複雑なシナリオ進行において先駆的  もし「複雑なシナリオ進行」の開発コストが低かっ たとしたら、もっとシナリオ進行で遊ばせるゲー ムが増えるのではないだろうか  モデル検査をその道具に使えないだろうか  アニメで表現できない面白さを
  31. 31. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 31 ここまでよんでくれてありがとうね  Twitterで絡んでもらえば、いろいろお話します @mnagaku  今回のセッション、いろいろ反省した 「ゲームとモデル検査ワークショップ」をやる ハンズオンで体験してもらう会 少人数で、 参加者各自が何がしかの納得を持って帰れる会 平日20時-22時、神保町を予定 そのうちTwitterで情報流します
  32. 32. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 32 じょうほうけんってどんなとこ?  国立情報学研究所  http://www.nii.ac.jp/  講演者の所属する国立情報学研究所は、情報学という新しい 学問分野での「未来価値創成」を目指すわが国唯一の学術総 合研究所として、ネットワーク、ソフトウェア、コンテンツなどの 情報関連分野の新しい理論・方法論から応用展開までの研究 開発を総合的に推進しています。また、大学共同利用機関と して、学術コミュニティ全体の研究・教育活動に不可欠な最先 端学術情報基盤(サイバー・サイエンス・インフラストラクチャ: CSI)の構築を進めるとともに、全国の大学や研究機関はもと より民間企業やさまざまな社会活動との連携・協力を重視した 運営を行っています。民間企業出身の研究者も在籍しており、 民間企業との共同研究も多く行われています。
  33. 33. Copyright (C) 2013 National Institute of Informatics, All rights reserved. 33 とっぷえすいーってなあに?  トップエスイー  http://www.topse.jp/  講演者が国立情報学研究所GRACEセンターの一員として運 営に参加しているソフトウェア工学の社会人向け教育プログラ ム「トップエスイー」は、ソフトウェアシステム構築の現場で強力 なツール類を十分利用できる”スーパーアーキテクト”を育成 するために創設されました。先端的な教材を基に、ソフトウェア 産業における次世代リーダの育成を行っています。モデル検 査などソフトウェアの設計を検証する技術も学ぶことができま す。これまで7期189名の修了生を輩出しており、講演者も2期 生として修了制作「FDRによるRPGシナリオの検証」で優秀賞 を獲得しています。

×