(57)【要約】      （修正有）【課題】ソフトウェア開発効率向上を得る、コンポーネントの登録・検索方法の提供。【解決手段】振舞概念、入力概念、出力概念という概念を定義し、登録対象のソフトウェアコンポーネントから概念インスタンスを抽出し、ソフトウェアコンポーネントを記憶装置２(104)に登録する。さらに、抽出した概念インスタンスが保有する属性と、分類の根拠を示す分類子を付属させた階層構造において対応する末端の分類概念を決定し、概念インスタンスと末端分類概念の関連情報をＸＭＬデータとして記憶装置１(103)に保存して登録する。また、検索時は、要求するソフトウェアコンポーネントの概念インスタンスの属性に基づいて記憶装置１(103)の階層構造で全ての概念インスタンスの属性から対応する概念インスタンスを取得し、得られた概念インスタンスの集合を持つソフトウェアコンポーネントを記憶装置２(104)から取得して提示する。【選択図】図１
2006244014.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される記憶装置を備え、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて前記記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索するソフトウェアコンポーネントの登録・検索方法であって、
ソフトウェアコンポーネント登録時に、コンピュータ装置は、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶装置に格納して登録し、
ソフトウェアコンポーネント検索時に、コンピュータ装置は、ソフトウェアコンポーネントを検索するために入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶装置から取得して提示する
ことを特徴とするソフトウェアコンポーネントの登録・検索方法。
【請求項２】
ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索して提示するソフトウェアコンポーネント登録・検索システムであって、
情報入力手段と、
情報提示手段と、
前記ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される記憶手段と、
ソフトウェアコンポーネント登録時に、ソフトウェアコンポーネントを登録するために前記情報入力手段から入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶手段に格納して登録する登録手段と、
ソフトウェアコンポーネント検索時に、ソフトウェアコンポーネントを検索するために前記情報入力手段から入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶手段に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶手段から取得して前記情報提示手段を介して提示する検索手段とを備えている
ことを特徴とするソフトウェアコンポーネントの登録・検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発において作成したソフトウェアコンポーネントを登録・検索するための方法及びそのシステムに関する。
【背景技術】
【０００２】
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成されたソフトウェアコンポーネントを再利用することが有効とされており、従来から再利用方法の検討がなされている。
【０００３】
再利用を行うためには、ソフトウェアコンポーネントを記憶装置に登録し、検索する必要がある。このため、ソフトウェアコンポーネント作成者が作成したソフトウェアコンポーネントを記憶装置に登録し、ソフトウェア開発者が記憶装置から再利用可能なソフトウェアコンポーネントを検索することとなる。
【０００４】
このようなソフトウェアコンポーネントの登録及び検索の方法に関しては様々な研究がなされている。例えば、非特許文献１（門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告  ソフトウェア工学、Ｎｏ．１３６−１９、２００２、１４１〜１４６頁）には、ソフトウェアコンポーネントの登録・検索方法についての検討が開示されており、登録時には、ソフトウェアコンポーネントの分野、機能をキーワード（キーワードは予め決められた語彙から選択する）として、木構造で分類保存することによりソフトウェアコンポーネントを登録し、検索時には、検索したいソフトウェアコンポーネントの分野、機能を決定し、それらをキーワードとして木構造から検索する。
【０００５】
また、非特許文献２（榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No．３８、２００３、７０〜７９頁）には、ソフトウェアコンポーネントだけでなく、ソフトウェア開発に関わる仕様書等のドキュメントを再利用するための標準規格ＲＡＳ（Reusable Asset Speficications）についての説明、及びAsset（ソフトウェアコンポーネント、仕様書等）を第三者間との流通を円滑に行うための、Assetのカタログ情報の規格化について記載されている。
【０００６】
また、非特許文献３（“コンポーネント仕様／品質公開情報規約  第２版”、［ｏｎｌｉｎｅ］、２００２年２月４日、ＥＪＢコンポーネントに関するコンソーシアム、［平成１７年２月２１日検索］、インターネット＜ＵＲＬ：http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF＞）には、ＥＪＢコンポーネント（Ｊａｖａコンポーネントの一種）を第三者間との流通を円滑に行うための、ＥＪＢコンポーネントのカタログ情報の規格化について開示されている。
【０００７】
さらに、この種の登録・検索方法に関する文献としては、特開平０７−０８５１０２号公報「文書検索方法」（特許文献１）、特公平０７−０２７５３２号公報「情報検索方法及びシステム」（特許文献２）、特開平１０−３３４１１１号公報「データ登録方法」（特許文献３）、特開２００４−２１３３６０号公報「データ検索システム及びデータ検索装置」（特許文献４）が知られている。
【非特許文献１】門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告  ソフトウェア工学、Ｎｏ．１３６−１９、２００２、１４１〜１４６頁
【非特許文献２】榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No．３８、２００３、７０〜７９頁
【非特許文献３】“コンポーネント仕様／品質公開情報規約  第２版”、［ｏｎｌｉｎｅ］、２００２年２月４日、ＥＪＢコンポーネントに関するコンソーシアム、［平成１７年２月２１日検索］、インターネット＜ＵＲＬ：http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF＞
【特許文献１】特開平０７−０８５１０２号公報「文書検索方法」
【特許文献２】特公平０７−０２７５３２号公報「情報検索方法及びシステム」
【特許文献３】特開平１０−３３４１１１号公報「データ登録方法」
【特許文献４】特開２００４−２１３３６０号公報「データ検索システム及びデータ検索装置」
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ソフトウェアコンポーネント作成者が登録を行うとき、ソフトウェアコンポーネント作成者がある観点で分類化した階層構造をつくり、そこにソフトウェアコンポーネントを当てはめることとなる。
【０００９】
しかし、ソフトウェアコンポーネント作成者が登録するための階層構造を作り出すには、そのソフトウェアコンポーネントで実現される機能の背景にある知識を有する必要があり、知識を有しない者には、容易には行えない。
【００１０】
また、仮にソフトウェアコンポーネント作成者がある階層構造をつくり、別のソフトウェアコンポーネント作成者が登録を行う場合、そのソフトウェアコンポーネント作成者は、階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造のどこに登録すべきかわからず、全ての階層を調べ、ソフトウェアコンポーネントがどの階層に存在するか判断する必要があり、登録が容易に実行できない。
【００１１】
さらに、同様にソフトウェア開発者は、その階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造にあるソフトウェアコンポーネント全てを調べ、目的とするソフトウェアコンポーネントが存在するか判断する必要があり、検索が容易に実行できない。
【００１２】
さらにまた、ソフトウェアコンポーネント作成者とソフトウェア開発者が同じ者であっても、登録時の階層構造をつくりだした基となる観点を時間の経過により忘れてしまい、検索が容易に行えなくなる。
【００１３】
これらの理由により、ソフトウェアコンポーネントの再利用が実現できておらず、既存ソフトウェアコンポーネントを利用できるにも拘わらず、新規にソフトウェアを開発することになってしまい、ソフトウェア開発効率低下の要因となっている。
【００１４】
本発明は上記の問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率向上を図ることができるソフトウェアコンポーネントの登録・検索方法及びそのシステムを提供することである。
【課題を解決するための手段】
【００１５】
本発明は上記の目的を達成するために、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される記憶装置を備え、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて前記記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索するソフトウェアコンポーネントの登録・検索方法であって、ソフトウェアコンポーネント登録時に、コンピュータ装置は、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶装置に格納して登録し、ソフトウェアコンポーネント検索時に、コンピュータ装置は、ソフトウェアコンポーネントを検索するために入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶装置から取得して提示するソフトウェアコンポーネントの登録・検索方法を提案する。
【００１６】
本発明のソフトウェアコンポーネントの登録・検索方法によれば、ソフトウェアコンポーネント登録時には、コンピュータ装置によって、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念が決定され、該決定された末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントが記憶装置に格納されて登録される。
【００１７】
これにより、記憶装置には、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される。
【００１８】
また、ソフトウェアコンポーネント検索時に、コンピュータ装置によって、ソフトウェアコンポーネントを検索するために入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念が、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索されて、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントが記憶装置から取得され、これが提示される。
【００１９】
また、本発明は上記方法を実現するためのシステムとして、ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索して提示するソフトウェアコンポーネント登録・検索システムであって、情報入力手段と、情報提示手段と、前記ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される記憶手段と、ソフトウェアコンポーネント登録時に、ソフトウェアコンポーネントを登録するために前記情報入力手段から入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶手段に格納して登録する登録手段と、ソフトウェアコンポーネント検索時に、ソフトウェアコンポーネントを検索するために前記情報入力手段から入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶手段に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶手段から取得して前記情報提示手段を介して提示する検索手段とを備えているソフトウェアコンポーネントの登録・検索システムを提案する。
【発明の効果】
【００２０】
本発明のソフトウェアコンポーネントの登録・検索方法及びそのシステムによれば、分類するに至った根拠を示す分類子により複数の分類概念へ分類する際の分類化の観点が明示され、この分類子が付随される統一的な階層構造に従った登録・検索が行われるため、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者によるソフトウェアコンポーネントの登録及びソフトウェア開発者によるソフトウェアコンポーネントの検索を容易に行えるようになり、ソフトウェア開発における効率を向上させることができる。
【発明を実施するための最良の形態】
【００２１】
本実施形態では、ソフトウェアコンポーネント登録時に用いられる観点としてソフトウェアコンポーネントの概念を用いる。ソフトウェアコンポーネントの概念としては、例えばその振舞に関する概念（振舞概念インスタンス）、入力に関する概念（入力概念インスタンス）、及び出力に関する概念（出力概念インスタンス）の３つの概念を用い、これらを統一的な概念体系を用いて表現し、この概念体系を用いてソフトウェアコンポーネントの登録と検索を行う。
【００２２】
以下、一例として、イーサネット網において、イーサネット網を利用するユーザ毎に、ユーザ識別子としてＶＬＡＮ−ＩＤを、イーサネット網を構成する各装置に設定するソフトウェアシステムを適用する。
【００２３】
ＶＬＡＮ−ＩＤ値生成を行うソフトウェア部分をソフトウェアコンポーネント化する。設定されるＶＬＡＮ−ＩＤ値は、各装置が具備する機能および装置接続形態等により決められる設定内容によって決定されるため、このようなソフトウェアコンポーネントを予め作成しておくことで、既存のソフトウェアシステムが取り扱っていなかった、新たな装置や装置接続形態が取り扱い対象となる場合、ソフトウェアシステムのプログラムコードを新規に作成することなく、該当するソフトウェアコンポーネントを選択することで、既存ソフトウェアシステムが取り扱い可能となる。
【００２４】
しかし、ソフトウェアコンポーネントを検索するには、上記「４．本発明が解決する課題」に記載した問題が発生するため、本実施形態では以下のことを行っている。
【００２５】
（１）システム構成
本実施形態におけるソフトウェアコンポーネント登録・検索システムの構成を図１に示す。図において、１はソフトウェアコンポーネント作成者或いはソフトウェア開発者等のユーザである。100は登録・検索システムで、101はユーザインタフェースを含むコンピュータ装置102と、記憶装置１(103)、記憶装置２(104)を備えている。
【００２６】
ユーザインタフェース101は、キーボードやマウス等を含む情報入力部（図示せず）及びディスプレイ等の表示器を含む情報提示部（図示せず）を備え、記憶装置１(103)及び記憶装置２(104)に接続されて、これらへの情報アクセスが可能になっている。
【００２７】
記憶装置１(103)は、例えば周知のハードディスク装置からなり、後述する階層構造を記憶する装置である。記憶装置２(104)は、例えば周知のハードディスク装置からなり、ソフトウェアコンポーネントを記憶する装置であり、後述する概念インスタンスの集合を検索キーとしてソフトウェアコンポーネントを取得可能である。
【００２８】
ユーザインタフェース101は、ソフトウェアコンポーネント作成者やソフトウェア開発者等のユーザが入力する登録・検索に必要な情報の受付部であり、また記憶装置１(103)に記億されている階層構造の表示、及び登録・検索結果を表示するものである。
【００２９】
（２）ソフトウェアコンポーネントの概念体系化
ソフトウェアコンポーネントを特徴付けるキーワードとなる、振舞、入力、出力を概念として抽出する。この概念の要素を概念インスタンスと称する。
【００３０】
次に、図２に示すように、概念毎に概念の分類化を行う。この分類された結果の概念を分類概念という。さらに、元となる概念と分類概念を階層構造で表現する。このとき、分類化の根拠となったもの（以下、分類子と称する）を元概念と分類概念の階層間に付随させる。考えられる範囲で分類化しておく。
【００３１】
図２に示す一例では、第１階層の概念201が分類子202によって分類され、この分類子202が付随された分岐点203を介して第２階層の分類概念204,205に分岐されている。さらに、分類概念204は分類子206によって分類され、分類子206が付随された分岐点207を介して第３階層の分類概念208,209に分岐され、分類概念208から分岐した最下層の分類概念210までが表されている。
【００３２】
以上のような階層構造を、ソフトウェアコンポーネント登録を行う前に事前に作成し、記憶装置１(103)に登録しておく。
【００３３】
例えば、上記のような階層構造をＶＬＡＮ−ＩＤ値払出しソフトウェアコンポーネントに適用した場合は、図３乃至図５のようになる。
【００３４】
即ち、図３に示す振舞概念の階層構造では、第１階層の振舞概念301が「装置情報依存」という分類子302によって分類され、分類子302が付随された分岐点303を介して第２階層の「なし」という分類概念311と「有」という分類概念321に分岐されている。
【００３５】
また、「なし」という分類概念311は「値の連続性」という分類子312によって分類され、分類子312が付随された分岐点313を介して第３階層の「連続」という分類概念314と「不連続」という分類概念315に分岐されている。
【００３６】
さらに、「連続」という分類概念314は「値の順序性」という分類子316によって分類され、分類子316が付随された分岐点317を介して第４階層の「降順」という分類概念318と「昇順」という分類概念319に分岐されている。これらの「降順」という分類概念318と「昇順」という分類概念319は末端の分類概念となっている。
【００３７】
また、第２階層の「有」という分類概念321は「依存装置」という分類子322によって分類され、分類子322が付随された分岐点323を介して第３階層の「自装置」という分類概念324と「他装置」という分類概念325に分岐されている。
【００３８】
さらに、「自装置」という分類概念324は「依存情報」という分類子326によって分類され、分類子326が付随された分岐点327を介して第４階層の「論理ポート」という分類概念329と「物理ポート」という分類概念330に分岐されている。また、「他装置」という分類概念325は上記「依存情報」という分類子326によって分類され、分類子326が付随された分岐点328を介して第４階層の「論理ポート」という分類概念331と「物理ポート」という分類概念332に分岐されている。これら第４階層の「論理ポート」という分類概念329と「物理ポート」という分類概念330及び「論理ポート」という分類概念331と「物理ポート」という分類概念332は、末端の分類概念となっている。
【００３９】
また、図４に示す出力概念の階層構造では、第１階層の出力概念401が分類子の無いＡＮＤによって２つに分岐され、一方で「制約範囲」という分類子411によって分類され、分類子411が付随された分岐点412を介して第２階層の「使用可能」という分類概念413と「使用不可能」という分類概念414と「使用可・不可能」という分類概念415に分岐され、他方で「一意性制約範囲」という分類子421によって分類され、分類子421が付随された分岐点422を介して第２階層の「装置」という分類概念423と「論理ポート」という分類概念424と「物理ポート」という分類概念425に分岐されている。ここでは、第２階層の分類概念が末端の分類概念となっている。
【００４０】
また、図５に示す入力概念の階層構造では、第１階層の入力概念501が「情報種別」という分類子502によって分類され、分類子502が付随された分岐点503を介して第２階層の「VLAN-ID情報」という分類概念511と「装置情報」という分類概念521に分岐されている。
【００４１】
さらに、第２階層の「VLAN-ID情報」という分類概念511は「VLAN-ID種別」という分類子512によって分類され、分類子512が付随された分岐点513を介して第３階層の「コア網側VLAN-ID」という分類概念514と「ユーザ網側VLAN-ID」という分類概念515に分岐されている。これらの「コア網側VLAN-ID」という分類概念514と「ユーザ網側VLAN-ID」という分類概念515は、末端の分類概念となっている。
【００４２】
また、第２階層の「装置情報」という分類概念521は「依存装置」という分類子522によって分類され、分類子522が付随された分岐点523を介して第３階層の「自装置」という分類概念524と「他装置」という分類概念525に分岐されている。
【００４３】
さらに、第３階層の「自装置」という分類概念524は「依存情報」という分類子526によって分類され、分類子526が付随された分岐点527を介して第４階層の「論理ポート」という分類概念529と「物理ポート」という分類概念530に分岐されている。また、「他装置」という分類概念525は上記「依存情報」という分類子526によって分類され、分類子526が付随された分岐点528を介して第４階層の「論理ポート」という分類概念531と「物理ポート」という分類概念532に分岐されている。これら第４階層の「論理ポート」という分類概念529と「物理ポート」という分類概念530及び「論理ポート」という分類概念531と「物理ポート」という分類概念532は、末端の分類概念となっている。
【００４４】
上記の振舞概念の階層構造と出力概念の階層構造及び入力概念の階層構造を予め記憶装置１(103)に格納して登録しておく。
【００４５】
これらの階層構造を記憶装置１(103)に登録する際には、登録データを例えば周知のＸＭＬデータで作成して登録しておく。前述した入力概念の階層構造の場合は、図６及び図７に示すようになる。即ち、図６の階層構造では、「コア網側VLAN-ID」という分類概念514に対応づけて「x1」という概念インスタンス341が登録され、「ユーザ網側VLAN-ID」という分類概念515に対応づけて「x2」という概念インスタンス342が登録されている。さらに、「論理ポート」という分類概念529、「物理ポート」という分類概念530、「論理ポート」という分類概念531、「物理ポート」という分類概念532のそれぞれに対応づけて「x3」、「x4」、「x5」、「x6」という概念インスタンスが登録されている。
【００４６】
この図６に示す階層構造をＸＭＬデータで表したものが図７に示すＸＭＬデータである。この図７のＸＭＬデータにおける「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」で示す行は、図６の「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」の各領域内のそれぞれにおける分類概念と分類子の関係を表している。
【００４７】
（３）ソフトウェアコンポーネント登録方法
ソフトウェアコンポーネント作成者は、図８に示すように以下のことを行う。
【００４８】
登録対象のソフトウェアコンポーネントの概念インスタンスを抽出し（ＳＡ１）、登録対象ソフトウェアコンポーネントを概念インスタンスを検索キーとして、ユーザインタフェース101を介して記憶装置２(104)に登録する（ＳＡ２）。さらに、前記抽出した概念インスタンスが保有する属性が、ユーザインタフェース101に表示された記憶装置１(103)の階層構造上で、分類子及びそれによって分類された分類概念を選択していくことによって、どの分類概念に対応するか決定し、末端となる分類概念を決定する（ＳＡ３）。この後、末端となる分類概念に対して、ユーザインタフェース101を介して概念インスタンスを関連付ける（ＳＡ４）。上記ＳＡ３及びＳＡ４の処理を全ての概念インスタンスに対して行う。
【００４９】
上記の処理によって、図９に示すように、末端の分類概念205,209,210のそれぞれに対して概念インスタンス211,212,213が関連付けられる。
【００５０】
以下に、図１０乃至図１２を参照して上記の関連づけの一具体例を説明する。
【００５１】
ここでは、振舞概念インスタンスｂ１の属性として、（装置情報依存：無、値の連続性：連続、値の順序性：降順）、出力概念インスタンスｙ１の属性として、（制約範囲：使用可能、一意性制約範囲：装置）、入力概念インスタンスｘ１の属性として、（情報種別：ＶＬＡＮ−ＩＤ情報、ＶＬＡＮ−ＩＤ種別：コア網側ＶＬＡＮ−ＩＤ）を暗黙的に保有するソフトウェアコンポーネントを登録するものとする。
【００５２】
この場合、登録者であるユーザ１は、図１０に示すようにリレーショナルデータベースのテーブルで表現して、上記ソフトウェアコンポーネントを、各概念インスタンス（ｂ１，ｙ１，ｘ１）を検索キーとしてコンポーネント名と対応づけて、ユーザインタフェース101を介して記憶装置２(104)に登録する。
【００５３】
さらに、ユーザ１は、振舞概念インスタンスｂ１の属性（装置情報依存：無、値の連続性：連続、値の順序性：降順）、出力概念インスタンスｙ１の属性（制約範囲：使用可能、一意性制約範囲：装置）、及び入力概念インスタンスｘ１の属性（情報種別：ＶＬＡＮ−ＩＤ情報、ＶＬＡＮ−ＩＤ種別：コア網側ＶＬＡＮ−ＩＤ）をユーザインタフェース101を介してコンピュータ装置102に入力し、登録処理を行わせる。
【００５４】
振舞概念インスタンスｂ１に対して振舞概念の階層構造の分類概念と関連づけを行う場合、コンピュータ装置102は、図１１に示すように、ユーザインタフェース101の表示器に表示された振舞概念の階層構造において、ユーザインタフェース101から入力された振舞概念インスタンスｂ１の属性（装置情報依存：無、値の連続性：連続、値の順序性：降順）に基づいて階層を下り、最下位層（末端）の分類概念である「降順」という分類概念318を取得し、この「降順」という分類概念318と振舞概念インスタンスｂ１との関連情報をユーザインタフェース101を介して記憶装置１(103)に保存して登録する。
【００５５】
この場合、図１２に示すように、予め記憶装置１(103)に保存されていた振舞概念の階層構造のＸＭＬデータに対して概念インスタンスｂ１の関係情報が追加されて保存される。図１２において、太枠で囲まれている３行が概念インスタンスｂ１の関係情報として新たに追加された情報である。
【００５６】
同様に、出力概念インスタンス、入力概念インスタンスに対して各階層構造の分類概念と関連づけを行う。
【００５７】
即ち、出力概念インスタンスｙ１に対して出力概念の階層構造の分類概念と関連づけを行う場合、コンピュータ装置102は、図１３に示すように、ユーザインタフェース101の表示器に表示された出力概念の階層構造において、ユーザインタフェース101から入力された出力概念インスタンスｙ１の属性（制約範囲：使用可能、一意性制約範囲：装置）に基づいて階層を下り、最下位層（末端）の分類概念である「使用可能」という分類概念413と「装置」という分類概念423を取得し、これらの「使用可能」という分類概念413と「装置」という分類概念423と出力概念インスタンスｙ１との関連情報をユーザインタフェース101を介して記憶装置１(103)に保存して登録する。
【００５８】
また、入力概念インスタンスｘ１に対して入力概念の階層構造の分類概念と関連づけを行う場合、コンピュータ装置102は、図１４に示すように、ユーザインタフェース101の表示器に表示された入力概念の階層構造において、入力概念インスタンスｘ１の属性（情報種別：ＶＬＡＮ−ＩＤ情報、ＶＬＡＮ−ＩＤ種別：コア網側ＶＬＡＮ−ＩＤ）に基づいて階層を下り、最下位層（末端）の分類概念である「コア網側VLAN-ID」という分類概念514を取得し、この「コア網側VLAN-ID」という分類概念514と入力概念インスタンスｘ１との関連情報をユーザインタフェース101を介して記憶装置１(103)に保存して登録する。
【００５９】
以上が、登録・検索システム100を用いて、ソフトウェア開発において作成したソフトウェアコンポーネントを登録する一具体例である。
【００６０】
階層構造において考えられる全てのコンポーネントを登録した場合の一例を図１５乃至図１８に示す。
【００６１】
図１５に示す振舞概念の階層構造においては、末端の「降順」という分類概念318に対して概念インスタンスｂ１(341)が関連づけられ、「昇順」という末端の分類概念319に対して概念インスタンスｂ２(342)が関連づけられ、末端の「不連続」という分類概念315に対して概念インスタンスｂ３(343)が関連づけられ、末端の「論理ポート」という分類概念329に対して概念インスタンスｂ４(344)が関連づけられ、末端の「物理ポート」という分類概念330に対して概念インスタンスｂ５(345)が関連づけられ、末端の「論理ポート」という分類概念331に対して概念インスタンスｂ６(346)が関連づけられ、末端の「物理ポート」という分類概念332に対して概念インスタンスｂ７(347)が関連づけられて登録されている。
【００６２】
図１６に示す出力概念の階層構造においては、末端の「使用可能」という分類概念413に対して概念インスタンスｙ１(431)，ｙ２(432)，ｙ３(433)が関連づけられ、「使用不可能」という末端の分類概念414に対して概念インスタンスｙ４(434)，ｙ５(435)，ｙ６(436)が関連づけられ、「使用可・不可能」という末端の分類概念415に対して概念インスタンスｙ７(437)，ｙ８(438)，ｙ９(439)が関連づけられて登録されている。さらに、「装置」という末端の分類概念423に対して概念インスタンスｙ１(431)，ｙ４(434)，ｙ７(437)が関連づけられ、「論理ポート」という末端の分類概念424に対して概念インスタンスｙ２(432)，ｙ５(435)，ｙ８(438)が関連づけられ、「物理ポート」という末端の分類概念425に対して概念インスタンスｙ３(433)，ｙ６(436)，ｙ９(439)が関連づけられて登録されている。この出力概念の階層構造をＸＭＬデータで表したものが図１７に示すものである。ここで、出力概念401はＡＮＤによって２つに分岐され、一方で「制約範囲」という分類子411によって分類され、他方で「一意性制約範囲」という分類子421によって分類されているが、このＡＮＤ情報を表しているのが図１７における太枠内の８行である。
【００６３】
図１８に示す入力概念の階層構造においては、末端の「コア網側VLAN-ID」という分類概念514に対して概念インスタンスｘ１(541)が関連づけられ、末端の「ユーザ網側VLAN-ID」という分類概念515に対して概念インスタンスｘ２(542)が関連づけられ、末端の「論理ポート」という分類概念529に対して概念インスタンスｘ３(543)が関連づけられ、末端の「物理ポート」という分類概念530に対して概念インスタンスｘ４(544)が関連づけられ、末端の「論理ポート」という分類概念531に対して概念インスタンスｘ５(545)が関連づけられ、末端の「物理ポート」という分類概念532に対して概念インスタンスｘ６(546)が関連づけられて登録されている。
【００６４】
（４）検索方法
ソフトウェア開発者が、登録・検索システム100のユーザ１として、必要なソフトウェアコンポーネントの検索を行う際には、図１９に示すように以下のことを行う。
【００６５】
即ち、ユーザ１は、要求するコンポーネントが保有すべき概念インスタンスの属性を決定し、これをユーザインタフェース101を介してコンピュータ装置102に入力する（ＳＢ１）。これにより、コンピュータ装置102は、記憶装置１(103)に登録されている階層構造をユーザインタフェース101に表示すると共に表示した階層構造において、概念インスタンス毎に分類子の内容を確認し、分類概念を選択することによって、階層を下っていき、末端の分類概念に関連付けられた概念インスタンスを取得する（ＳＢ２）。また、コンピュータ装置102は、上記ＳＢ２の処理を、ユーザ１によって入力されたコンポーネントが保有すべき概念インスタンスの全てにおいて行う。
【００６６】
この後、コンピュータ装置102は、上記の処理によって得られた、概念インスタンスの集合を持つコンポーネントを記憶装置２から取得し、これをユーザインタフェース101を介してユーザ１に提示する（ＳＢ３）。
【００６７】
以下に、上記の検索処理の一具体例を説明する。
【００６８】
ここでは、振舞概念インスタンスｂの属性として、（装置情報依存：無、値の連続性：連続、値の順序性：降順）、出力概念インスタンスｙの属性として、（制約範囲：使用可能、一意性制約範囲：装置）、入力概念インスタンスｘの属性として、（情報種別：ＶＬＡＮ−ＩＤ情報、ＶＬＡＮ−ＩＤ種別：コア網側ＶＬＡＮ−ＩＤ）を保有するソフトウェアコンポーネントを検索するものとする。
【００６９】
この場合、検索者であるユーザ１は、検索対象となるソフトウェアコンポーネントの振舞概念インスタンスｂの属性（装置情報依存：無、値の連続性：連続、値の順序性：降順）、出力概念インスタンスｙの属性（制約範囲：使用可能、一意性制約範囲：装置）、及び入力概念インスタンスｘの属性（情報種別：ＶＬＡＮ−ＩＤ情報、ＶＬＡＮ−ＩＤ種別：コア網側ＶＬＡＮ−ＩＤ）をユーザインタフェース101を介してコンピュータ装置102に入力し、検索処理を行わせる。
【００７０】
これによりコンピュータ装置102は、記憶装置１(103)に保存されている振舞概念の階層構造において、振舞概念インスタンスｂの属性に基づいて階層を下り、最下階層（末端）の分類概念である「降順」という分類概念318に関連つけられた概念インスタンスｂ１(341)を記憶装置１から取得する。
【００７１】
同様に、コンピュータ装置102は、記憶装置１(103)に保存されている出力概念の階層構造において、出力概念インスタンスｙの属性に基づいて階層を下り、最下階層（末端）の分類概念である「使用可能」という分類概念413と「装置」という分類概念423に関連づけられた概念インスタンスｙ１(431)を記憶装置１(103)から取得すると共に、記憶装置１(103)に保存されている入力概念の階層構造において、入力概念インスタンスｘの属性に基づいて階層を下り、最下階層（末端）の分類概念である「コア網側ＶＬＡＮ−ＩＤ」という分類概念514に関連づけられた概念インスタンスｘ１(541)を記憶装置１(103)から取得する。
【００７２】
この後、コンピュータ装置102は、各概念インスタンス（ｂ１，ｙ１，ｘ１）を検索キーとして、記憶装置２(104)に保存されているソフトウェアコンポーネントの中から該当するソフトウェアコンポーネントを取得してユーザインタフェース101を介してユーザ１に提示する。
【００７３】
以上が、登録・検索システム100を用いて、ソフトウェア開発において必要とするソフトウェアコンポーネントを検索する一具体例である。
【００７４】
前述したように本実施形態によれば、分類するに至った根拠を示す分類子により複数の分類概念へ分類する際の分類化の観点が明示され、この分類子が付随される統一的な階層構造に従った登録・検索が行われるため、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者によるソフトウェアコンポーネントの登録及びソフトウェア開発者によるソフトウェアコンポーネントの検索を容易に行えるようになり、ソフトウェア開発における効率を向上させることができる。
【００７５】
以下に、前述した従来例と本実施形態との相違点を述べる。
【００７６】
非特許文献１に記載の技術との差異：非特許文献１に記載の技術において用いている木構造は通常の木構造であり、コンポーネントの機能を単に一つの「機能」として分類しているため、機能に対する表現の曖昧性が存在する。さらに、木構造がどのように作られたのかが分からない（表現できていない）ため、登録時に検索キー決定に曖昧性が存在する。このように曖昧性が存在するため、登録作業は容易ではなく、検索結果は一意でない。
【００７７】
これに対して、本実施形態の登録・検索方法及びそのシステムでは、木構造に分類の根拠を加えた構造すなわち前述したような階層構造を用いている。さらに、機能を「入力」と「振舞」と「出力」の３つの概念で分類することによって、機能に対する表現の曖昧性を排除している。また、本実施形態では、木構造（階層構造）がつくられた根拠を分類子で明示しているため、登録時の検索キー決定における曖昧性を排除することができる。このように曖昧性を排除したため、登録作業は容易になり、検索結果は一意になる。
【００７８】
非特許文献２，３に記載の技術との差異：非特許文献２，３に記載の技術においては、Asset，ＥＪＢコンポーネントを、第三者間で円滑に流通させるための、カタログ情報を決定する事が主になっており、それらを検索する具体的な方法については、何も決められていない。
【００７９】
尚、上記実施形態は本発明の一具体例であって、本発明が上記実施形態の構成のみに限定されることはない。例えば、記憶装置１(103)と記憶装置２(104)を１つの記憶装置によって構成しても良い。また、記憶装置１(103)と記憶装置２(104)にアクセスできる複数のコンピュータ装置102を設けても良いことは言うまでもない。さらに、コンピュータ装置102と記憶装置１(103)及び記憶装置２(104)との間を通信網を介して接続するようにしても良い。また、登録・検索システム100を通信網に接続されたサーバとし、ユーザインタフェース102を通信網に接続されたインタフェースとし、通信網に接続された他の端末装置から層とウェアコンポーネントの登録・検索を行えるようにしても良い。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施形態における登録・検索システムを示す構成図
【図２】本発明の一実施形態において用いる階層構造を説明する図
【図３】本発明の一実施形態における振舞概念の階層構造の一例を示す図
【図４】本発明の一実施形態における出力概念の階層構造の一例を示す図
【図５】本発明の一実施形態における入力概念の階層構造の一例を示す図
【図６】本発明の一実施形態における入力概念の階層構造とその保存データとの関係を説明する図
【図７】本発明の一実施形態における入力概念の階層構造とその保存データとの関係を説明する図
【図８】本発明の一実施形態におけるソフトウェアコンポーネントの登録手順を説明するフローチャート
【図９】本発明の一実施形態における概念インスタンスを関連づけた階層構造を示す図
【図１０】本発明の一実施形態においてソフトウェアコンポーネント登録時に用いるリレーショナルデータベースのテーブルを示す図
【図１１】本発明の一実施形態における振舞概念の階層構造において末端の分類概念に概念インスタンスを関連づける一例を説明する図
【図１２】本発明の一実施形態における振舞概念の階層構造において末端の分類概念に概念インスタンスを関連づけたときのＸＭＬデータの一例を説明する図
【図１３】本発明の一実施形態における出力概念の階層構造において末端の分類概念に概念インスタンスを関連づける一例を説明する図
【図１４】本発明の一実施形態における入力概念の階層構造において末端の分類概念に概念インスタンスを関連づける一例を説明する図
【図１５】本発明の一実施形態における振舞概念の階層構造において末端の分類概念の全てに概念インスタンスを関連づけた一例を説明する図
【図１６】本発明の一実施形態における出力概念の階層構造において末端の分類概念の全てに概念インスタンスを関連づけた一例を説明する図
【図１７】本発明の一実施形態における出力概念の階層構造において末端の分類概念の全てに概念インスタンスを関連づけたときのＸＭＬデータの一例を説明する図
【図１８】本発明の一実施形態における入力概念の階層構造において末端の分類概念の全てに概念インスタンスを関連づけた一例を説明する図
【図１９】本発明の一実施形態におけるソフトウェアコンポーネントの検索手順を説明するフローチャート
【符号の説明】
【００８１】
１…ユーザ、101…ユーザインタフェース、102…コンピュータ装置、103…記憶装置１、104…記憶装置２、201…概念、202,206…分類子、203,207…分岐点、204,205,208,209,210…分類概念、341,342,344〜347…振舞概念インスタンス、431〜439…出力概念インスタンス、541,542,543〜546…入力概念インスタンス。
【図１】
2006244014.tif 000003
【図２】
2006244014.tif 000004
【図３】
2006244014.tif 000005
【図４】
2006244014.tif 000006
【図５】
2006244014.tif 000007
【図６】
2006244014.tif 000008
【図７】
2006244014.tif 000009
【図８】
2006244014.tif 000010
【図９】
2006244014.tif 000011
【図１０】
2006244014.tif 000012
【図１１】
2006244014.tif 000013
【図１２】
2006244014.tif 000014
【図１３】
2006244014.tif 000015
【図１４】
2006244014.tif 000016
【図１５】
2006244014.tif 000017
【図１６】
2006244014.tif 000018
【図１７】
2006244014.tif 000019
【図１８】
2006244014.tif 000020
【図１９】
2006244014.tif 000021