Presentation is loading. Please wait.

Presentation is loading. Please wait.

Riding the Design Wave II

Similar presentations


Presentation on theme: "Riding the Design Wave II"— Presentation transcript:

1 Riding the Design Wave II
Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications Damien Cassou, Emilie Balland, Charles Consel, and Julia Lawall Proc. ICSE’11 pp. 431— 440, May 2011 doi: / General terms: Design, Languages, Verification Keywords: Generative programming, architectural conformance 2011/7/5 ICSE2011勉強会 担当者: 市井 誠

2 概要 SCC(Sense/Compute/Control)ソフトウェア向けのADL(アーキテクチャ記述言語)の開発
”Interaction contract”の記法を提案 コンポーネント間のデータフロー/制御フローの制約を記述 既存手法で出来なかった「Aは,Bから来たデータに基づきCへ問い合わせ,結果をDへ送る」といった記述を可能にする コード生成による実装支援と,アーキテクチャの検証が可能 既存ADL環境を拡張し,評価 SCCソフトウェア Context operators sensors sense compute environment control control operators actuators 2011/7/5 ICSE2011勉強会

3 SCCの例 Webサーバー監視アプリケーションのADL表記 直感的には自明な流れも, ADL上は,異なる解釈を許してしまう
ログを監視し,不審なアクセスを管理者へメール通知 直感的には自明な流れも, ADL上は,異なる解釈を許してしまう アクセスログ追加を通知 ログ行から抽出したクライアントIPを渡す IPに対応するプロファイルを問い合わせ ホスト名問い合わせ 返答 LDAP情報問い合わせ プロファイルの送信依頼 ログ送信 侵入検知呼出し 侵入通知を依頼 侵入をメール通知 13 10 12 9 11 3 8 2 6 4 1 5 7 出典: D. Cassou et al, “Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications”, Proc. ICSE’11, pp. 431— 440, May 2011 2011/7/5 ICSE2011勉強会

4 Interaction Contract Context operatorに関するの3つ組の記述 コード生成による実装支援
push元・pull先・pushの有無 コード生成による実装支援 記述されたインタラクションに対し, 抽象メソッドと,その呼出しコードを生成 アーキテクチャの検証 データの到達性検証 時相論理式の検証 「AccessLogReaderからlineがpushされたときはいつでも,ProfileLoggerがいつか呼ばれる Lineからpushされ,常にpushする AccessLogParserからpushされ,IP2Profileをpullし,常にpushする Pullされるのみで,ip2hostとhost2profileをpullする AccessingProfileからpullされ,条件次第でpushする 出典: D. Cassou et al, “Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications”, Proc. ICSE’11, pp. 431— 440, May 2011 2011/7/5 ICSE2011勉強会

5 評価 SCC向けADL “DiaSpec” と,そのツールDiaSuiteを拡張 学生実験による既存DiaSuiteの評価(欠点)
アーキテクチャの解釈が分かれ,設計者の意図と異なる実装となる 不必要なスケルトンコードが生成され,実装すべき箇所の判断が必要 検証が限定的 Interaction contractの有無の比較実験 コード量: ADL記述量はやや増えるが,自動生成コードが増え手作業コーディング量は減る コード品質(CodeSonerで計測): 自動生成コードによりプログラミングがガイドされるため,高品質 2011/7/5 ICSE2011勉強会


Download ppt "Riding the Design Wave II"

Similar presentations


Ads by Google