Riding the Design Wave II

Slides:



Advertisements
Similar presentations
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Advertisements

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための.
関心事指向アーキテクチャモデリング環 境 Concern-oriented Architecture Modeling Environment 九州工業大学大学院情報工学府 情報科学専攻 鵜林研究室 M1 佐藤 友紀 1.
OWL-Sを用いたWebアプリケーションの検査と生成
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
ファイルキャッシュを考慮したディスク監視のオフロード
XHTML構文検証手法における スクリプト要素の静的解析アルゴリズム
クラスタ分析手法を用いた新しい 侵入検知システムの構築
IPマルチキャスト通信とXcast 早稲田大学後藤研究室 Xcast班.
Systems and Software Verification 10. Fairness Properties
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
Research Session 17: Formal Verification
プログラム静的解析手法の効率化と 解析フレームワークの構築に関する研究
アスペクト指向プログラミングを用いたIDSオフロード
アスペクト指向プログラミングと Dependency Injection の融合
IPv6アドレスによる RFIDシステム利用方式
セキュリティ(5) 05A2013 大川内 斉.
型付きアセンブリ言語を用いた安全なカーネル拡張
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
コードクローンに含まれるメソッド呼び出しの 変更度合の分析
コードクローンに含まれるメソッド呼び出しの 変更度合の調査
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
組込みシステムの外部環境分析のためのUMLプロファイル
セキュリティ機構のオフロードを考慮した 仮想マシンのスケジューリング
セキュリティ(6) 05A2013 大川内 斉.
リモートホストの異常を検知するための GPUとの直接通信機構
変数のデータフローを考慮した API利用コード例の検索 井上研究室 竹之内 啓太.
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
機能的関心事を抽出するためのプログラムスライシングの拡張
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
限られた保存領域を使用する Javaプログラムの実行トレース記録手法の 提案と評価
Javaプログラムの変更を支援する 影響波及解析システム
社会シミュレーションのための モデル作成環境
議事録作成支援 Webアプリケーションの開発 リアルタイム通信を用いた合意形成を目指して
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
UMLモデルを対象とした リファクタリング候補検出の試み
コードクローン検出に基づくデザイン パターン適用支援手法の提案と実現
アスペクト指向言語のための 独立性の高いパッケージシステム
Intel SGXを用いた仮想マシンの 安全な監視機構
○ 後藤 祥1,吉田 則裕2 ,井岡 正和1 ,井上 克郎1 1大阪大学 2奈良先端科学技術大学院大学
Java における 先進的リフレクション技術
契約による クラスとアスペクト間の 影響解析
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
モデル検査(5) CTLモデル検査アルゴリズム
コーディングパターンの あいまい検索の提案と実装
プログラムスライスを用いた凝集度メトリクスに基づく 類似メソッド集約候補の順位付け手法
設計情報の再利用を目的とした UML図の自動推薦ツール
保守請負時を対象とした 労力見積のためのメトリクスの提案
アスペクト指向言語のための視点に応じた編集を可能にするツール
プログラムの差分記述を 容易に行うための レイヤー機構付きIDEの提案
Db2 Warehouse on Cloud Db2 on Cloud フルマネージドサービス提案時の注意点
メソッドの同時更新履歴を用いたクラスの機能別分類法
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
プログラム分散化のための アスペクト指向言語
ソースコードの編集状況に応じた ソフトウェア部品の自動推薦システム
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
UMLモデルを対象とした リファクタリング候補検出手法の提案と実現
開発者との対話を活かした 横断的構造の表現
強制パススルー機構を用いた VMの安全な帯域外リモート管理
コードクローン解析に基づく デザインパターン適用候補の検出手法
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
GluonJ を用いたビジネスロジックからのデータベースアクセスの分離
Detecting Software Modularity Violations
ICSE'11勉強会 Riding the Design Wave I セッション
Presentation transcript:

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: 10.1145/1985793.1985852 General terms: Design, Languages, Verification Keywords: Generative programming, architectural conformance 2011/7/5 ICSE2011勉強会 担当者: 市井 誠

概要 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勉強会

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勉強会

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勉強会

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