JP4403754B2 - ソフトウェアコンポーネント情報検索システム,方法,およびプログラム - Google Patents

ソフトウェアコンポーネント情報検索システム,方法,およびプログラム Download PDF

Info

Publication number
JP4403754B2
JP4403754B2 JP2003302638A JP2003302638A JP4403754B2 JP 4403754 B2 JP4403754 B2 JP 4403754B2 JP 2003302638 A JP2003302638 A JP 2003302638A JP 2003302638 A JP2003302638 A JP 2003302638A JP 4403754 B2 JP4403754 B2 JP 4403754B2
Authority
JP
Japan
Prior art keywords
input
output
metadata
component
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003302638A
Other languages
English (en)
Other versions
JP2005071221A (ja
Inventor
清一 小泉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003302638A priority Critical patent/JP4403754B2/ja
Publication of JP2005071221A publication Critical patent/JP2005071221A/ja
Application granted granted Critical
Publication of JP4403754B2 publication Critical patent/JP4403754B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明はソフトウェアコンポーネント情報検索システム,方法,およびプログラムに関し、特にソフトウェアコンポーネントに付随する構造化文書(XMLなど)に対する検索の精度を向上させるソフトウェアコンポーネント情報検索システム,方法,およびプログラムに関する。
コンポーネント指向ソフトウェア開発において、ユーザの要求に合致するソフトウェアコンポーネントを検索する機構は不可欠である(ここでいうソフトウェアコンポーネントとは、Java(登録商標)のクラス,CORBAのIDLに対応するオブジェクト,WebサービスのWSDLに対応するサービス,ポータル構築用のポートレット等のような再利用対象を想定している)。
ソフトウェアコンポーネント本体はバイナリデータまたはインスタンスのため、そのまま検索対象とすることが難しいが、ソフトウェアコンポーネントに関するメタデータとしてXML等の構造化文書を関連付けておき、そのメタデータを検索することによりソフトウェアコンポーネントの検索を実現するものが存在する。
この中で、キーワード検索手法は、ソフトウェアコンポーネントの名前や解説をキーワード検索の対象とする。たとえば、Java(登録商標)のJava(登録商標)docを検索対象とし、パッケージ・クラス・メソッドを検索単位とする検索手法がある(非特許文献1参照。)。また、他の例として、種々のクラスの検索機能もある(特許文献1参照)。
また、仕様記述手法は、検索条件としてソフトウェアコンポーネントの部分的な仕様を記述し、それを利用する。たとえば、ソフトウェアコンポーネント本体とともに、機能およびインタフェースに関する形式的な仕様をカタログ情報としてリポジトリに保存し、仕様の記述に基づいて検索する(非特許文献2参照)。
また、類似度手法は、ソフトウェアコンポーネント間の類似性を用いて検索する。たとえば、類似性を示す特徴としてオブジェクト指向言語のクラス継承関係を用いる手法がある(非特許文献3参照。)。
さらに、型情報手法は、ソフトウェアコンポーネントの入出力の型情報を基に検索を行う(たとえば、非特許文献4参照。)。
特開平10−063486号公報(第2〜3頁,図1)
プロシ−ディングス オブ ザ フォーティーンス インターナショナル カンファレンス オン ソフトウェア エンジニアリング アンド ナレッジ エンジニアリング,57−64頁,2002年(Proceedings of the 14th international conference on Software engineering and knowledege engineering,pp57−64,2002) プロシーディングス 2000 オーストラリアン ソフトウェア エンジニアリング カンファレンス,107−117頁,2000年4月(Proceedings 2000 Australian Software Engineering Conference,pp107−117,2000,April) プロシーディングス オブ ザ セブンス インターナショナル カンファレンス オン ソフトウェア エンジニアリング アンド ナレッジ エンジニアリング,387−394頁,1994年6月(Proceedings of the 7th international conference on Software engineering and knowledge engineerinng,pp387−394,1994,june) エーシーエム トランザクションズ オン ソフトウェア エンジニアリング アンド メソドロジー,第4巻,第2号,146−170頁(ACM Transactions on Software Engineering and Methodology(TOSEM)Volume4,Issue2,pp.146−170,April,1995)
上記のような従来のソフトウェアコンポーネント検索方法は、次の問題を有している。
第一の問題点は、適切な検索単位に対する検索が行えないということである。
その理由は、既存の技術の検索単位(たとえば、Java(登録商標)のPackage,Class,methodというように、コンポーネントのメタデータが持つ構造からそのまま切り出すことのできる単位)の粒度と、ユーザが求めている「『入力』を受け取る→『処理』を行う→『出力』する」という流れの『機能』の検索単位(たとえばJava(登録商標)を対象に考えると、機能に相当する検索単位は、「メソッドの情報+引数の情報+返り値の情報」)の粒度が異なっているからである。
第二の問題点は、適切な検索単位に対して検索を行うにしても、検索単位内の有用な情報を利用していないということである。
その理由の1つとして、処理・入力・出力間の関連を活用していないという点が挙げられる。たとえば、「あるメソッドが用いている引数は、他のメソッドからどの程度利用されているか」といった情報を利用することにより検索精度の向上が見込めるが、そのような情報を利用する枠組みが提供されていない。
本発明の目的は、上記のような問題点を改善するために、ユーザの要求に沿って手順の流れの機能を検索単位として検索を行い、処理からの入力・出力の共有利用度合いを有効活用することにより、検索精度を向上させるソフトウェアコンポーネント情報検索システム,方法,およびプログラムを提供することにある。
本発明のソフトウェアコンポーネント情報検索システムは、ユーザの要求に沿った「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位としてメタデータを格納するメタデータ格納手段と、その機能の検索を実行するメタデータ検索手段とを有することを特徴とする。
さらに、上記のメタデータ格納手段は、入力されたメタデータの構文解析を行うメタデータ構文解析手段と、前記メタデータの解析結果からユーザの要求に沿った「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位としたデータ構造を作り出すデータ構造生成手段と、前記データ構造をDB(データベース)に格納するための問合せを生成する格納命令生成手段と、前記問合せを実行する格納操作実行手段と、各入力・出力の共有度を計算する共有度測定・登録手段と、機能単位の検索を実現するための検索インデックスを作成する検索インデックス作成・登録手段とを具備することを特徴とする。
さらに、上記のメタデータ検索手段は、検索式に対して構文解析を行う検索式解析手段と、前記検索式の解析結果から問合せを生成する問合せ生成手段と、検索インデックスおよびDBに対して前記問合せを実行し,キーワード検索結果の類似度および各入力・出力の共有度を利用して問合せ結果を生成する問合せ実行手段と、前記問合せ結果を表示出力として生成する検索結果生成手段とを具備することを特徴とする。
また、本発明のソフトウェアコンポーネント情報検索方法は、ユーザの要求に沿った「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位としてメタデータを格納し、その機能の検索を実行することを特徴とする。
さらに、本発明のソフトウェアコンポーネント情報検索方法は、前記メタデータを格納する際に、入力されたメタデータの構文解析を行い、前記メタデータの解析結果からユーザの要求に沿った「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位としたデータ構造を作り出し、前記データ構造をDBに格納するための問合せを生成し、前記問合せを実行し、各入力・出力の共有度を計算し、機能単位の検索を実現するための検索インデックスを作成することを特徴とする。
さらに、本発明のソフトウェアコンポーネント情報検索方法は、前記検索を実行する際に、検索式に対して構文解析を行い、前記検索式の解析結果から問合せを生成し、検索インデックスおよびDBに対して前記問合せを実行し、キーワード検索結果の類似度および各入力・出力の共有度を利用して問合せ結果を生成し、前記問合せ結果を表示出力として生成することを特徴とする。
また、本発明のプログラムは、ユーザの要求に沿った「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位としてメタデータを格納する手順と、その機能の検索を実行する手順とをコンピュータに実行させることを特徴とする。
さらに、上記のメタデータを格納する手順は、入力されたメタデータの構文解析を行う手順と、前記メタデータの解析結果からユーザの要求に沿った「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位としたデータ構造を作り出す手順と、前記データ構造をDBに格納するための問合せを生成する手順と、前記問合せを実行する手順と、各入力・出力の共有度を計算する手順と、機能単位の検索を実現するための検索インデックスを作成する手順とをコンピュータに実行させるためのプログラムであることを特徴とする。
さらに、上記の検索を実行する手順は、検索式に対して構文解析を行う手順と、前記検索式の解析結果から問合せを生成する手順と、検索インデックスおよびDBに対して前記問合せを実行する手順と、キーワード検索結果の類似度および各入力・出力の共有度を利用して問合せ結果を生成する手順と、前記問合せ結果を表示出力として生成する手順とをコンピュータに実行させるためのプログラムであることを特徴とする。
すなわち、本発明では、ソフトウェアコンポーネントに付随する構造化文書(XML等,以下、メタデータ)の構造を解析し、「『入力』を受け取る→『処理』を行う→『出力』する」という『機能』ごとに、たとえば、コンポーネント自体のメタデータ・入力のメタデータ・処理のメタデータ・出力のメタデータという4種の情報(たとえば、Java(登録商標)を対象に考えると、クラスの情報・引数の情報・メソッドの情報・返り値の情報)を取り出す。この4種のメタデータで構成された機能情報を検索対象とすることによって、検索精度を向上させる。
また、この4種のメタデータそれぞれをノードとし、
・あるコンポーネントとそのコンポーネントに含まれる処理との関連
・ある処理とその処理の入力との関連
・ある処理とその処理の出力との関連
をエッジとして見るとグラフ構造を成している。
このグラフ構造において、処理と入力・出力間の関連の数は、入力・出力のメタデータがどの程度共有利用されているかを示す。この共有利用度合い(以下、共有度)を、キーワード検索後の適合度に掛けることにより、検索精度を向上させる。
以上、詳細に説明したように、本発明は次の効果を奏する。
第一の効果は、「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位とした検索を実現することにより、ユーザの意図に沿った検索を実現することができる。
第二の効果は、処理からの入力・出力の共有度を利用することにより、検索精度の向上を実現することができる。
以下、本発明について図面を参照しながら説明する。
図1は本発明の実施の一形態を示す構成図である。同図において、本発明によるソフトウェアコンポーネント情報検索システム100は、ユーザの要求に沿った「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位としてメタデータを格納するメタデータ格納手段200と、その機能の検索を実行するメタデータ検索手段300とを有する。
上記のメタデータ格納手段200は、入力されたメタデータの構文解析を行うメタデータ構文解析手段201と、前記メタデータの解析結果からユーザの要求に沿った「入力を受け取る→処理を行う→出力する」という流れの「機能」を検索単位としたデータ構造を作り出すデータ構造生成手段202と、前記データ構造をDBに格納するための問合せを生成する格納命令生成手段203と、前記問合せを実行する格納操作実行手段204と、各入力・出力の共有度を計算する共有度測定・登録手段205と、機能単位の検索を実現するための検索インデックスを作成する検索インデックス作成・登録手段206とを具備する。
また、上記のメタデータ検索手段300は、検索式に対して構文解析を行う検索式解析手段301と、前記検索式の解析結果から問合せを生成する問合せ生成手段302と、検索インデックスおよびDBに対して前記問合せを実行し,キーワード検索結果の類似度および各入力・出力の共有度を利用して問合せ結果を生成する問合せ実行手段303と、前記問合せ結果を表示出力として生成する検索結果生成手段304とを具備する。
なお、具体的な動作形態では、入力装置400,出力装置500,DBMS(データベース管理システム)600,およびDB700を備える。
引き続いて図1を参照すると、メタデータ構文解析手段201は、入力装置400から入力されたメタデータに対する操作を可能にするために、メタデータの構文解析を行い、解析結果をデータ構造生成手段202に渡す。
データ構造生成手段202は、メタデータの解析結果から、
(1)コンポーネントの名前と解説
(2)各処理の名前と解説
(3)各機能の入力・出力の名前と解説
(4)(1)〜(3)それぞれのリンク
という4種の情報を取り出すことによって、このシステムのデータ構造を生成する。これら4種の情報は、格納命令生成手段203に渡される。
格納命令生成手段203は、前述の4種の情報をDB700に格納するための問合せを生成し、格納操作実行手段204に渡す。
格納操作実行手段204は、問合せを実行し、DBMS600経由で4種の情報をDB700に格納する。
共有度測定・登録手段205は、DB700中のリンク情報より、「どの入力・出力がどれだけの処理から利用されているか」という意味を持つ各入力・出力の共有度を計算し、DB700中の入力・出力の情報を更新する。
検索インデックス作成・登録手段206は機能を検索単位としたキーワード検索を実現する検索インデックスを作成し、検索インデックス格納部800に格納する。
検索式解析手段301は、入力装置400から入力されるソフトウェアコンポーネント情報に対する検索式の構文解析を行い、解析結果を問合せ生成手段302に渡す。
問合せ生成手段302は、検索式解析結果から検索インデックスに対する問合せを生成し、問合せ実行手段303に渡す。
問合せ実行手段303は、検索インデックス格納部800より検索インデックスを取り出し、問合せを実行し、機能IDと類似度のリストを受け取る。また、DB700に対して機能IDを検索キーとした問合せを出し、結果集合を受け取る。そして、入力された検索式に対する問合せ結果を生成し、検索結果生成手段304に渡す。
検索結果生成手段304は、問合せ結果より表示用結果を生成し、出力装置500に渡す。
図2はメタデータ格納手段の処理手順を示す流れ図である。
まず、メタデータ格納手段は、あるソフトウェアコンポーネントのメタデータを入力として受け取り、メタデータ構文解析手段201で構文解析を行い、構文解析木を作り出す。これにより、メタデータ中の部分メタデータ(たとえば、処理の名前・解説といったメタデータ)の取り出しといった操作ができるようになる。この構文解析処理には、既存の構文解析技術を利用できる(S21)。
次に、データ構造生成手段202は、構文解析木より
(1)コンポーネントのメタデータ
(2)各処理のメタデータ
(3)各機能の入力・出力のメタデータ
(4)(1)〜(3)それぞれの間のリンク
という4種の情報を取り出すことによって、このシステムのデータ構造を生成する(S22)。
次に、格納命令生成手段203は、上記(1)〜(4)の情報をDB700に格納するための問合せを生成する(S23)。
次に、格納操作実行手段204は、問合せを実行し、メタデータの格納を行う(S24)。
メタデータをDB700に格納した後、共有度測定・登録手段205は、DB700中のリンク情報より各入力・出力が処理からどの程度共有されているかをカウントすることにより共有度を測定し、DB700中の各入力・出力の共有度の情報を更新する(S25)。
次に、検索インデックス作成・登録手段206は、機能単位における類似度を用いたキーワード検索を実現するため、各機能単位の名前(コンポーネント名・処理名・入力名・出力名)・解説情報(コンポーネント・処理・入力・出力それぞれの解説)を基に、検索できるインデックスを生成する。この検索インデックスの生成には、既存の検索インデックス生成技術を利用できる(S26)。
上記の検索インデックスは、検索インデックス格納部800に格納される。
図3はメタデータ検索手段の処理手順を示す流れ図である。
まず、メタデータ検索手段は、キーワード検索式(ブール演算子,検索キーワード,ワイルドカード等によって記述されたもの)を入力として受け取り、検索式解析手段301を用いて構文解析を行い、構文解析木を作り出す(S31)。
次に、問合せ生成手段302は、構文解析木より検索条件の適用順序等を決め、検索インデックス用の問合せを生成する(S32)。
次に、問合せ実行手段303は、検索インデックスに対して問合せを実行し、機能のIDと類似度が組となったリストを受け取る。この検索式を解析する部分から検索インデックスを検索する部分までは既存の検索エンジン技術を利用できる。続いて、このリスト中のIDを基にDB700より各機能に関するメタデータを取り出す。このとき、格納時に計算した各入力・出力の共有度と類似度の積を新たな適合度とし、ソートを行う。これにより、共有度を検索結果に反映させることができる(S33)。
次に、検索結果生成手段304は、メタデータの集合と適合度より、検索結果リストを生成し、出力装置に渡す(S34)。
次に、上記のソフトウェアコンポーネント情報検索システム100の動作について、具体的に説明する。
今、図4に示すコンポーネントのメタデータが格納データとして入力されたとする(ここではメタデータの形式をXML文書としたが、意図的に同等のものであれば、他の形式でも良い)。
メタデータ構文解析手段201はメタデータの構文解析を行う。この解析手段としては既存のXMLパーサ等を利用できる。
この構文解析結果より、データ構造生成手段202は、図6に示すデータ構造を生成する。
このデータ構造は、各コンポーネントのメタデータ(名前・解説等)の集合,処理のメタデータの集合,入出力のメタデータの集合という3種の集合と、
・あるコンポーネントとそのコンポーネントに含まれる処理との関連
・ある処理とその処理の入力・出力との関連
という2種類の関連を示すリンクを持つ。
このとき、図6の点線で囲われた部分グラフのように、処理を中心に”コンポーネント−処理−入力・出力”をつなげたものをこのシステムでは検索単位として利用する。
続いて格納命令生成手段203が、図6の情報をDB700に格納するための問合せを生成し、格納操作実行手段204がこの問合せを実行する。
DB700内では、図7〜図10に示すように格納される(ここではRDBのリレーションのように示したが、意図的に同等であれば、他の形式でも良い)。
格納後、共有度測定・登録手段205は、DB700中のリンク情報(図10参照)より、各入力・出力が処理からどの程度共有されているかをカウントすることにより共有度を測定する(たとえば、1+log〈カウント数〉といった式で共有度を計算する)。
この場合、図5に示すメタデータがすでに格納されているものとする(すなわち、DB700中には図4および図5に示すメタデータの内容のみが格納されている)。
たとえば、図6の入出力メタデータ集合中の”File”メタデータはDocumentBuilderのparseとSAXParserのparseからそれぞれ入力として利用されているので、”1+log2”という共有度が計算される。このように共有度を計算し、DB700内の各入力・出力の共有度の情報を更新する。
続いて、検索単位ごとのキーワード類似度検索を実現するために検索インデックスを生成する。この生成手法としては、既存の検索インデックス作成手法を利用できる。
このようにして、メタデータは格納される。
次に、検索動作について説明する。
今、ソフトウェアコンポーネント情報に対する問合せとして、”XML” & parse & fileが入力されたとする。
このとき、検索式解析手段301,問合せ生成手段302,問合せ実行手段303の一部では、問合せの構文解析を行い、解析結果より検索条件の適用順序等を決め、検索インデックスに対して問合せを実行する。この部分には既存の検索エンジンを利用できる。
この問合せ結果として、図11に示すような機能IDと類似度のリストを受け取る。
続いて問合せ実行手段303において、このリスト中の機能IDを基にDBより各機能に関する各入力・出力の共有度を取り出し、その共有度と類似度との積を問合せに対する適合度としてリストに格納する。適合度でソートしたリストを図12に示す。
次に、検索結果生成手段304は、リストとメタデータをもとに図13に示す検索結果を生成し、出力装置に渡す。
このようにして、メタデータは検索される。
新規なソフトウェアを開発する際には、既存のソフトウェア部品を利用できるか否かを調査する。従来、このような調査を能率よく効果的に実施することが困難であった。本発明によれば、利用者の視点に基いて精度のよい検索を迅速に実現できるので、特にソフトウェア開発を策定する場合に有効に活用できる。
本発明の実施の一形態を示す構成図。 メタデータ格納手段の処理手順を示す流れ図。 メタデータ検索手段の処理手順を示す流れ図。 ソフトウェアコンポーネントの例を示す説明図。 ソフトウェアコンポーネントの他の例を示す説明図。 データ構造の例を示す説明図。 コンポーネントメタデータ格納テーブルの例を示す説明図。 処理メタデータ格納テーブルの例を示す説明図。 入力・出力メタデータ格納テーブルの例を示す説明図。 リンク管理テーブルの例を示す説明図。 機能IDと類似度のリストの例を示す説明図。 機能IDと適合度のリストの例を示す説明図。 検索結果の例を示す説明図。
符号の説明
100 ソフトウェアコンポーネント情報検索システム
200 メタデータ格納手段
201 メタデータ構文解析手段
202 データ構造生成手段
203 格納命令生成手段
205 共有度測定・登録手段
206 検索インデックス作成・登録手段
300 メタデータ検索手段
301 検索式解析手段
302 問合せ生成手段
303 問合せ実行手段
304 検索結果生成手段
400 入力装置
500 出力装置
600 DBMS(データベース管理システム)
700 DB(データベース)
800 検索インデックス格納部

Claims (9)

  1. コンポーネント毎にコンポーネントの名前と解説文字列を包含するコンポーネントメタデータ、処理毎に処理の名前と解説文字列を包含する処理メタデータ、入出力毎に入出力の名前と解説文字列を包含する入出力メタデータ、および、前記処理ごとの情報であって、当該処理、当該処理を包含するコンポーネントおよび当該処理の入出力の関連付け情報と機能の識別情報を含むリンク情報を格納するデータベースと、
    前記入出力メタデータごとに当該メタデータの入出力を関連付け対象とする前記リンク情報の数をカウントして、カウント値に基づいて共有度を算出して当該入出力の入出力メタデータに付加する共有度測定・登録手段と、
    前記リンク情報ごとに、
    当該リンク情報の機能の識別情報と
    当該リンク情報が関連付けるコンポーネント、処理、入出力の前記コンポーネントメタデータ、前記処理メタデータ、前記入出力メタデータから前記コンポーネント、前記処理、前記入出力の名前および解説文字列をそれぞれ検索して、検索した前記名前および解説文字列と入力したキーワードとの類似度を求め、当該類似度と当該リンク情報で関連付けられる入出力の各々に付加された前記共度に基づいて算出された適合度を
    出力する問い合わせ実行手段を備えるソフトウェアコンポーネント情報検索システム。
  2. (1+前記カウント値の対数値)を前記共有度として算出する前記共有度測定・登録手段と、
    前記リンク情報ごとに、当該リンク情報の前記類似度と当該リンク情報で関連付けられる入出力の各々に付加された前記共有度の積を前記適合度として算出する前記問い合わせ実行手段を備える、請求項1のソフトウェアコンポーネント情報検索システム。
  3. コンポーネントの名前と解説文字列、処理の名前と解説文字列、入出力の名前と解説文字列、コンポーネントと処理の包含関係、処理と当該処理の入出力と関係を記述したXML文書のデータを入力して、前記データベースに、コンポーネントメタデータ、処理メタデータ、入出力メタデータ、リンク情報を格納するデータ構造生成手段を備える請求項1または2のソフトウェアコンポーネント情報検索システム。
  4. コンポーネント毎にコンポーネントの名前と解説文字列を包含するコンポーネントメタデータ、処理毎に処理の名前と解説文字列を包含する処理メタデータ、入出力毎に入出力の名前と解説文字列を包含する入出力メタデータ、および、前記処理ごとの情報であって、当該処理、当該処理を包含するコンポーネントおよび当該処理の入出力の関連付け情報と機能の識別情報を含むリンク情報を格納するデータベースを備えたコンピュータが、
    前記入出力メタデータごとに当該メタデータの入出力を関連付け対象とする前記リンク情報の数をカウントして、カウント値に基づいて共有度を算出して当該入出力の入出力メタデータに付加する共有度測定・登録工程と、
    前記リンク情報ごとに、
    当該リンク情報の機能の識別情報と、
    当該リンク情報が関連付けるコンポーネント、処理、入出力の前記コンポーネントメタデータ、前記処理メタデータ、前記入出力メタデータから前記コンポーネント、前記処理、前記入出力の名前および解説文字列をそれぞれ検索して、検索した前記名前および解説文字列と入力したキーワードとの類似度を求め、当該類似度と当該リンク情報で関連付けられる入出力の各々に付加された前記共有度とに基づいて算出された適合度を
    出力する問い合わせ実行工程を有するソフトウェアコンポーネント情報検索方法。
  5. 前記コンピュータが、(1+前記カウント値の対数値)を前記共有度として算出する前記共有度測定・登録工程と、
    前記リンク情報ごとに、当該リンク情報の前記類似度と当該リンク情報で関連付けられる入出力の各々に付加された前記共有度の積を前記適合度として算出する前記問い合わせ実行工程を有する、請求項4のソフトウェアコンポーネント情報検索方法。
  6. 前記コンピュータが、コンポーネントの名前と解説文字列、処理の名前と解説文字列、入出力の名前と解説文字列、コンポーネントと処理の包含関係、処理と当該処理の入出力と関係を記述したXML文書のデータを入力して、前記データベースに、コンポーネントメタデータ、処理メタデータ、入出力メタデータ、リンク情報を格納するデータ構造生成工程を有する請求項4または5のソフトウェアコンポーネント情報検索方法。
  7. コンポーネント毎にコンポーネントの名前と解説文字列を包含するコンポーネントメタデータ、処理毎に処理の名前と解説文字列を包含する処理メタデータ、入出力毎に入出力の名前と解説文字列を包含する入出力メタデータ、および、前記処理ごとの情報であって、当該処理、当該処理を包含するコンポーネントおよび当該処理の入出力の関連付け情報と機能の識別情報を含むリンク情報を格納するデータベースを備えたコンピュータに、
    前記入出力メタデータごとに当該メタデータの入出力を関連付け対象とする前記リンク情報の数をカウントして、カウント値に基づいて共有度を算出して当該入出力の入出力メタデータに付加する共有度測定・登録処理と、
    前記リンク情報ごとに、
    当該リンク情報の機能の識別情報と、
    当該リンク情報が関連付けるコンポーネント、処理、入出力の前記コンポーネントメタデータ、前記処理メタデータ、前記入出力メタデータから前記コンポーネント、前記処理、前記入出力の名前および解説文字列をそれぞれ検索して、検索した前記名前および解説文字列と入力したキーワードとの類似度を求め、当該類似度と当該リンク情報で関連付けられる入出力の各々に付加された前記共有度とに基づいて算出された適合度を
    出力する問い合わせ実行処理を実行させるソフトウェアコンポーネント情報検索プログラム。
  8. 前記コンピュータに、(1+前記カウント値の対数値)を前記共有度として算出する前記共有度測定・登録処理と、
    前記リンク情報ごとに、当該リンク情報の前記類似度と当該リンク情報で関連付けられる入出力の各々に付加された前記共有度の積を前記適合度として算出する前記問い合わせ実行処理を実行させる、請求項7のソフトウェアコンポーネント情報検索プログラム。
  9. 前記コンピュータに、コンポーネントの名前と解説文字列、処理の名前と解説文字列、入出力の名前と解説文字列、コンポーネントと処理の包含関係、処理と当該処理の入出力と関係を記述したXML文書のデータを入力して、前記データベースに、コンポーネントメタデータ、処理メタデータ、入出力メタデータ、リンク情報を格納するデータ構造生成処理を実行させる請求項7または8のソフトウェアコンポーネント情報検索プログラム。
JP2003302638A 2003-08-27 2003-08-27 ソフトウェアコンポーネント情報検索システム,方法,およびプログラム Expired - Fee Related JP4403754B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003302638A JP4403754B2 (ja) 2003-08-27 2003-08-27 ソフトウェアコンポーネント情報検索システム,方法,およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003302638A JP4403754B2 (ja) 2003-08-27 2003-08-27 ソフトウェアコンポーネント情報検索システム,方法,およびプログラム

Publications (2)

Publication Number Publication Date
JP2005071221A JP2005071221A (ja) 2005-03-17
JP4403754B2 true JP4403754B2 (ja) 2010-01-27

Family

ID=34406866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003302638A Expired - Fee Related JP4403754B2 (ja) 2003-08-27 2003-08-27 ソフトウェアコンポーネント情報検索システム,方法,およびプログラム

Country Status (1)

Country Link
JP (1) JP4403754B2 (ja)

Also Published As

Publication number Publication date
JP2005071221A (ja) 2005-03-17

Similar Documents

Publication Publication Date Title
US7146355B2 (en) Method and structure for efficiently retrieving artifacts in a fine grained software configuration management repository
US8910120B2 (en) Software debugging recommendations
Diao et al. YFilter: Efficient and scalable filtering of XML documents
US9058360B2 (en) Extensible language framework using data cartridges
CA2628338C (en) Application search tool for rapid prototyping and development of new applications
US8959106B2 (en) Class loading using java data cartridges
US9021416B2 (en) Recommended application evaluation system
US11520800B2 (en) Extensible data transformations
US20240028607A1 (en) Facilitating data transformations
US20130332448A1 (en) Apparatus and Method of Semantic Service Correlation System
Syme et al. Expert F♯ 3.0
JP2001167087A (ja) 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
KR20160130256A (ko) 데이터 유형에 관련된 데이터 프로파일링 동작 관리
US9311058B2 (en) Jabba language
Fegaras Incremental query processing on big data streams
Thomas et al. Mining unstructured software repositories
US20070022105A1 (en) XPath automation systems and methods
Uneno et al. Using a distributed representation of words in localizing relevant files for bug reports
Vokác An efficient tool for recovering Design Patterns from C++ Code.
Groppe et al. A SPARQL engine for streaming RDF data
US9645816B2 (en) Multi-language code search index
CN110008448B (zh) 将SQL代码自动转换为Java代码的方法和装置
CN110580170A (zh) 软件性能风险的识别方法及装置
JP2004310561A (ja) 情報検索方法、情報検索システム及び検索サーバ
JP4403754B2 (ja) ソフトウェアコンポーネント情報検索システム,方法,およびプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050314

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060518

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070118

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091013

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091026

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees