Your SlideShare is downloading. ×
  • Like
レイトン教授で始めるAlloy Analyzer入門
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

レイトン教授で始める Alloy Analyzer入門

  • 5,122 views
Published

8/15にgeekbarで使った資料です。 …

8/15にgeekbarで使った資料です。
Alloyのコードは下記エントリーをご覧ください。
http://d.hatena.ne.jp/osiire/20110829

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,122
On SlideShare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
20
Comments
0
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. レイトン教授で始める Alloy Analyzer入門 2011年8月15日 有限会社ITプランニング 小笠原 啓
  • 2. アジェンダAlloy Analyzerのご紹介Alloyって何ができるの?レイトン教授の例題まとめ
  • 3. Alloy Analyzerのご紹介
  • 4. Alloy AnalyzerとはAlloy AnalyzerはMITで開発されたオープンソース(MITライセンス)のJava製GUI付き仕様記述・検証ツール。B, Z, VDMのようなツールは仲間。2006年頃から公開されており、Version 4で解析速度向上、文法のブラッシュアップ。2011年8月現在Version 4.1.10が最新(4.2 RCあり)。 開発者のDaniel Jackson@MIT
  • 5. Alloy Analyzerの検証は全自動簡素な言語で仕様を記述すると、その仕様を満たす状態を検索して図示してくれる(モデルファインダー)。検証したい性質を記述すると、その性質が満たされるかどうか全自動でチェックしてくれる。
  • 6. 小スコープ仮説全自動チェックにはスコープ(チェックする範囲)があり有限。それでも多くの設計がチェックできる。(小スコープ仮説) 探索空間とAlloyのスコープ(イメージ)
  • 7. デモ:Alloy Analyzer
  • 8. Alloyって何が嬉しいの?どういう時に使えるの?
  • 9. 正しいAlloyの使い方データモデリング正確なER図の記述と図示。設計書への添付。ビジネスの仕組みの記述曖昧性の早期発見。明確な意思疎通。手続きの検証アルゴリズム・プロトコルの設計・検証。
  • 10. 今日はAlloyの真の姿を ご紹介します。
  • 11. SATソルバー呼び出し器
  • 12. satisfiability problem略してSAT。充足可能性問題。要するに、特定の組わせが希望の条件を満たすかどうかを調べる、組合せ問題。組み合わせて試してみるしか有効な解法が知られていない。NP完全問題。SATを高速に解いてくれるのがSATソルバー。
  • 13. SATソルバーを使うのは大変SATソルバーは強力だが、使うのが面倒だった。1. 自分の解きたい問題をSATにエンコード。2. 乗法標準形への変換。3. SATソルバーへ。4. 出てきた充足解をデコード。5. デコードされた解の意味を理解。
  • 14. Alloy Analyzerなら簡単な言語で問題を記述するだけでSATソルバーを呼び出し可能。 しかも、見つかった解を 図示までしてくれる。
  • 15. 実演してみましょう
  • 16. そこでレイトン教授
  • 17. 悪魔の箱、面白かったです
  • 18. 問題No.50 5頭の牛がいる。うち2頭は本当 の事しか言わないトンホー種。3 頭はウソしか言わないソーウ種だ という。さて、次の会話からウソ つき牛に×印をつけてほしい。 A「Dはソーウ種だね」 B「Cはトンホー種じゃないよ」 C「Aはソーウ種じゃない」 D「Eはソーウ種です」 E「Bはトンホー種じゃないぞ」
  • 19. 問題No.39 Aは赤、Bは青、Cは白のシャツとズ ボンを着ていた。彼らに目隠しを して服をデタラメに取り替えさせ てから目隠しをはずして感想を聞 いてみた。 A「3人とも上下の色がバラバラだ ね。」 B「Cだけは自分のものを着てない な。」 C「赤いズボンなんて恥ずかしい よ」
  • 20. 問題No.87 トランプの4種のマーク、ス ペード、ハート、クラブ、ダ イヤを4枚ずつ、全部で16枚 並べる。 図のような縦横4列のカード が置かれている。縦の列、横 の列、対角線のななめの列の それぞれに、4種のカードが 入るように並べてほしい。 カードをタッチすると、絵柄 を切り替えることができる。
  • 21. まとめAlloy AnalyzerはMITで作られたオープンソースの仕様記述・検証ツール。決められたスコープ内での網羅的全自動チェックが可能。正確なデータモデリングの支援、仕様記述による曖昧さの早期発見、複雑な手続きの検証など。正しい使い方。Alloyの真価はSATソルバーを簡単に呼べること。応用方法はアイディア次第。日本語の情報源も登場!始めるには良い時期。
  • 22. 情報源(1):本家サイト http://alloy.mit.edu/alloy4/
  • 23. 情報源(2):コミュニティサ イト http://alloy.mit.edu/community/
  • 24. 情報源(3):チュートリアルhttp://alloy.mit.edu/alloy4/tutorial4/
  • 25. 情報源(4):書籍 抽象によるソフトウェア設計-Alloyではじめる形式手法Daniel Jackson (著), 中島 震 (監訳), 今井 健男 (翻訳), 酒井 政裕 (翻訳),遠藤 侑介 (翻訳), 片岡 欣夫 (翻訳) オーム社
  • 26. 情報源(5):日本のコミュニ ティhttps://groups.google.com/group/alloy-jp?hl=ja/
  • 27. あなたの脳をソルバーで加速!
  • 28. ご清聴ありがとうございました。
  • 29. 関数プログラミング・形式手法 夏のイベント函数プログラミングの Proof Summit CUFP集い http://partake.in/even http://cufp.org/confehttp://partake.in/events/a ts/ac41261d-6026- rencec41261d-6026-4d09-8814- 4d09-8814-5ad3e58446e8 5ad3e58446e8