(57)【要約】【課題】ソフトウェア開発の効率向上を図ることができるソフトウェアコンポーネント再利用のための概念体系構築方法及びそのシステムを提供する。【解決手段】ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った、入力概念体系、振舞概念体系、出力概念体系を用いたソフトウェア登録・検索を行うために、予め作成しておいた分析モデル作成の視点の概念体系とソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め作成しておいた属性に対する操作の概念体系と構築された入力概念体系とを組合わせることにより振舞概念体系を構築し、予め作成しておいた属性に対する制約の概念体系と構築された入力概念体系とを組合わせることにより出力概念体系を構築する。【選択図】図３
2007226376.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索し、ソフトウェアコンポーネントを再利用するために、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築するソフトウェアコンポーネント再利用のための概念体系構築方法であって、
前記コンピュータ装置は、
ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築する際に、
予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、
予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築し、
予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築する
こと特徴とするソフトウェアコンポーネント再利用のための概念体系構築方法。
【請求項２】
ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索してソフトウェアコンポーネントを再利用するために、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築するソフトウェアコンポーネント再利用のための概念体系構築システムであって、
分析モデル作成の視点に関する情報と、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納されている記憶装置と、
予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築すると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築して、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系を分析工程において構築する概念体系構築手段とを備えている
ことを特徴とするソフトウェアコンポーネント再利用のための概念体系構築システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発において作成したソフトウェアコンポーネントを、記憶装置等に登録し、検索を行うための技術分野に該当し、特にソフトウェアコンポーネント再利用のための概念体系構築方法及びそのシステムに関する。
【背景技術】
【０００２】
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成されたソフトウェアコンポーネントを再利用することが有効とされており、従来から再利用方法の検討がなされている。
【０００３】
再利用を行うためには、ソフトウェアコンポーネントを記憶装置に登録し、検索する必要がある。このため、ソフトウェアコンポーネント作成者が作成したソフトウェアコンポーネントを記憶装置に登録し、ソフトウェア開発者が記憶装置から再利用可能なソフトウェアコンポーネントを検索することとなる。
【０００４】
このようなソフトウェアコンポーネントの登録及び検索の方法に関しては様々な研究がなされている。例えば、非特許文献１（門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告  ソフトウェア工学、Ｎｏ．１３６−１９、２００２、１４１〜１４６頁）には、ソフトウェアコンポーネントの登録・検索方法についての検討が開示されており、登録時には、ソフトウェアコンポーネントの分野、機能をキーワード（キーワードは予め決められた語彙から選択する）として、木構造で分類保存することによりソフトウェアコンポーネントを登録し、検索時には、検索したいソフトウェアコンポーネントの分野、機能を決定し、それらをキーワードとして木構造から検索する。
【０００５】
また、非特許文献２（榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No．３８、２００３、７０〜７９頁）には、ソフトウェアコンポーネントだけでなく、ソフトウェア開発に関わる仕様書等のドキュメントを再利用するための標準規格ＲＡＳ（Reusable Asset Speficications）についての説明、及びAsset（ソフトウェアコンポーネント、仕様書等）を第三者間との流通を円滑に行うための、Assetのカタログ情報の規格化について記載されている。
【０００６】
また、非特許文献３（“コンポーネント仕様／品質公開情報規約  第２版”、［ｏｎｌｉｎｅ］、２００２年２月４日、ＥＪＢコンポーネントに関するコンソーシアム、［平成１７年２月２１日検索］、インターネット＜ＵＲＬ：http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF＞）には、ＥＪＢコンポーネント（Ｊａｖａコンポーネントの一種）を第三者間との流通を円滑に行うための、ＥＪＢコンポーネントのカタログ情報の規格化について開示されている。
【０００７】
さらに、この種の登録・検索方法に関する文献としては、特開平０７−０８５１０２号公報「文書検索方法」（特許文献１）、特公平０７−０２７５３２号公報「情報検索方法及びシステム」（特許文献２）、特開平１０−３３４１１１号公報「データ登録方法」（特許文献３）、特開２００４−２１３３６０号公報「データ検索システム及びデータ検索装置」（特許文献４）が知られている。
【０００８】
また、非特許文献５（石川誠一、久保成毅、古崎晃司、束村徳信、溝口理一郎、“タスク・ドメインロールに基づくオントロジー構築ガイドシステムの設計と開発”、人工知能学会論文誌、Vol17，No.5，pp.585-597，2002.）には、オントロジー（概念体系）を構築するための具体的な方法が記載されているが、それにより構築される概念体系は、ある機械的機能の達成関係を示したものである。
【非特許文献１】門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告  ソフトウェア工学、Ｎｏ．１３６−１９、２００２、１４１〜１４６頁
【非特許文献２】榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No．３８、２００３、７０〜７９頁
【非特許文献３】“コンポーネント仕様／品質公開情報規約  第２版”、［ｏｎｌｉｎｅ］、２００２年２月４日、ＥＪＢコンポーネントに関するコンソーシアム、［平成１７年２月２１日検索］、インターネット＜ＵＲＬ：http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF＞
【非特許文献５】石川誠一、久保成毅、古崎晃司、束村徳信、溝口理一郎、“タスク・ドメインロールに基づくオントロジー構築ガイドシステムの設計と開発”、人工知能学会論文誌、Vol17，No.5，pp.585-597，2002.
【特許文献１】特開平０７−０８５１０２号公報「文書検索方法」
【特許文献２】特公平０７−０２７５３２号公報「情報検索方法及びシステム」
【特許文献３】特開平１０−３３４１１１号公報「データ登録方法」
【特許文献４】特開２００４−２１３３６０号公報「データ検索システム及びデータ検索装置」
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成されたソフトウェアコンポーネントを再利用することが有効とされており、従来から再利用方法の検討がなされている。再利用を行うためには、ソフトウェアコンポーネントを記憶装置に登録し、検索する必要がある。ソフトウェアコンポーネント作成者が記憶装置に作成したソフトウェアコンポーネントを登録し、ソフトウェア開発者が記録装置から再利用可能なソフトウェアコンポーネントを検索することとなる。
【００１０】
ソフトウェアコンポーネント作成者が登録を行うとき、ソフトウェアコンポーネント作成者がある観点で分類化した階層構造をつくり、そこにソフトウェアコンポーネントを当てはめることとなる。しかし、ソフトウェアコンポーネント作成者が登録するための階層構造を作り出すには、そのソフトウェアコンポーネントで実現される機能の背景にある知識を有する必要があり、知識を有しない者には、容易には行えない。
【００１１】
また、仮にソフトウェアコンポーネント作成者がある階層構造をつくり、別のソフトウエアコンボーネント作成者が登録を行う場合、そのソフトウェアコンポーネント作成者は、階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造のどこに登録すべきかわからず、全ての階層を調べ、ソフトウェアコンポーネントがどの階層に存在するか判断する必要があり、登録が容易に実行できない。
【００１２】
さらに、同様にソフトウェア開発者は、その階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造にあるソフトウェアコンポーネント全てを調べ,目的とするソフトウェアコンポーネントが存在するか判断する必要があり、検索が容易に実行できない。
【００１３】
さらにまた、ソフトウェアコンポーネント作成者とソフトウェア開発者が同じ者であっても、登録時の階層構造をつくりだした基となる観点を時間の経過により忘れてしまい、検索が容易に行えなくなる。
【００１４】
これらの理由により、ソフトウェアコンポーネントの再利用が実現できておらず、既存ソフトウェアコンポーネントを利用できるにも関わらず、新規にソフトウェアを開発することになってしまい、ソフトウェア開発効率低下の一要因となっている。
【００１５】
また、非特許文献５において、概念体系構築方法が提案されているが、それにより構築される概念体系は、機械的機能の達成関係を示したものであり、本件出願が対象とするソフトウェアコンポーネント機能の分類関係を示すものではない。そのためソフトウェアコンポーネント機能の分類関係を示す概念体系を構築する方法が必要である。
【００１６】
本発明は上記の問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率向上を図ることができるソフトウェアコンポーネント再利用のための概念体系構築方法及びそのシステムを提供することである。
【課題を解決するための手段】
【００１７】
本発明は上記の目的を達成するために、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索し、ソフトウェアコンポーネントを再利用するために、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築するソフトウェアコンポーネント再利用のための概念体系構築方法であって、前記コンピュータ装置は、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築する際に、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築し、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築するソフトウェアコンポーネント再利用のための概念体系構築方法を提案する。
【００１８】
本発明のソフトウェアコンポーネント再利用のための概念体系構築方法によれば、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとが組合わされて入力概念体系が構築され、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とが組合わされて振舞概念体系が構築されると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とが組合わされて出力概念体系が構築されて、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系が構築される。
【００１９】
また、ソフトウェアコンポーネント登録時には、コンピュータ装置によって、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念が決定され、該決定された末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントが記憶装置に格納されて登録される。
【００２０】
これにより、記憶装置には、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される。
【００２１】
また、ソフトウェアコンポーネント検索時に、コンピュータ装置によって、ソフトウェアコンポーネントを検索するために入力された１つ以上の概念インスタンスの分類子毎の属性に対応する分類概念が、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索されて、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントが記憶装置から取得され、これが提示される。
【００２２】
また、本発明は上記方法を実現するためのシステムとして、ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索してソフトウェアコンポーネントを再利用するために、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系、振舞概念体系、出力概念体系を構築するソフトウェアコンポーネント再利用のための概念体系構築システムであって、
分析モデル作成の視点に関する情報と、開発対象となるソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を表す情報、前記クラスが保有する属性の実際の値を代入したオブジェクト間の関係を表す情報、前記属性に対して行われる操作を体系化した情報、前記属性の値に対して課せられる制約を体系化した情報とが格納されている記憶装置と、予め前記記憶装置に記憶している分析モデル作成の視点の概念体系と、ソフトウェア開発時に作成される分析モデルとを組合わせることにより入力概念体系を構築し、予め前記記憶装置に記憶している属性に対する操作の概念体系と、前記構築された入力概念体系とを組合わせることにより振舞概念体系を構築すると共に、予め前記記憶装置に記憶している属性に対する制約の概念体系と、前記構築された入力概念体系とを組合わせることにより出力概念体系を構築して、ソフトウェアコンポーネントを分類するにいたった根拠を付属させた階層構造に従った入力概念体系と、振舞概念体系、出力概念体系を分析工程において構築する概念体系構築手段とを備えているソフトウェアコンポーネント再利用のための概念体系構築システムを提案する。
【発明の効果】
【００２３】
本発明のソフトウェアコンポーネント再利用のための概念体系構築方法及びそのシステムによれば、ソフトウェアコンポーネント登録・検索方法を行うための概念体系を、開発対象となるソフトウエアに応じて容易に構築可能となり、ソフトウェアコンポーネント登録・検索環境が整い、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者の登録、ソフトウェア開発者の検索が容易になり、ソフトウェア開発の効率を高めることができる。
【発明を実施するための最良の形態】
【００２４】
本発明は、ソフトウェアコンポーネント登録時に用いられる観点を、ソフトウェアコンポーネントの概念(振舞、入力、出力)を階層構造に従った概念体系によって表現し、この概念体系を用いた登録・検索を行うことを前提とし、その概念体系を、予め構築しておいた概念体系の一部と、ソフトウェア開発において作成される分析モデルとを用いて構築する方法及びそのシステムに関する発明であり、以下に図面を参照して本発明の一実施形態を説明する。
【００２５】
本実施形態では、ソフトウェアコンポーネント登録時に用いられる観点としてソフトウェアコンポーネントの概念を用いる。ソフトウェアコンポーネントの概念としては、例えばその振舞に関する概念（振舞概念インスタンス）、入力に関する概念（入力概念インスタンス）、及び出力に関する概念（出力概念インスタンス）の３つの概念を用い、これらを統一的な概念体系を用いて表現し、この概念体系を用いてソフトウェアコンポーネントの登録と検索を行い、これによりソフトウェアコンポーネントの再利用を容易に行えるようにしている。
【００２６】
(1)前提とする概念体系
本発明において構築しようとする概念体系の階層構造を図１に示す。
【００２７】
構築する概念体系の階層構造は、トップ概念11、分岐点12、分類子13、分類概念14から構成される。分類概念14は、ある根拠によって、もとのトップ概念11もしくは他の分類概念14が、分類子13が付随された分岐点12を介して分類された結果の概念であり、元となる概念11と分類概念14が階層構造で表現される。分類子13は分類化の根拠となったものであり、元概念11と分類概念14の階層間の分岐点12に付随させたものである。
【００２８】
また概念体系は、図２に示すようにソフトウェアコンポーネント（以下、単にコンポーネントと称する）25の機能を特徴付ける入力、振舞、出力毎に入力概念体系21、振舞概念体系22、出力概念体系23が構築され、コンポーネント25が保有するパラメータ名である概念ラベル(yi,bj,xk)24ごとに、概念インスタンスへ対応付けられるものである。
【００２９】
ここで、コンポーネントが保有する機能を特徴付ける概念を振舞ｂ、入力ｘ、出力ｙとし、コンポーネントを｛ｙ1,ｙ2,…,ｙi｝＝ｂj（｛ｘ1,ｘ2,…,ｘk｝）で表現している。また、各要素ｙi,ｂj,ｘkを概念ラベルと称する。
【００３０】
(2)構築方法
各概念体系の構築方法の概要を図３に示す。
【００３１】
第２記憶装置40には、予め「分析モデル作成の視点」41、「分析モデルとしてのデータ分析モデル図とオブジェクト図」42、「属性操作」43、「属性制約」44が登録されている。
【００３２】
分析モデル作成の視点41とは、ソフトウェアを開発する際に、ソフトウェア開発工程の１つである分析工程において作成される分析モデルをどのような視点で作成したかを体系化した情報である。
【００３３】
分析モデル42とは、ソフトウェア開発工程における分析工程において作成されるドキュメントであり、その中で今回は、データ分析モデルとオブジェクトを対象にして図で表したものである。
【００３４】
データ分析モデルとは、開発しようとするソフトウェアが管理対象とするオブジェクトを抽象化したクラスとそのクラス間の関係を示したものである。
【００３５】
オブジェクト図は、データ分析モデル図をもとに、そのクラスが保有する属性の実際の値を代入したオブジェクトで、そのオブジェクト間の関係を示したものである。
【００３６】
属性操作43とは、データ分析モデル図、オブジェクト図に記載される属性に対して行われる操作を体系化した情報である。
【００３７】
属性制約44とは、データ分析モデル図、オブジェクト図に記載される属性の値に対して課せられる制約を体系化した情報である。分析モデル作成の視点41、属性操作43、属性制約44は、図１で示した概念階層の構造になっているものである。これら３つの概念階層は、ある特定分野のソフトウェア(例えば、通信装置管理ソフトウェア)においては、共通的に利用可能と考えられるため、予め構築しておくことが可能である。
【００３８】
構築の手順は以下のとおりである。
【００３９】
(a)分析モデル作成の視点41とデータ分析モデル図を第２記憶装置40から取得し、分析モデル作成の視点41の概念階層の末端に該当する分析モデルを付随させる。付随させたものを入力概念体系21として、第１記憶装置20に登録する(31)。
【００４０】
(b)属性操作43を第２記憶装置40から、入力概念体系21を第１記憶装置20から取得し、属性操作43の概念階層の末端に入力概念体系21を付随させる。付随させたものを振舞概念体系22として、第１記憶装置20に登録する(32)。
【００４１】
(c)属性制約44を第２記憶装置40から、入力概念体系21を第１記憶装置20から取得し、属性制約44の概念階層の末端に入力概念体系21を付随させる。付随させたものを出力概念体系23として、第１記憶装置20に登録する(33)。
【００４２】
尚、手順(b)と(c)の順序は入れ替わってもよい。
【００４３】
以上より、構築される各概念体系21〜23は、図４、図５、図６に示す構造になる。図４は入力概念体系21を表す図、図５は振舞概念体系を表す図、図６は出力概念体系を表す図である。
【００４４】
また、図４に示す入力概念体系は、上部に分析モデリング時の視点を分類概念として配置し、下部に分析モデルに含まれる語彙を分類概念として配置したものである。
【００４５】
図５に示す振舞概念体系は、上部に分析モデルの語彙に対する操作を分類概念として配置し、下部に入力概念体系を分類概念として配置したものである。
【００４６】
図６に示す出力概念体系は、上部に分析モデルの語彙に対する制約を分類概念として配置し、下部に入力概念体系を分類概念として配置したものである。
【００４７】
概念体系の下部は開発するソフトウェアの種別に応じて異なるが、上部はある特定のソフトウェアにおいては共通化でき、ソフトウェア開発に先立って予め構築することができる。従って、概念体系上部を予め作っておき、開発するソフトウェアに応じて、CASEツール等から分析モデルの語彙を抽出することにより、概念体系の構築をある程度自動化することができる。
【００４８】
次に、コンポーネント再利用のための概念体系構築システムの構成を図７に示す。
【００４９】
図７に示すとおり、システム50は、周知のＣＰＵを主体として構成されたコンピュータ装置からなり、モデル描画部51、ソースコード作成部52、オントロジーリポジトリ53、コンポーネントリポジトリ54、制御部55、ユーザインタフェース部56の６つのモジュールから構成されている。
【００５０】
モデル描画部51は、ソフトウェアを開発するために必要な分析モデル、設計モデルを描画するために使用するモジュールであり、既存CASEツールを用いても構わない。
【００５１】
ソースコード作成部52は、作成された設計モデルをもとに、Java（登録商標）、C++等の実装言語を用いてソースコードを作成・編集するモジュールであり、既存IDE  (Integrated Development Environment)等のツールを用いても構わない。
【００５２】
オントロジーリポジトリ53は、第１記憶装置20及び第２記憶装置40に相当するものを具備し、ソフトウェアコンポーネントを登録・検索するために用いる概念体系等を保存するモジュールであり、XMLデータ等で保持する。
【００５３】
コンポーネントリポジトリ54は、登録されたソフトウェアコンポーネントを保持するモジュールであり、各ソフトウェアコンポーネントにはそれを一意に判別するためのコンポーネントIDが付与されている。また、コンポーネントリポジトリ54は、概念インスタンスとコンポーネントIDとの対応表を保持している。
【００５４】
制御部55は、前述した５つのモジュール51〜54,56と接続され、各モジュール間の情報を、または各モジュール間の情報を組み合わせた情報を、受け渡すモジュールである。
【００５５】
ユーザインタフェース部56は、キーボードやマウス等を含む情報入力部（図示せず）及びディスプレイ等の表示器を含む情報提示部（図示せず）を備え、制御部55を介して第１記憶装置20及び第２記憶装置40に接続されて、これらへの情報アクセスが可能になっている。また、ユーザインタフェース部56は、ソフトウェアコンポーネント作成者やソフトウェア開発者等のユーザが入力する登録・検索に必要な情報の受付部であり、また各記憶装置に記億されている階層構造の表示、及び登録・検索結果を表示するものである。
【実施例１】
【００５６】
以下、一実施例として、イーサネット（登録商標）網において、イーサネット網を利用するユーザ毎に、ユーザ識別子としてVLAN-IDを、イーサネット網を構成する各装置に設定するソフトウェアシステムを適用した一例に関して説明する。
【００５７】
VLAN-ID値生成を行うソフトウェア部分をソフトウェアコンポーネント化する。設定されるVLAN-ID値は、一般的に各装置が具備する機能、装置接続形態等により決められる設定内容によって決定されるため、このようなソフトウェアコンポーントを予め作成しておくことで、既存のソフトウェアシステムが取り扱っていなかった、新たな装置・装置接続形態が取り扱い対象となる場合、ソフトウェアシステムのプログラムコードを新規に作成することなく、該当するソフトウェアコンポーネントを選択することで、既存ソフトウェアシステムの取扱いが可能となる。
【００５８】
(1)概念体系上部の事前構築
(a)分析モデルの視点
図８に示すような分析モデルの視点41に関する概念体系を予め構築し、第２記憶装置40に登録しておく。
【００５９】
図８に示す分析モデリング時の視点41に関する概念体系では、第１階層の入力概念101が「管理情報構成種別」という分類子102によって分類され、分類子102が付随された分岐点103を介して第２階層の「接続情報」という分類概念111と「装置情報」という分類概念121に分岐されている。
【００６０】
また、「接続情報」という分類概念111は「情報種別」という分類子112によって分類され、分類子112が付随された分岐点113を介して第３階層の「物理情報」という分類概念131と「論理情報」という分類概念141に分岐されている。
【００６１】
さらに、「物理情報」という分類概念131は「管理オブジェクト」という分類子132によって分類され、分類子132が付随された分岐点133を介して第４階層の「分析モデル」という分類概念134に至る。この「分析モデル」という分類概念134は末端の分類概念となっている。
【００６２】
また、第３階層の「論理情報」という分類概念141は「管理オブジェクト」という分類子142によって分類され、分類子142が付随された分岐点143を介して第４階層の「分析モデル」という分類概念144に至る。この「分析モデル」という分類概念144は末端の分類概念となっている。
【００６３】
また、第２階層の「装置情報」という分類概念121は「情報種別」という分類子122によって分類され、分類子122が付随された分岐点123を介して第３階層の「物理情報」という分類概念151と「論理情報」という分類概念161に分岐されている。
【００６４】
さらに、「物理情報」という分類概念151は「管理オブジェクト」という分類子152によって分類され、分類子152が付随された分岐点153を介して第４階層の「分析モデル」という分類概念154に至る。この「分析モデル」という分類概念154は末端の分類概念となっている。
【００６５】
また、第３階層の「論理情報」という分類概念161は「管理オブジェクト」という分類子162によって分類され、分類子162が付随された分岐点163を介して第４階層の「分析モデル」という分類概念164に至る。この「分析モデル」という分類概念164は末端の分類概念となっている。
【００６６】
(b)属性操作
図９に示すような属性操作43に対する概念体系を予め構築し、第２記憶装置40に登録しておく。
【００６７】
図９に示す属性操作43に関する概念体系では、第１階層の振舞概念201が「払出方法」という分類子202によって分類され、分類子202が付随された分岐点203を介して第２階層の「既設定値」という分類概念211と「既設定値演算」という分類概念221、「既設定値組合せ」という分類概念231、「演算値組合せ」という分類概念241に分岐されている。
【００６８】
第２階層の「既設定値」という分類概念211は「既設定情報種別」という分類子212によって分類され、分類子212が付随された分岐点213を介して第３階層の「ＤＢ情報」という分類概念214と「オペレータ入力項目」という分類概念215に分岐されている。さらに「ＤＢ情報」という分類概念214は第４階層の「入力概念」216に至り、「オペレータ入力項目」という分類概念215は第４階層の「入力概念」217に至る。
【００６９】
また、第２階層の「既設定値演算」という分類概念221は「演算種別」という分類子222によって分類され、分類子222が付随された分岐点223を介して第３階層の「＋１加算」という分類概念224と、「−１減算」という分類概念225と、「１０乗算」という分類概念226に分岐されている。さらに、「−１減算」という分類概念225は「既設定情報種別」という分類子227によって分類され、分類子227が付随された分岐点228を介して第４階層の「ＤＢ情報」という分類概念241と「オペレータ入力項目」という分類概念242に分岐されている。さらに、さらに「ＤＢ情報」という分類概念241は第５階層の「入力概念」243に至り、「オペレータ入力項目」という分類概念242は第５階層の「入力概念」244に至る。
【００７０】
また、第２階層の「既設定値組合せ」という分類概念231は「組合せ項目」という分類子232によって分類され、分類子232が付随された分岐点233を介して第３階層の「２項目」という分類概念234と、「３項目」という分類概念235と、「４項目」という分類概念236に分岐されている。
【００７１】
(c)属性制約
図１０に示すような属性制約44に対する概念体系を予め構築し、第２記憶装置40に登録しておく。
【００７２】
図１０に示す属性制約44に関する概念体系では、第１階層の出力概念301が論理演算「ＡＮＤ」によって２つに分岐され、一方は「出力値」という分類子302によって分類され、分類子302が付随された分岐点303を介して第２階層の「入力概念」304に至る。また、他方は「出力値制約」という分類子305によって分類され、分類子305が付随された分岐点306を介して第２階層の「無」という分類概念311と「有」という分類概念312に分岐されている。
【００７３】
第２階層の「有」という分類概念は「制約種別」という分類子313によって分類され、分類子313が付随された分岐点314を介して第３階層の「制約範囲」という分類概念321と「一意性制約」という分類概念331に分岐されている。
【００７４】
第３階層の「範囲制約」という分類概念321は「制約範囲」という分類子322によって分類され、分類子322が付随された分岐点323を介して第４階層の「使用可能値」という分類概念341と、「使用禁止値」という分類概念342と、「使用可値・禁止値」という分類概念343に分岐されている。
【００７５】
第４階層の「使用可値・禁止値」という分類概念343は「既設定情報種別」という分類子344によって分類され、分類子344が付随された分岐点345を介して第５階層の「ＤＢ情報」という分類概念346と「オペレータ入力項目」という分類概念347に分岐されている。さらに、第５階層の「ＤＢ情報」という分類概念346は第６階層の「入力概念」348に至り、第５階層の「オペレータ入力項目」という分類概念347は第６階層の「入力概念」349に至る。
【００７６】
また、第３階層の「一意性制約」という分類概念331は「一意情報種別」という分類子332によって分類され、分類子332が付随された分岐点333を介して第４階層の「ＤＢ情報」という分類概念334と「オペレータ入力項目」という分類概念335に分岐されている。さらに、第４階層の「ＤＢ情報」という分類概念334は第５階層の「入力概念」336に至り、第４階層の「オペレータ入力項目」という分類概念335は第５階層の「入力概念」337に至る。
【００７７】
(2)分析モデル
ソフトウェアシステム構築時に、図１１、図１２に示すデータ分析モデル、オブジェクトモデルを分析工程において構築し、第２記憶装置40に登録しておく。
【００７８】
また、データ分析モデルにおいて、各クラスは図８に示した分析モデルの視点の概念体系に従って作成され、作成されたクラスには分析モデルの視点のどこに該当しているかという情報(以下、該当情報という)をメタ情報として保持しておく。例えばUML(Unified Modeling Language)をデータ分析モデル描画にしようする場合は、ステレオタイプとしてその該当情報を保持することが可能である。今回の例において、図１１のクラス“CrossConnect”は、該当情報として、“接続情報／論理情報／管理オブジェクト”がステレオタイプによって保持される。
【００７９】
図１１に示すデータ分析モデル図の例では、５つの物理情報に関するクラス80〜84と４つの論理情報に関するクラス85〜88及び１つのサービス情報に関するクラス89の関係が表されている。
【００８０】
また、図１２に示すオブジェクト図では、４つの監視対象装置91a〜91dに対する６つのＰＴＰ92a〜92fの関係及びこれらのＰＴＰ92a〜92fに対する３つのＴＬ93a〜93cの関係が表されている。
【００８１】
(3)概念構築
前述した(1)、(2)が完了した後、以下の手順で各概念が構築される。
【００８２】
(a)入力概念体系の構築
i.第２記憶装置40から、分析モデル作成の視点41に関する概念体系及びデータ分析モデル図、オブジェクト図を取得する。
【００８３】
ii.分析モデル作成の視点41に関する概念体系の末端の“分析モデル”134,144,154,164に該当するデータ分析モデル図のクラス名を分類概念として、該当情報を用いて付随させていく。
【００８４】
さらに付随させたクラスに対し、“保有属性”を分類子として付随させていく。また更に、その分類子に対してそのクラスが保有する属性をデータ分析モデルから取得し、分類概念として付随させていく。またさらに、その分類概念に対する実際のオブジェクトがオブジェクト図に記述されている場合は、そのオブジェクトの属性値を分類概念、“インスタンス”を分類子として付随させる。
【００８５】
例えば、図８において、入力概念／装置情報／論理情報の末端にある“分析モデル”164に該当するのは、図１１の“監視対象装置”81、“PTP”82であり、これらが分類概念となる。また“監視対象装置”81の分類子として“保有属性”を付随させ、分類概念として“ID”、“装置名”、“装置種別”、“設置場所”を付随させる。またさらに“監視対象装置”81に対するオブジェクトが図１２のオブジェクト図に存在するため、“インスタンス”を分類子として、実際の属性値(ER、コア中継SW(Switch)、アクセスSW、OLT)を分類概念として付随させる。
【００８６】
今回の例では図１３に示す結果になる。
【００８７】
iii.構築された入力概念体系を第１記憶装置20に登録する。
【００８８】
図１３に示す入力概念体系では、第１階層の入力概念401が「管理情報構成種別」という分類子402によって分類され、分類子402が付随された分岐点403を介して第２階層の２つの分類概念「接続情報」404と「装置情報」407に分岐されている。
【００８９】
第２階層の「接続情報」という分類概念404は「情報種別」という分類子405によって分類され、分類子405が付随された分岐点406を介して２つの分類概念「物理情報」411と「論理情報」421に分岐されている。
【００９０】
第３階層の「物理情報」という分類概念411は「管理オブジェクト」という分類子412によって分類され、分類子412が付随された分岐点413を介して「Route」という分類概念414と「TL」という分類概念415に分岐されている。
【００９１】
第４階層の「TL」という分類概念415は「保有属性」という分類子416によって第５階層の「ID」という分類子418aと、「ルートID」という分類子418bと、「ispPTPID」という分類子418cと、「userPTPID」という分類子418dに分岐されている。
【００９２】
第３階層の「論理情報」という分類概念421は、「管理オブジェクト」という分類子422によって分類され、分類子422が付随された分岐点423を介して３つの分類概念「Trail」431、「LC」441、「XC」451に分岐されている。
【００９３】
第４階層の「Trail」という分類概念431は、「保有属性」という分類子432によって分類され、分類子432が付随された分岐点433を介して第５階層の２つの分類概念「ID」434aと「ルートID」434bに分岐されている。
【００９４】
第４階層の「LC」という分類概念441は、「保有属性」という分類子442によって分類され、分類子442が付随された分岐点443を介して第５階層の５つの分類概念「ID」444a、「TrailID」444b、「ispCTPID」444c、「userCTPID」444d、「TLID」444eに分岐されている。
【００９５】
第４階層の「XC」という分類概念451は、「保有属性」という分類子452によって分類され、分類子452が付随された分岐点453を介して第５階層の４つの分類概念「ID」454a、「ispCTPID」454b、「userCTPID」454c、「TrailID」454dに分岐されている。
【００９６】
また、第２階層の「装置情報」という分類概念407は、「情報種別」という分類子408によって分類され、分類子408が付随された分岐点409を介して第３階層の２つの分類概念「物理情報」461と「論理情報」491に分岐されている。
【００９７】
第３階層の「物理情報」という分類概念461は、「管理オブジェクト」という分類子462によって分類され、分類子462が付随された分岐点463を介して２つの分類概念「監視装置」471と「PTP」481に分岐されている。
【００９８】
第４階層の「監視装置」という分類概念471は、「保有属性」という分類子472によって分類され、分類子472が付随された分岐点473を介して４つの分類概念「ID」474a、「装置名」474b、「装置種別」474c、「設置場所」474dに分岐されている。さらに、第５階層の「装置種別」という分類概念474cは、「インスタンス」という分類子475によって分類され、分類子475が付随された分岐点476を介して４つの分類概念「ER」477a、「コア中継SW」477b、「アクセスSW」477c、「OLT」477dに分岐されている。
【００９９】
第４階層の「ＰＴＰ」という分類概念481は、「保有属性」という分類子482によって分類され、分類子482が付随された分岐点483を介して４つの分類概念「ID」484a、「MEID」484b、「ポート方向」484c、「ポート名」484dに分岐されている。さらに、第５階層の「ポート方向」という分類概念484cは「インスタンス」という分類子485によって分類され、分類子485が付随された分岐点486を介して２つの分類概念「NW(Network)上部」487aと「NW下部」487bに分岐されている。
【０１００】
第３階層の「論理情報」という分類概念491は、「管理オブジェクト」という分類子492によって分類され、分類子492が付随された分岐点493を介して第４階層の「ＣＴＰ」という分類概念494に至る。この「ＣＴＰ」という分類概念494は、「保有属性」という分類子495によって分類され、分類子495が付随された分岐点496を介して３つの分類概念「VLAN-ID」497a、「ID」497b、「ptpID」497cに分岐されている。
【０１０１】
(b)振舞概念体系の構築
i.第２記憶装置40から属性操作43に関する概念体系、第１記憶装置20から入力概念体系を取得する。
【０１０２】
ii.属性操作43に関する概念体系の末端の“入力概念”に、第１記憶装置20から取得した入力概念体系を付属させていく。
【０１０３】
iii.構築された振舞概念体系を第１記憶装置20に登録する。
【０１０４】
(c)出力概念体系の構築
i.第２記憶装置40から属性制約44に関する概念体系、第１記憶装置20から入力概念体系を取得する。
【０１０５】
ii.属性制約44に関する概念体系の末端の“入力概念”に、第１記憶装置20から取得した入力概念体系を付属させていく。
【０１０６】
iii.構築された出力概念体系を第１記憶装置20に登録する。
【０１０７】
前述したように本実施形態の概念体系構築方法及びそのシステムによれば、ソフトウェアコンポーネント登録・検索方法を行うための概念体系を、開発対象となるソフトウエアに応じて容易に構築可能となり、ソフトウェアコンポーネント登録・検索環境が整い、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者の登録、ソフトウェア開発者の検索が容易になり、ソフトウェア開発の効率を高めることができる。
【図面の簡単な説明】
【０１０８】
【図１】本発明において構築しようとする概念体系の階層構造を示す図
【図２】本発明の一実施形態におけるコンポーネントと概念体系との対応付けを説明する図
【図３】本発明の一実施形態における概念体系の構築方法を説明する図
【図４】本発明の一実施形態において構築される入力概念体系の概略を説明する図
【図５】本発明の一実施形態において構築される振舞概念体系の概略を説明する図
【図６】本発明の一実施形態において構築される出力概念体系の概略を説明する図
【図７】本発明の一実施形態におけるソフトウェアコンポーネント再利用システムの構成を示す図
【図８】本発明の一実施例における分析モデリング時の視点に関する概念体系の一部を示す図
【図９】本発明の一実施例における属性操作に関する概念体系の一部を示す図
【図１０】本発明の一実施例における属性制約に関する概念体系の一部を示す図
【図１１】本発明の一実施例におけるデータ分析モデル図を示す図
【図１２】本発明の一実施例におけるオブジェクト図を示す図
【図１３】本発明の一実施例において構築された入力概念体系を示す図
【符号の説明】
【０１０９】
11…トップ概念、12…分岐点、13…分類子、14…分類概念、20…第１記憶装置、21…入力概念体系、22…振舞概念体系、23…出力概念体系、24…概念ラベル、25…コンポーネント、40…第２記憶装置、41…分析モデル作成の視点、42…分析モデル、43…属性操作、44…属性制約、50…ソフトウェアコンポーネント再利用システム、51…モデル描画部、52…ソースコード作成部、53…オントロジーリポジトリ、54…コンポーネントリポジトリ、55…制御部、56…ユーザインタフェース部、71,72…タイプ73,74,75…アクション。
【図１】
2007226376.tif 000003
【図２】
2007226376.tif 000004
【図３】
2007226376.tif 000005
【図４】
2007226376.tif 000006
【図５】
2007226376.tif 000007
【図６】
2007226376.tif 000008
【図７】
2007226376.tif 000009
【図８】
2007226376.tif 000010
【図９】
2007226376.tif 000011
【図１０】
2007226376.tif 000012
【図１１】
2007226376.tif 000013
【図１２】
2007226376.tif 000014
【図１３】
2007226376.tif 000015