Aluminum: Principled Scenario Exploration through Minimality
Post on 20-Jul-2015
394 Views
Preview:
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
列挙の比較
top related