Aluminum: Principled Scenario Exploration through Minimality

Post on 20-Jul-2015

394 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

Transcript

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

top related