Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Aluminum: Principled Scenario Exploration through Minimality

1.011 Aufrufe

Veröffentlicht am

ICSE'13勉強会 http://qwik.jp/se-reading/9.html での論文紹介

Veröffentlicht in: Technologie
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

Aluminum: Principled Scenario Exploration through Minimality

  1. 1. 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
  2. 2. 背景 • 背景 – 高レベルの仕様記述に対して「シナリオ」(=具体例)を 探索・生成するAlloyなどのツール – シナリオの利点 • システム設計者が、その設計の帰結、見落としていた制約、 代替的なデザインなどを検討するのを助ける • 具体的なので分かりやすく、現実に対応させやすい。 • 論理学等に詳しくない、ドメインの専門家にも理解可能 • 課題 – 複数あるシナリオから、どんなシナリオをどんな順で 提示するべきか? – 小さいシナリオはしばしば病的で、微妙な問題を明ら かにすることが多い – ⇒ 小さいシナリオから提示するように出来ないか? F1
  3. 3. 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) より抜粋
  4. 4. F1複数シナリオの列挙 図は Aluminum: Principled Scenario Exploration through Minimality (by Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, Shriram Krishnamurthi) より抜粋 … Next Next Next
  5. 5. Alloy を変更し Aluminum を実装 機能 1. GenerateMin – 極小なシナリオの生成・列挙 (関係からタプルを一つでも取り 除くと、制約を満たさなくなる) 2. Augment – シナリオを、関係にタプルを追 加することでユーザが拡張 3. ConsistentTuples – シナリオに対し、関係に追加可 能なタプルを計算 F1 シナリオ探索の スタートポイント 余計なものを含ま ない、シナリオの 本質に注目! 対話的探索! 「制約を追加して 再探索」という コンテキストス イッチを減らす
  6. 6. 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 列挙の比較
  7. 7. • アルゴリズムは素直 – SATレベルでの制約の順次追加による極小化など – ただし、Symmetry-Breakingは極小化との相互作用の 問題から、Alloy(KodKod)と別のヒューリスティクス を採用 • 実験を通じた観察 – Alloyは特定の極小シナリオの上位のシナリオばかり を列挙し、それ以外を数百回以上も出さないことが 多い – それまでにユーザが探索をやめてしまい、重要・危 険なシナリオを見逃す危険性 – Aluminumはシナリオ空間の本質をユーザに早く見 せる • 性能への影響はあまりなし F1

×