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

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

on

  • 5,003 views

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

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

Statistics

Views

Total Views
5,003
Views on SlideShare
3,991
Embed Views
1,012

Actions

Likes
7
Downloads
19
Comments
0

9 Embeds 1,012

http://d.hatena.ne.jp 898
https://twitter.com 101
http://a0.twimg.com 5
http://webcache.googleusercontent.com 3
http://paper.li 1
http://www.slideshare.net 1
http://translate.googleusercontent.com 1
http://131.253.14.98 1
http://www.google.co.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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