JP2006244014A - ソフトウェアコンポーネント登録・検索方法及びそのシステム - Google Patents

ソフトウェアコンポーネント登録・検索方法及びそのシステム Download PDF

Info

Publication number
JP2006244014A
JP2006244014A JP2005057209A JP2005057209A JP2006244014A JP 2006244014 A JP2006244014 A JP 2006244014A JP 2005057209 A JP2005057209 A JP 2005057209A JP 2005057209 A JP2005057209 A JP 2005057209A JP 2006244014 A JP2006244014 A JP 2006244014A
Authority
JP
Japan
Prior art keywords
concept
classification
software component
instance
software
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.)
Granted
Application number
JP2005057209A
Other languages
English (en)
Other versions
JP4570147B2 (ja
Inventor
Masateru Inoue
正輝 井上
Takashi Inoue
貴司 井上
Yasumi Matsuyuki
康巳 松雪
Tetsuya Yamamura
哲哉 山村
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005057209A priority Critical patent/JP4570147B2/ja
Publication of JP2006244014A publication Critical patent/JP2006244014A/ja
Application granted granted Critical
Publication of JP4570147B2 publication Critical patent/JP4570147B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ソフトウェア開発効率向上を得る、コンポーネントの登録・検索方法の提供。
【解決手段】振舞概念、入力概念、出力概念という概念を定義し、登録対象のソフトウェアコンポーネントから概念インスタンスを抽出し、ソフトウェアコンポーネントを記憶装置2(104)に登録する。さらに、抽出した概念インスタンスが保有する属性と、分類の根拠を示す分類子を付属させた階層構造において対応する末端の分類概念を決定し、概念インスタンスと末端分類概念の関連情報をXMLデータとして記憶装置1(103)に保存して登録する。また、検索時は、要求するソフトウェアコンポーネントの概念インスタンスの属性に基づいて記憶装置1(103)の階層構造で全ての概念インスタンスの属性から対応する概念インスタンスを取得し、得られた概念インスタンスの集合を持つソフトウェアコンポーネントを記憶装置2(104)から取得して提示する。
【選択図】図1

Description

本発明は、ソフトウェア開発において作成したソフトウェアコンポーネントを登録・検索するための方法及びそのシステムに関する。
ソフトウェア開発において、効率的な開発を行うために、既存ソフトウェア開発で作成されたソフトウェアコンポーネントを再利用することが有効とされており、従来から再利用方法の検討がなされている。
再利用を行うためには、ソフトウェアコンポーネントを記憶装置に登録し、検索する必要がある。このため、ソフトウェアコンポーネント作成者が作成したソフトウェアコンポーネントを記憶装置に登録し、ソフトウェア開発者が記憶装置から再利用可能なソフトウェアコンポーネントを検索することとなる。
このようなソフトウェアコンポーネントの登録及び検索の方法に関しては様々な研究がなされている。例えば、非特許文献1(門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告 ソフトウェア工学、No.136−19、2002、141〜146頁)には、ソフトウェアコンポーネントの登録・検索方法についての検討が開示されており、登録時には、ソフトウェアコンポーネントの分野、機能をキーワード(キーワードは予め決められた語彙から選択する)として、木構造で分類保存することによりソフトウェアコンポーネントを登録し、検索時には、検索したいソフトウェアコンポーネントの分野、機能を決定し、それらをキーワードとして木構造から検索する。
また、非特許文献2(榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No.38、2003、70〜79頁)には、ソフトウェアコンポーネントだけでなく、ソフトウェア開発に関わる仕様書等のドキュメントを再利用するための標準規格RAS(Reusable Asset Speficications)についての説明、及びAsset(ソフトウェアコンポーネント、仕様書等)を第三者間との流通を円滑に行うための、Assetのカタログ情報の規格化について記載されている。
また、非特許文献3(“コンポーネント仕様/品質公開情報規約 第2版”、[online]、2002年2月4日、EJBコンポーネントに関するコンソーシアム、[平成17年2月21日検索]、インターネット<URL:http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF>)には、EJBコンポーネント(Javaコンポーネントの一種)を第三者間との流通を円滑に行うための、EJBコンポーネントのカタログ情報の規格化について開示されている。
さらに、この種の登録・検索方法に関する文献としては、特開平07−085102号公報「文書検索方法」(特許文献1)、特公平07−027532号公報「情報検索方法及びシステム」(特許文献2)、特開平10−334111号公報「データ登録方法」(特許文献3)、特開2004−213360号公報「データ検索システム及びデータ検索装置」(特許文献4)が知られている。
門脇、小泉「知識情報管理によるソフトウェア再利用方式の一提案」情報処理学会研究報告 ソフトウェア工学、No.136−19、2002、141〜146頁 榊原「ツールによるアセット再利用支援に関する考察」ProVISION、No.38、2003、70〜79頁 "コンポーネント仕様/品質公開情報規約 第2版"、[online]、2002年2月4日、EJBコンポーネントに関するコンソーシアム、[平成17年2月21日検索]、インターネット<URL:http://www.ejbcons.gr.jp/rules/IN-01-01-PR.PDF> 特開平07−085102号公報「文書検索方法」 特公平07−027532号公報「情報検索方法及びシステム」 特開平10−334111号公報「データ登録方法」 特開2004−213360号公報「データ検索システム及びデータ検索装置」
ソフトウェアコンポーネント作成者が登録を行うとき、ソフトウェアコンポーネント作成者がある観点で分類化した階層構造をつくり、そこにソフトウェアコンポーネントを当てはめることとなる。
しかし、ソフトウェアコンポーネント作成者が登録するための階層構造を作り出すには、そのソフトウェアコンポーネントで実現される機能の背景にある知識を有する必要があり、知識を有しない者には、容易には行えない。
また、仮にソフトウェアコンポーネント作成者がある階層構造をつくり、別のソフトウェアコンポーネント作成者が登録を行う場合、そのソフトウェアコンポーネント作成者は、階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造のどこに登録すべきかわからず、全ての階層を調べ、ソフトウェアコンポーネントがどの階層に存在するか判断する必要があり、登録が容易に実行できない。
さらに、同様にソフトウェア開発者は、その階層構造をつくりだした基となる観点を共有し理解できなければ、階層構造にあるソフトウェアコンポーネント全てを調べ、目的とするソフトウェアコンポーネントが存在するか判断する必要があり、検索が容易に実行できない。
さらにまた、ソフトウェアコンポーネント作成者とソフトウェア開発者が同じ者であっても、登録時の階層構造をつくりだした基となる観点を時間の経過により忘れてしまい、検索が容易に行えなくなる。
これらの理由により、ソフトウェアコンポーネントの再利用が実現できておらず、既存ソフトウェアコンポーネントを利用できるにも拘わらず、新規にソフトウェアを開発することになってしまい、ソフトウェア開発効率低下の要因となっている。
本発明は上記の問題点に鑑みてなされたものであり、その目的とするところは、ソフトウェア開発の効率向上を図ることができるソフトウェアコンポーネントの登録・検索方法及びそのシステムを提供することである。
本発明は上記の目的を達成するために、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される記憶装置を備え、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて前記記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索するソフトウェアコンポーネントの登録・検索方法であって、ソフトウェアコンポーネント登録時に、コンピュータ装置は、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶装置に格納して登録し、ソフトウェアコンポーネント検索時に、コンピュータ装置は、ソフトウェアコンポーネントを検索するために入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶装置から取得して提示するソフトウェアコンポーネントの登録・検索方法を提案する。
本発明のソフトウェアコンポーネントの登録・検索方法によれば、ソフトウェアコンポーネント登録時には、コンピュータ装置によって、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念が決定され、該決定された末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントが記憶装置に格納されて登録される。
これにより、記憶装置には、ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される。
また、ソフトウェアコンポーネント検索時に、コンピュータ装置によって、ソフトウェアコンポーネントを検索するために入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念が、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索されて、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントが記憶装置から取得され、これが提示される。
また、本発明は上記方法を実現するためのシステムとして、ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索して提示するソフトウェアコンポーネント登録・検索システムであって、情報入力手段と、情報提示手段と、前記ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される記憶手段と、ソフトウェアコンポーネント登録時に、ソフトウェアコンポーネントを登録するために前記情報入力手段から入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶手段に格納して登録する登録手段と、ソフトウェアコンポーネント検索時に、ソフトウェアコンポーネントを検索するために前記情報入力手段から入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶手段に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶手段から取得して前記情報提示手段を介して提示する検索手段とを備えているソフトウェアコンポーネントの登録・検索システムを提案する。
本発明のソフトウェアコンポーネントの登録・検索方法及びそのシステムによれば、分類するに至った根拠を示す分類子により複数の分類概念へ分類する際の分類化の観点が明示され、この分類子が付随される統一的な階層構造に従った登録・検索が行われるため、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者によるソフトウェアコンポーネントの登録及びソフトウェア開発者によるソフトウェアコンポーネントの検索を容易に行えるようになり、ソフトウェア開発における効率を向上させることができる。
本実施形態では、ソフトウェアコンポーネント登録時に用いられる観点としてソフトウェアコンポーネントの概念を用いる。ソフトウェアコンポーネントの概念としては、例えばその振舞に関する概念(振舞概念インスタンス)、入力に関する概念(入力概念インスタンス)、及び出力に関する概念(出力概念インスタンス)の3つの概念を用い、これらを統一的な概念体系を用いて表現し、この概念体系を用いてソフトウェアコンポーネントの登録と検索を行う。
以下、一例として、イーサネット網において、イーサネット網を利用するユーザ毎に、ユーザ識別子としてVLAN−IDを、イーサネット網を構成する各装置に設定するソフトウェアシステムを適用する。
VLAN−ID値生成を行うソフトウェア部分をソフトウェアコンポーネント化する。設定されるVLAN−ID値は、各装置が具備する機能および装置接続形態等により決められる設定内容によって決定されるため、このようなソフトウェアコンポーネントを予め作成しておくことで、既存のソフトウェアシステムが取り扱っていなかった、新たな装置や装置接続形態が取り扱い対象となる場合、ソフトウェアシステムのプログラムコードを新規に作成することなく、該当するソフトウェアコンポーネントを選択することで、既存ソフトウェアシステムが取り扱い可能となる。
しかし、ソフトウェアコンポーネントを検索するには、上記「4.本発明が解決する課題」に記載した問題が発生するため、本実施形態では以下のことを行っている。
(1)システム構成
本実施形態におけるソフトウェアコンポーネント登録・検索システムの構成を図1に示す。図において、1はソフトウェアコンポーネント作成者或いはソフトウェア開発者等のユーザである。100は登録・検索システムで、101はユーザインタフェースを含むコンピュータ装置102と、記憶装置1(103)、記憶装置2(104)を備えている。
ユーザインタフェース101は、キーボードやマウス等を含む情報入力部(図示せず)及びディスプレイ等の表示器を含む情報提示部(図示せず)を備え、記憶装置1(103)及び記憶装置2(104)に接続されて、これらへの情報アクセスが可能になっている。
記憶装置1(103)は、例えば周知のハードディスク装置からなり、後述する階層構造を記憶する装置である。記憶装置2(104)は、例えば周知のハードディスク装置からなり、ソフトウェアコンポーネントを記憶する装置であり、後述する概念インスタンスの集合を検索キーとしてソフトウェアコンポーネントを取得可能である。
ユーザインタフェース101は、ソフトウェアコンポーネント作成者やソフトウェア開発者等のユーザが入力する登録・検索に必要な情報の受付部であり、また記憶装置1(103)に記億されている階層構造の表示、及び登録・検索結果を表示するものである。
(2)ソフトウェアコンポーネントの概念体系化
ソフトウェアコンポーネントを特徴付けるキーワードとなる、振舞、入力、出力を概念として抽出する。この概念の要素を概念インスタンスと称する。
次に、図2に示すように、概念毎に概念の分類化を行う。この分類された結果の概念を分類概念という。さらに、元となる概念と分類概念を階層構造で表現する。このとき、分類化の根拠となったもの(以下、分類子と称する)を元概念と分類概念の階層間に付随させる。考えられる範囲で分類化しておく。
図2に示す一例では、第1階層の概念201が分類子202によって分類され、この分類子202が付随された分岐点203を介して第2階層の分類概念204,205に分岐されている。さらに、分類概念204は分類子206によって分類され、分類子206が付随された分岐点207を介して第3階層の分類概念208,209に分岐され、分類概念208から分岐した最下層の分類概念210までが表されている。
以上のような階層構造を、ソフトウェアコンポーネント登録を行う前に事前に作成し、記憶装置1(103)に登録しておく。
例えば、上記のような階層構造をVLAN−ID値払出しソフトウェアコンポーネントに適用した場合は、図3乃至図5のようになる。
即ち、図3に示す振舞概念の階層構造では、第1階層の振舞概念301が「装置情報依存」という分類子302によって分類され、分類子302が付随された分岐点303を介して第2階層の「なし」という分類概念311と「有」という分類概念321に分岐されている。
また、「なし」という分類概念311は「値の連続性」という分類子312によって分類され、分類子312が付随された分岐点313を介して第3階層の「連続」という分類概念314と「不連続」という分類概念315に分岐されている。
さらに、「連続」という分類概念314は「値の順序性」という分類子316によって分類され、分類子316が付随された分岐点317を介して第4階層の「降順」という分類概念318と「昇順」という分類概念319に分岐されている。これらの「降順」という分類概念318と「昇順」という分類概念319は末端の分類概念となっている。
また、第2階層の「有」という分類概念321は「依存装置」という分類子322によって分類され、分類子322が付随された分岐点323を介して第3階層の「自装置」という分類概念324と「他装置」という分類概念325に分岐されている。
さらに、「自装置」という分類概念324は「依存情報」という分類子326によって分類され、分類子326が付随された分岐点327を介して第4階層の「論理ポート」という分類概念329と「物理ポート」という分類概念330に分岐されている。また、「他装置」という分類概念325は上記「依存情報」という分類子326によって分類され、分類子326が付随された分岐点328を介して第4階層の「論理ポート」という分類概念331と「物理ポート」という分類概念332に分岐されている。これら第4階層の「論理ポート」という分類概念329と「物理ポート」という分類概念330及び「論理ポート」という分類概念331と「物理ポート」という分類概念332は、末端の分類概念となっている。
また、図4に示す出力概念の階層構造では、第1階層の出力概念401が分類子の無いANDによって2つに分岐され、一方で「制約範囲」という分類子411によって分類され、分類子411が付随された分岐点412を介して第2階層の「使用可能」という分類概念413と「使用不可能」という分類概念414と「使用可・不可能」という分類概念415に分岐され、他方で「一意性制約範囲」という分類子421によって分類され、分類子421が付随された分岐点422を介して第2階層の「装置」という分類概念423と「論理ポート」という分類概念424と「物理ポート」という分類概念425に分岐されている。ここでは、第2階層の分類概念が末端の分類概念となっている。
また、図5に示す入力概念の階層構造では、第1階層の入力概念501が「情報種別」という分類子502によって分類され、分類子502が付随された分岐点503を介して第2階層の「VLAN-ID情報」という分類概念511と「装置情報」という分類概念521に分岐されている。
さらに、第2階層の「VLAN-ID情報」という分類概念511は「VLAN-ID種別」という分類子512によって分類され、分類子512が付随された分岐点513を介して第3階層の「コア網側VLAN-ID」という分類概念514と「ユーザ網側VLAN-ID」という分類概念515に分岐されている。これらの「コア網側VLAN-ID」という分類概念514と「ユーザ網側VLAN-ID」という分類概念515は、末端の分類概念となっている。
また、第2階層の「装置情報」という分類概念521は「依存装置」という分類子522によって分類され、分類子522が付随された分岐点523を介して第3階層の「自装置」という分類概念524と「他装置」という分類概念525に分岐されている。
さらに、第3階層の「自装置」という分類概念524は「依存情報」という分類子526によって分類され、分類子526が付随された分岐点527を介して第4階層の「論理ポート」という分類概念529と「物理ポート」という分類概念530に分岐されている。また、「他装置」という分類概念525は上記「依存情報」という分類子526によって分類され、分類子526が付随された分岐点528を介して第4階層の「論理ポート」という分類概念531と「物理ポート」という分類概念532に分岐されている。これら第4階層の「論理ポート」という分類概念529と「物理ポート」という分類概念530及び「論理ポート」という分類概念531と「物理ポート」という分類概念532は、末端の分類概念となっている。
上記の振舞概念の階層構造と出力概念の階層構造及び入力概念の階層構造を予め記憶装置1(103)に格納して登録しておく。
これらの階層構造を記憶装置1(103)に登録する際には、登録データを例えば周知のXMLデータで作成して登録しておく。前述した入力概念の階層構造の場合は、図6及び図7に示すようになる。即ち、図6の階層構造では、「コア網側VLAN-ID」という分類概念514に対応づけて「x1」という概念インスタンス341が登録され、「ユーザ網側VLAN-ID」という分類概念515に対応づけて「x2」という概念インスタンス342が登録されている。さらに、「論理ポート」という分類概念529、「物理ポート」という分類概念530、「論理ポート」という分類概念531、「物理ポート」という分類概念532のそれぞれに対応づけて「x3」、「x4」、「x5」、「x6」という概念インスタンスが登録されている。
この図6に示す階層構造をXMLデータで表したものが図7に示すXMLデータである。この図7のXMLデータにおける「A」、「B」、「C」、「D」で示す行は、図6の「A」、「B」、「C」、「D」の各領域内のそれぞれにおける分類概念と分類子の関係を表している。
(3)ソフトウェアコンポーネント登録方法
ソフトウェアコンポーネント作成者は、図8に示すように以下のことを行う。
登録対象のソフトウェアコンポーネントの概念インスタンスを抽出し(SA1)、登録対象ソフトウェアコンポーネントを概念インスタンスを検索キーとして、ユーザインタフェース101を介して記憶装置2(104)に登録する(SA2)。さらに、前記抽出した概念インスタンスが保有する属性が、ユーザインタフェース101に表示された記憶装置1(103)の階層構造上で、分類子及びそれによって分類された分類概念を選択していくことによって、どの分類概念に対応するか決定し、末端となる分類概念を決定する(SA3)。この後、末端となる分類概念に対して、ユーザインタフェース101を介して概念インスタンスを関連付ける(SA4)。上記SA3及びSA4の処理を全ての概念インスタンスに対して行う。
上記の処理によって、図9に示すように、末端の分類概念205,209,210のそれぞれに対して概念インスタンス211,212,213が関連付けられる。
以下に、図10乃至図12を参照して上記の関連づけの一具体例を説明する。
ここでは、振舞概念インスタンスb1の属性として、(装置情報依存:無、値の連続性:連続、値の順序性:降順)、出力概念インスタンスy1の属性として、(制約範囲:使用可能、一意性制約範囲:装置)、入力概念インスタンスx1の属性として、(情報種別:VLAN−ID情報、VLAN−ID種別:コア網側VLAN−ID)を暗黙的に保有するソフトウェアコンポーネントを登録するものとする。
この場合、登録者であるユーザ1は、図10に示すようにリレーショナルデータベースのテーブルで表現して、上記ソフトウェアコンポーネントを、各概念インスタンス(b1,y1,x1)を検索キーとしてコンポーネント名と対応づけて、ユーザインタフェース101を介して記憶装置2(104)に登録する。
さらに、ユーザ1は、振舞概念インスタンスb1の属性(装置情報依存:無、値の連続性:連続、値の順序性:降順)、出力概念インスタンスy1の属性(制約範囲:使用可能、一意性制約範囲:装置)、及び入力概念インスタンスx1の属性(情報種別:VLAN−ID情報、VLAN−ID種別:コア網側VLAN−ID)をユーザインタフェース101を介してコンピュータ装置102に入力し、登録処理を行わせる。
振舞概念インスタンスb1に対して振舞概念の階層構造の分類概念と関連づけを行う場合、コンピュータ装置102は、図11に示すように、ユーザインタフェース101の表示器に表示された振舞概念の階層構造において、ユーザインタフェース101から入力された振舞概念インスタンスb1の属性(装置情報依存:無、値の連続性:連続、値の順序性:降順)に基づいて階層を下り、最下位層(末端)の分類概念である「降順」という分類概念318を取得し、この「降順」という分類概念318と振舞概念インスタンスb1との関連情報をユーザインタフェース101を介して記憶装置1(103)に保存して登録する。
この場合、図12に示すように、予め記憶装置1(103)に保存されていた振舞概念の階層構造のXMLデータに対して概念インスタンスb1の関係情報が追加されて保存される。図12において、太枠で囲まれている3行が概念インスタンスb1の関係情報として新たに追加された情報である。
同様に、出力概念インスタンス、入力概念インスタンスに対して各階層構造の分類概念と関連づけを行う。
即ち、出力概念インスタンスy1に対して出力概念の階層構造の分類概念と関連づけを行う場合、コンピュータ装置102は、図13に示すように、ユーザインタフェース101の表示器に表示された出力概念の階層構造において、ユーザインタフェース101から入力された出力概念インスタンスy1の属性(制約範囲:使用可能、一意性制約範囲:装置)に基づいて階層を下り、最下位層(末端)の分類概念である「使用可能」という分類概念413と「装置」という分類概念423を取得し、これらの「使用可能」という分類概念413と「装置」という分類概念423と出力概念インスタンスy1との関連情報をユーザインタフェース101を介して記憶装置1(103)に保存して登録する。
また、入力概念インスタンスx1に対して入力概念の階層構造の分類概念と関連づけを行う場合、コンピュータ装置102は、図14に示すように、ユーザインタフェース101の表示器に表示された入力概念の階層構造において、入力概念インスタンスx1の属性(情報種別:VLAN−ID情報、VLAN−ID種別:コア網側VLAN−ID)に基づいて階層を下り、最下位層(末端)の分類概念である「コア網側VLAN-ID」という分類概念514を取得し、この「コア網側VLAN-ID」という分類概念514と入力概念インスタンスx1との関連情報をユーザインタフェース101を介して記憶装置1(103)に保存して登録する。
以上が、登録・検索システム100を用いて、ソフトウェア開発において作成したソフトウェアコンポーネントを登録する一具体例である。
階層構造において考えられる全てのコンポーネントを登録した場合の一例を図15乃至図18に示す。
図15に示す振舞概念の階層構造においては、末端の「降順」という分類概念318に対して概念インスタンスb1(341)が関連づけられ、「昇順」という末端の分類概念319に対して概念インスタンスb2(342)が関連づけられ、末端の「不連続」という分類概念315に対して概念インスタンスb3(343)が関連づけられ、末端の「論理ポート」という分類概念329に対して概念インスタンスb4(344)が関連づけられ、末端の「物理ポート」という分類概念330に対して概念インスタンスb5(345)が関連づけられ、末端の「論理ポート」という分類概念331に対して概念インスタンスb6(346)が関連づけられ、末端の「物理ポート」という分類概念332に対して概念インスタンスb7(347)が関連づけられて登録されている。
図16に示す出力概念の階層構造においては、末端の「使用可能」という分類概念413に対して概念インスタンスy1(431),y2(432),y3(433)が関連づけられ、「使用不可能」という末端の分類概念414に対して概念インスタンスy4(434),y5(435),y6(436)が関連づけられ、「使用可・不可能」という末端の分類概念415に対して概念インスタンスy7(437),y8(438),y9(439)が関連づけられて登録されている。さらに、「装置」という末端の分類概念423に対して概念インスタンスy1(431),y4(434),y7(437)が関連づけられ、「論理ポート」という末端の分類概念424に対して概念インスタンスy2(432),y5(435),y8(438)が関連づけられ、「物理ポート」という末端の分類概念425に対して概念インスタンスy3(433),y6(436),y9(439)が関連づけられて登録されている。この出力概念の階層構造をXMLデータで表したものが図17に示すものである。ここで、出力概念401はANDによって2つに分岐され、一方で「制約範囲」という分類子411によって分類され、他方で「一意性制約範囲」という分類子421によって分類されているが、このAND情報を表しているのが図17における太枠内の8行である。
図18に示す入力概念の階層構造においては、末端の「コア網側VLAN-ID」という分類概念514に対して概念インスタンスx1(541)が関連づけられ、末端の「ユーザ網側VLAN-ID」という分類概念515に対して概念インスタンスx2(542)が関連づけられ、末端の「論理ポート」という分類概念529に対して概念インスタンスx3(543)が関連づけられ、末端の「物理ポート」という分類概念530に対して概念インスタンスx4(544)が関連づけられ、末端の「論理ポート」という分類概念531に対して概念インスタンスx5(545)が関連づけられ、末端の「物理ポート」という分類概念532に対して概念インスタンスx6(546)が関連づけられて登録されている。
(4)検索方法
ソフトウェア開発者が、登録・検索システム100のユーザ1として、必要なソフトウェアコンポーネントの検索を行う際には、図19に示すように以下のことを行う。
即ち、ユーザ1は、要求するコンポーネントが保有すべき概念インスタンスの属性を決定し、これをユーザインタフェース101を介してコンピュータ装置102に入力する(SB1)。これにより、コンピュータ装置102は、記憶装置1(103)に登録されている階層構造をユーザインタフェース101に表示すると共に表示した階層構造において、概念インスタンス毎に分類子の内容を確認し、分類概念を選択することによって、階層を下っていき、末端の分類概念に関連付けられた概念インスタンスを取得する(SB2)。また、コンピュータ装置102は、上記SB2の処理を、ユーザ1によって入力されたコンポーネントが保有すべき概念インスタンスの全てにおいて行う。
この後、コンピュータ装置102は、上記の処理によって得られた、概念インスタンスの集合を持つコンポーネントを記憶装置2から取得し、これをユーザインタフェース101を介してユーザ1に提示する(SB3)。
以下に、上記の検索処理の一具体例を説明する。
ここでは、振舞概念インスタンスbの属性として、(装置情報依存:無、値の連続性:連続、値の順序性:降順)、出力概念インスタンスyの属性として、(制約範囲:使用可能、一意性制約範囲:装置)、入力概念インスタンスxの属性として、(情報種別:VLAN−ID情報、VLAN−ID種別:コア網側VLAN−ID)を保有するソフトウェアコンポーネントを検索するものとする。
この場合、検索者であるユーザ1は、検索対象となるソフトウェアコンポーネントの振舞概念インスタンスbの属性(装置情報依存:無、値の連続性:連続、値の順序性:降順)、出力概念インスタンスyの属性(制約範囲:使用可能、一意性制約範囲:装置)、及び入力概念インスタンスxの属性(情報種別:VLAN−ID情報、VLAN−ID種別:コア網側VLAN−ID)をユーザインタフェース101を介してコンピュータ装置102に入力し、検索処理を行わせる。
これによりコンピュータ装置102は、記憶装置1(103)に保存されている振舞概念の階層構造において、振舞概念インスタンスbの属性に基づいて階層を下り、最下階層(末端)の分類概念である「降順」という分類概念318に関連つけられた概念インスタンスb1(341)を記憶装置1から取得する。
同様に、コンピュータ装置102は、記憶装置1(103)に保存されている出力概念の階層構造において、出力概念インスタンスyの属性に基づいて階層を下り、最下階層(末端)の分類概念である「使用可能」という分類概念413と「装置」という分類概念423に関連づけられた概念インスタンスy1(431)を記憶装置1(103)から取得すると共に、記憶装置1(103)に保存されている入力概念の階層構造において、入力概念インスタンスxの属性に基づいて階層を下り、最下階層(末端)の分類概念である「コア網側VLAN−ID」という分類概念514に関連づけられた概念インスタンスx1(541)を記憶装置1(103)から取得する。
この後、コンピュータ装置102は、各概念インスタンス(b1,y1,x1)を検索キーとして、記憶装置2(104)に保存されているソフトウェアコンポーネントの中から該当するソフトウェアコンポーネントを取得してユーザインタフェース101を介してユーザ1に提示する。
以上が、登録・検索システム100を用いて、ソフトウェア開発において必要とするソフトウェアコンポーネントを検索する一具体例である。
前述したように本実施形態によれば、分類するに至った根拠を示す分類子により複数の分類概念へ分類する際の分類化の観点が明示され、この分類子が付随される統一的な階層構造に従った登録・検索が行われるため、ソフトウェアコンポーネントの背景にある知識を有しないソフトウェアコンポーネント作成者によるソフトウェアコンポーネントの登録及びソフトウェア開発者によるソフトウェアコンポーネントの検索を容易に行えるようになり、ソフトウェア開発における効率を向上させることができる。
以下に、前述した従来例と本実施形態との相違点を述べる。
非特許文献1に記載の技術との差異:非特許文献1に記載の技術において用いている木構造は通常の木構造であり、コンポーネントの機能を単に一つの「機能」として分類しているため、機能に対する表現の曖昧性が存在する。さらに、木構造がどのように作られたのかが分からない(表現できていない)ため、登録時に検索キー決定に曖昧性が存在する。このように曖昧性が存在するため、登録作業は容易ではなく、検索結果は一意でない。
これに対して、本実施形態の登録・検索方法及びそのシステムでは、木構造に分類の根拠を加えた構造すなわち前述したような階層構造を用いている。さらに、機能を「入力」と「振舞」と「出力」の3つの概念で分類することによって、機能に対する表現の曖昧性を排除している。また、本実施形態では、木構造(階層構造)がつくられた根拠を分類子で明示しているため、登録時の検索キー決定における曖昧性を排除することができる。このように曖昧性を排除したため、登録作業は容易になり、検索結果は一意になる。
非特許文献2,3に記載の技術との差異:非特許文献2,3に記載の技術においては、Asset,EJBコンポーネントを、第三者間で円滑に流通させるための、カタログ情報を決定する事が主になっており、それらを検索する具体的な方法については、何も決められていない。
尚、上記実施形態は本発明の一具体例であって、本発明が上記実施形態の構成のみに限定されることはない。例えば、記憶装置1(103)と記憶装置2(104)を1つの記憶装置によって構成しても良い。また、記憶装置1(103)と記憶装置2(104)にアクセスできる複数のコンピュータ装置102を設けても良いことは言うまでもない。さらに、コンピュータ装置102と記憶装置1(103)及び記憶装置2(104)との間を通信網を介して接続するようにしても良い。また、登録・検索システム100を通信網に接続されたサーバとし、ユーザインタフェース102を通信網に接続されたインタフェースとし、通信網に接続された他の端末装置から層とウェアコンポーネントの登録・検索を行えるようにしても良い。
本発明の一実施形態における登録・検索システムを示す構成図 本発明の一実施形態において用いる階層構造を説明する図 本発明の一実施形態における振舞概念の階層構造の一例を示す図 本発明の一実施形態における出力概念の階層構造の一例を示す図 本発明の一実施形態における入力概念の階層構造の一例を示す図 本発明の一実施形態における入力概念の階層構造とその保存データとの関係を説明する図 本発明の一実施形態における入力概念の階層構造とその保存データとの関係を説明する図 本発明の一実施形態におけるソフトウェアコンポーネントの登録手順を説明するフローチャート 本発明の一実施形態における概念インスタンスを関連づけた階層構造を示す図 本発明の一実施形態においてソフトウェアコンポーネント登録時に用いるリレーショナルデータベースのテーブルを示す図 本発明の一実施形態における振舞概念の階層構造において末端の分類概念に概念インスタンスを関連づける一例を説明する図 本発明の一実施形態における振舞概念の階層構造において末端の分類概念に概念インスタンスを関連づけたときのXMLデータの一例を説明する図 本発明の一実施形態における出力概念の階層構造において末端の分類概念に概念インスタンスを関連づける一例を説明する図 本発明の一実施形態における入力概念の階層構造において末端の分類概念に概念インスタンスを関連づける一例を説明する図 本発明の一実施形態における振舞概念の階層構造において末端の分類概念の全てに概念インスタンスを関連づけた一例を説明する図 本発明の一実施形態における出力概念の階層構造において末端の分類概念の全てに概念インスタンスを関連づけた一例を説明する図 本発明の一実施形態における出力概念の階層構造において末端の分類概念の全てに概念インスタンスを関連づけたときのXMLデータの一例を説明する図 本発明の一実施形態における入力概念の階層構造において末端の分類概念の全てに概念インスタンスを関連づけた一例を説明する図 本発明の一実施形態におけるソフトウェアコンポーネントの検索手順を説明するフローチャート
符号の説明
1…ユーザ、101…ユーザインタフェース、102…コンピュータ装置、103…記憶装置1、104…記憶装置2、201…概念、202,206…分類子、203,207…分岐点、204,205,208,209,210…分類概念、341,342,344〜347…振舞概念インスタンス、431〜439…出力概念インスタンス、541,542,543〜546…入力概念インスタンス。

Claims (2)

  1. ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される記憶装置を備え、ソフトウェア開発において既に作成されているソフトウェアコンポーネントをコンピュータ装置を用いて前記記憶装置に登録し、前記記憶装置に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントをコンピュータ装置を用いて検索するソフトウェアコンポーネントの登録・検索方法であって、
    ソフトウェアコンポーネント登録時に、コンピュータ装置は、ソフトウェアコンポーネントを登録するために入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶装置に格納して登録し、
    ソフトウェアコンポーネント検索時に、コンピュータ装置は、ソフトウェアコンポーネントを検索するために入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶装置に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶装置から取得して提示する
    ことを特徴とするソフトウェアコンポーネントの登録・検索方法。
  2. ソフトウェア開発において既に作成されているソフトウェアコンポーネントを記憶手段に登録し、前記記憶手段に登録されている複数のソフトウェアコンポーネントの中から必要とするソフトウェアコンポーネントを検索して提示するソフトウェアコンポーネント登録・検索システムであって、
    情報入力手段と、
    情報提示手段と、
    前記ソフトウェアコンポーネントが格納されて登録されると共に、予め定義されている振舞概念及び入力概念及び出力概念に基づいて、ソフトウェアコンポーネントから抽出した振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれが保有する分類の根拠である分類子毎の属性に対応して各概念毎に分類子によって分類された複数の分類概念が階層構造で表現され、該階層構造においてこれらの各概念インスタンスが対応する末端の分類概念と各概念インスタンスとの対応関係情報とが格納される記憶手段と、
    ソフトウェアコンポーネント登録時に、ソフトウェアコンポーネントを登録するために前記情報入力手段から入力された各概念インスタンスの分類子毎の属性に基づいて、登録対象のソフトウェアコンポーネントに対応する前記末端の分類概念を決定し、該決定した末端の分類概念と登録対象のソフトウェアコンポーネントとの対応関係と共に登録対象のソフトウェアコンポーネントを前記記憶手段に格納して登録する登録手段と、
    ソフトウェアコンポーネント検索時に、ソフトウェアコンポーネントを検索するために前記情報入力手段から入力された1つ以上の概念インスタンスの分類子毎の属性に対応する分類概念を、前記記憶手段に格納されている前記振舞概念インスタンス及び入力概念インスタンス及び出力概念インスタンスのそれぞれの分類概念から検索して、該検索の結果得られた末端の分類概念に対応する概念インスタンスの集合を有するソフトウェアコンポーネントを前記記憶手段から取得して前記情報提示手段を介して提示する検索手段とを備えている
    ことを特徴とするソフトウェアコンポーネントの登録・検索システム。
JP2005057209A 2005-03-02 2005-03-02 ソフトウェアコンポーネント登録・検索方法及びそのシステム Expired - Fee Related JP4570147B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005057209A JP4570147B2 (ja) 2005-03-02 2005-03-02 ソフトウェアコンポーネント登録・検索方法及びそのシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005057209A JP4570147B2 (ja) 2005-03-02 2005-03-02 ソフトウェアコンポーネント登録・検索方法及びそのシステム

Publications (2)

Publication Number Publication Date
JP2006244014A true JP2006244014A (ja) 2006-09-14
JP4570147B2 JP4570147B2 (ja) 2010-10-27

Family

ID=37050384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005057209A Expired - Fee Related JP4570147B2 (ja) 2005-03-02 2005-03-02 ソフトウェアコンポーネント登録・検索方法及びそのシステム

Country Status (1)

Country Link
JP (1) JP4570147B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528144A (zh) * 2022-04-22 2022-05-24 晨达(广州)网络科技有限公司 一种分类存储辩错信息的软件开发系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0727532B2 (ja) * 1992-03-27 1995-03-29 株式会社日立製作所 情報検索方法及びシステム
JPH0785102A (ja) * 1993-09-20 1995-03-31 Hitachi Ltd 文書検索方法
JPH1069377A (ja) * 1996-08-28 1998-03-10 Fuji Electric Co Ltd Hipoを使用したプログラム開発方法
JP2004280416A (ja) * 2003-03-14 2004-10-07 Toshiba Corp ソフトウェア部品管理システム、ソフトウェア部品管理方法およびソフトウェア部品管理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0727532B2 (ja) * 1992-03-27 1995-03-29 株式会社日立製作所 情報検索方法及びシステム
JPH0785102A (ja) * 1993-09-20 1995-03-31 Hitachi Ltd 文書検索方法
JPH1069377A (ja) * 1996-08-28 1998-03-10 Fuji Electric Co Ltd Hipoを使用したプログラム開発方法
JP2004280416A (ja) * 2003-03-14 2004-10-07 Toshiba Corp ソフトウェア部品管理システム、ソフトウェア部品管理方法およびソフトウェア部品管理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528144A (zh) * 2022-04-22 2022-05-24 晨达(广州)网络科技有限公司 一种分类存储辩错信息的软件开发系统

Also Published As

Publication number Publication date
JP4570147B2 (ja) 2010-10-27

Similar Documents

Publication Publication Date Title
Park et al. Information systems interoperability: What lies beneath?
JP5787963B2 (ja) コンピュータプラットフォームのプログラミングインターフェース
US9146955B2 (en) In-memory, columnar database multidimensional analytical view integration
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
Consoli et al. A smart city data model based on semantics best practice and principles
CN101454779A (zh) 基于搜索的应用开发框架
Şimşek et al. Domain specific semantic validation of schema. org annotations
Akbar et al. Complete semantics to empower touristic service providers
US8296725B2 (en) Framework for variation oriented analysis for service-oriented architecture
Zhao et al. Semantic Web-based geospatial knowledge transformation
US7533105B2 (en) Visual association of content in a content framework system
Thor et al. Data integration support for mashups
Sivashanmugam et al. Metadata and semantics for web services and processes
JP4570147B2 (ja) ソフトウェアコンポーネント登録・検索方法及びそのシステム
JP2004326626A (ja) 構造化文書ファイル管理装置および構造化文書ファイル管理方法
García-Santa et al. The ProtégéLOV plugin: Ontology access and reuse for everyone
Thakkar et al. Quality-driven geospatial data integration
Gallina et al. Ontology-based identification of commonalities and variabilities among safety processes
Kozlenkov et al. A framework for architecture-driven service discovery
Laosen et al. A knowledge-based approach for generating UML sequence diagrams from operation contracts
Yao et al. Asynchronous information space analysis architecture using content and structure-based service brokering
Wan et al. Specifying resource-centric services in cyber physical systems
JP5156491B2 (ja) 情報処理装置、情報処理方法、およびプログラム
Schoenenwald et al. Collecting and visualizing data lineage of Spark jobs: Digesting Spark execution plans to surface lineage graphs via a full-stack application
Chen et al. The progress of university digital museum grid

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100325

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100513

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: 20100805

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: 20100809

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

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees