Aluminum: Principled Scenario
Exploration through Minimality
酒井 政裕
2013-07-09
ICSE2013 勉強会
The background image is from http://images-of-elements.com/.
The image is licensed under a Creative Commons Attribution 3.0 Unported License.
F1
by Tim Nelson, Salman Saghafi, Daniel J. Dougherty,
Kathi Fisler, Shriram Krishnamurthi @ ICSE 2013
背景
• 背景
– 高レベルの仕様記述に対して「シナリオ」(=具体例)を
探索・生成するAlloyなどのツール
– シナリオの利点
• システム設計者が、その設計の帰結、見落としていた制約、
代替的なデザインなどを検討するのを助ける
• 具体的なので分かりやすく、現実に対応させやすい。
• 論理学等に詳しくない、ドメインの専門家にも理解可能
• 課題
– 複数あるシナリオから、どんなシナリオをどんな順で
提示するべきか?
– 小さいシナリオはしばしば病的で、微妙な問題を明ら
かにすることが多い
– ⇒ 小さいシナリオから提示するように出来ないか?
F1
Alloyの例 F1
abstract sig Subject {}
sig Student extends Subject {}
sig Professor extends Subject {}
sig Class {
TAs: set Student,
instructor: one Professor
}
sig Assignment {
forClass: one Class,
submittedBy: some Student
}
pred PolicyAllowsGrading(s: Subject,
a: Assignment) {
s in a.forClass.TAs or
s in a.forClass.instructor
}
pred WhoCanGradeAssignments() {
some s : Subject | some a: Assignment |
PolicyAllowsGrading[s, a]
}
run WhoCanGradeAssignments for 3 コードと図は Aluminum: Principled Scenario Exploration through
Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi
Fisler, Shriram Krishnamurthi) より抜粋
F1複数シナリオの列挙
図は Aluminum: Principled Scenario Exploration through Minimality (by
Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram
Krishnamurthi) より抜粋
…
Next
Next
Next
Alloy を変更し Aluminum を実装
機能
1. GenerateMin
– 極小なシナリオの生成・列挙
(関係からタプルを一つでも取り
除くと、制約を満たさなくなる)
2. Augment
– シナリオを、関係にタプルを追
加することでユーザが拡張
3. ConsistentTuples
– シナリオに対し、関係に追加可
能なタプルを計算
F1
シナリオ探索の
スタートポイント
余計なものを含ま
ない、シナリオの
本質に注目!
対話的探索!
「制約を追加して
再探索」という
コンテキストス
イッチを減らす
F1
図は Aluminum: Principled Scenario Exploration through Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram
Krishnamurthi) より抜粋
Alloy
Aluminum
Next Next
Next Next
列挙の比較
• アルゴリズムは素直
– SATレベルでの制約の順次追加による極小化など
– ただし、Symmetry-Breakingは極小化との相互作用の
問題から、Alloy(KodKod)と別のヒューリスティクス
を採用
• 実験を通じた観察
– Alloyは特定の極小シナリオの上位のシナリオばかり
を列挙し、それ以外を数百回以上も出さないことが
多い
– それまでにユーザが探索をやめてしまい、重要・危
険なシナリオを見逃す危険性
– Aluminumはシナリオ空間の本質をユーザに早く見
せる
• 性能への影響はあまりなし
F1

Aluminum: Principled Scenario Exploration through Minimality

  • 1.
    Aluminum: Principled Scenario Explorationthrough Minimality 酒井 政裕 2013-07-09 ICSE2013 勉強会 The background image is from http://images-of-elements.com/. The image is licensed under a Creative Commons Attribution 3.0 Unported License. F1 by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi @ ICSE 2013
  • 2.
    背景 • 背景 – 高レベルの仕様記述に対して「シナリオ」(=具体例)を 探索・生成するAlloyなどのツール –シナリオの利点 • システム設計者が、その設計の帰結、見落としていた制約、 代替的なデザインなどを検討するのを助ける • 具体的なので分かりやすく、現実に対応させやすい。 • 論理学等に詳しくない、ドメインの専門家にも理解可能 • 課題 – 複数あるシナリオから、どんなシナリオをどんな順で 提示するべきか? – 小さいシナリオはしばしば病的で、微妙な問題を明ら かにすることが多い – ⇒ 小さいシナリオから提示するように出来ないか? F1
  • 3.
    Alloyの例 F1 abstract sigSubject {} sig Student extends Subject {} sig Professor extends Subject {} sig Class { TAs: set Student, instructor: one Professor } sig Assignment { forClass: one Class, submittedBy: some Student } pred PolicyAllowsGrading(s: Subject, a: Assignment) { s in a.forClass.TAs or s in a.forClass.instructor } pred WhoCanGradeAssignments() { some s : Subject | some a: Assignment | PolicyAllowsGrading[s, a] } run WhoCanGradeAssignments for 3 コードと図は Aluminum: Principled Scenario Exploration through Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi) より抜粋
  • 4.
    F1複数シナリオの列挙 図は Aluminum: PrincipledScenario Exploration through Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi) より抜粋 … Next Next Next
  • 5.
    Alloy を変更し Aluminumを実装 機能 1. GenerateMin – 極小なシナリオの生成・列挙 (関係からタプルを一つでも取り 除くと、制約を満たさなくなる) 2. Augment – シナリオを、関係にタプルを追 加することでユーザが拡張 3. ConsistentTuples – シナリオに対し、関係に追加可 能なタプルを計算 F1 シナリオ探索の スタートポイント 余計なものを含ま ない、シナリオの 本質に注目! 対話的探索! 「制約を追加して 再探索」という コンテキストス イッチを減らす
  • 6.
    F1 図は Aluminum: PrincipledScenario Exploration through Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi) より抜粋 Alloy Aluminum Next Next Next Next 列挙の比較
  • 7.
    • アルゴリズムは素直 – SATレベルでの制約の順次追加による極小化など –ただし、Symmetry-Breakingは極小化との相互作用の 問題から、Alloy(KodKod)と別のヒューリスティクス を採用 • 実験を通じた観察 – Alloyは特定の極小シナリオの上位のシナリオばかり を列挙し、それ以外を数百回以上も出さないことが 多い – それまでにユーザが探索をやめてしまい、重要・危 険なシナリオを見逃す危険性 – Aluminumはシナリオ空間の本質をユーザに早く見 せる • 性能への影響はあまりなし F1