デスクトップ検索システムを用いた Javaソフトウェア部品リポジトリの 自動更新機能の実現 ○市井 誠†,木村 和正‡, 松下 誠† ,井上 克郎† †大阪大学 大学院情報科学研究科 ‡大阪大学 基礎工学部 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 1 Javaソフトウェア部品検索システム SPARS-J (1/2) ソフトウェア部品検索 過去に開発されたソフトウェアなどを部品として蓄積・検索 することで,効率的な開発を支援する技術 検索 ソフトウェア資産 ライブラリ部品の 再利用 実装例による 理解支援 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 2 Javaソフトウェア部品検索システム SPARS-J (2/2) 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 3 SPARS-Jの使用形態 サーバー計算機上に設置して公開 再利用を目的に収集した部品を検索 検索 クライアント計算機上で使用 利用者の手元のJava部品を検索 手持ちのライブラリ部品 過去に開発したソフトウェア etc… 検索 本研究ではこちらに注目 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 4 SPARS-Jの裏側 SPARS-Jの検索は部品リポジトリを利用している 大規模なソフトウェア資産からの高速な検索を実現するため 事前に検索対象となるJava部品を登録 ディレクトリを指定するのみであり,登録そのものに手間はかからない Java部品が更新された場合,部品リポジトリも更新する必要がある 部品 登録部 部品リポジ トリ 更新 部品 検索部 利用者 SPARS-J 更新 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 5 部品リポジトリの更新 サーバー計算機上では,部品リポジトリの更新に問題はおきない Java部品は再利用される為に置かれている 更新のタイミングや,置き場所はSPARS-Jの運用にあわせて決定できる クライアント計算機上では,問題が発生する 部品名 A B C 利用者の作業により, 不定期に変更が発生 ローカルディスク 想定しないディレクトリ にJava部品が存在 ファイルパス C:\java\aaa\A.java C:\java\bbb\B.java C:\java\ccc\C.java 頻繁な更新が必要 部品リポジトリ 網羅的な指定が必要 問題点(1) 部品リポジトリの更新にコストがかかる 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 6 関連文書の検索 クライアント計算機上には,Java部品に関連する文書が存在する Java部品のドキュメントや,開発に関するメールなど Java部品を理解する上で有用 SPARS-Jでは検索できない Java部品の ドキュメントなど 他の検索システムの併用が必要 部品名 A B C ローカルディスク ファイルパス C:\java\aaa\A.java C:\java\bbb\B.java C:\java\ccc\C.java 部品リポジトリ 問題点(2) 関連情報の検索にコストがかかる 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 7 研究の目的 クライアント計算機上でSPARS-Jを利用するときのコストの削減 1. 部品リポジトリ更新のコストの削減 部品リポジトリの更新の自動化 2. 関連情報の検索を行うコストの削減 部品と関連情報の同時検索を実現 アプローチ:デスクトップ検索システムの利用 Java部品の ドキュメントなど Java部品の更新 ローカルディスク 想定しないディレクトリ 2006/8/3 内のJava部品 Java部品と同時に検索 自動的に検出・部品リポジトリを更新 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 8 デスクトップ検索システム デスクトップ検索 計算機に保存された様々な種類のファイルを全文検索する技術 本研究では Google Desktop を利用 自動的な索引付け ファイルの更新/追加を検出し,計算機のアイドル時間を利用して索引付け 様々な種類のファイルの検索 プラグインによる機能拡張 索引付け対象のファイルタイプと,対応した処理を追加可能 ウェブ検索結果との統合 サイドバーによる様々な情報へのアクセス etc… 索引DB 監視 クローラー 2006/8/3 ローカルディスク 検索 登録 Google Desktop Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 利用者 SS2006-30 9 方針 (1/3) 部品リポジトリの自動更新 部品の更新/追加を自動的に検知し,部品リポジトリへ登録 利用者の作業の邪魔にならないように処理 Google Desktopのクローラーを利用し,SPARS-Jの部品 リポジトリを更新する Javaファイルの登録を行うプラグインを作成 監視 通知 クローラー 更新 ローカルディスク 更新 Java部品 プラグイン SPARS-J 部品リポジトリ Google Desktop 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 10 方針 (2/3) プラグインの処理で部品リポジトリを更新すると効率が悪い プラグインでは,1ファイル単位での処理しかできない 部品登録が一通り完了した時点で行う,後処理が必要 利用関係の解決など Google Desktopの外に,実際の登録を行うサブシステムを作成 プラグインからJava部品を受け取り,部品リポジトリに登録 利用関係解決などの後処理 登録 Java部品 プラグイン 送信 登録用サブ システム SPARS-J 部品リポジトリ 後処理 Google Desktop 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 11 方針 (3/3) 部品と関連情報の同時検索 Google Desktopにより,様々な文書を同時に検索できるが,Java部 品に関する情報があまり得られない 規定の動作では,ファイルは関連付けられたアプリケーションで表示される SPARS-Jにより,部品の理解に必要な詳細な情報を得ることができる が,Java部品のみしか検索できない Google Desktopの検索結果から,SPARS-Jの部品表示部を利用 する ファイルの表示処理をフックし,SPARS-Jを利用するプラグインを作成 検索 表示 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 12 SPARS Desktop: 実装したシステム(1/3) システム構成 登録部からJava部品を受け取 り,部品リポジトリに登録 部品リポジトリ クローラーが検出した Java部品をSPARS-Jへ 渡す Google Desktop プラグ インとして実装 検索部 TCP/IP通信をおこなうサー バーとして実装 登録サー バー 登録部 SPARS-J 表示部 SPARS Google DesktopDesktopの検索結果画 面の表示動作をフックし,Java 検索部 部品をSPARS-Jで表示する. クロー ローカルディスク 2006/8/3 ラー Google Desktopプラグインとし Google Desktop て実装 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 利用者 SS2006-30 13 SPARS Desktop: 実装したシステム(2/3) 登録時の流れ 検索部 部品リポジトリ Java部品の登録 登録の後処理 登録サー バー SPARS-J 送信 登録部 表示部 SPARS Desktop 更新を検知 ローカルディスク クロー ラー 検索部 Google Desktop 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 利用者 SS2006-30 14 SPARS Desktop: 実装したシステム(3/3) 検索時の流れ 検索部 部品リポジトリ 登録サー バー 登録部 SPARS-J 表示部 Java部品情報 SPARS Desktop 検索結果 ローカルディスク クロー ラー 検索部 Google Desktop クエリ 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 利用者 SS2006-30 15 適用事例 – 概要 目的 クライアント計算機上のJava ることの確認 部品の検索にかかる作業コストが軽減され 方針 SPARS Desktop 導入時,未導入時の作業工程の比較 リポジトリの更新 関連情報の取得 未導入時:SPARS-J,Google Desktop はそれぞれ利用可 シナリオ Java言語でのTelnetプロトコルの実装についての情報を得ることを目的 に検索 Telnet関係のJava部品を入手し,ファイルシステム上に展開した状態か ら開始 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 16 適用事例 – リポジトリの更新(未導入時) Javaファイルを展開 SPARS-J を起動 登録作業の発生 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 17 適用事例 – リポジトリの更新(導入時) Javaファイルを展開 作業を続行 SPARS Desktop が 自動的にリポジトリへ の登録処理を行う 登録作業は不要 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 18 適用事例 – 関連情報の取得(未導入時) 関連情報 関連する部品などの,詳しい情報が欲しい Java 部品 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 19 適用事例 – 関連情報の取得(未導入時) パッケージ 情報 利用関係に ある部品 部品間の関連を含めた 詳細な部品情報 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 20 適用事例 – 関連情報の取得(未導入時) 検索開始 結果一覧 関連情報 余分な作業が発生 Java部品(不十分) Java部品の再検索 Java部品(詳細な情報) 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 21 適用事例 – 関連情報の取得(導入時) 関連情報 パッケージ 情報 利用関係に ある部品 Java ファイル ワンクリックで詳細な情報を取得 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 22 適用事例 – 関連情報の取得(導入時) 検索開始 結果一覧 関連情報 Java部品(詳細な情報) 余分な作業が除去されている 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 23 適用事例 – まとめ 登録作業 リポジトリの更新作業の自動化 利用者の更新作業を除去 登録漏れの防止 検索作業 関連情報の取得にかかる作業の統合 余分な作業を除去 SPARS Desktopにより,クライアント計算機上のJava 部 品の検索にかかる作業コストを削減 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 24 まとめ デスクトップ検索システム Google Desktop を利用して以下を実現 ソフトウェア部品検索システム SPARS-J のためのリポジトリ自動 更新機能 Java部品と関連情報の同時検索 Java 適用事例により,利用者の作業コストが削減されることを確認 今後の課題 SPARS-Jにおける順位付けの反映 SPARS-Jでは,部品間の利用関係に基づく順位付けをおこなっている 現状では,Google Desktopのプラグインは検索結果の順位付けに関与で きない 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 25 デモ 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 26 2006/8/3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University SS2006-30 27
© Copyright 2024 ExpyDoc