(57)【特許請求の範囲】
【請求項１】
第１のドメインにおける、ＤＡＧに構造化された複数のデータ要素と、第２のドメインにおける、ＤＡＧに構造化された複数のデータ要素の間で、予め付与されたデータ要素間の関係に基づき、コンピュータの処理によって、関係情報を構築する方法であって、
コンピュータの処理によって、前記第１のドメインのＤＡＧと、前記第２のドメインのＤＡＧのデータを、関係性グラフを生成するために取り込むステップと、
コンピュータの処理によって、第１のドメインのＤＡＧのノードvaと、第２のドメインのＤＡＧのノードvbの間に関係が付与されていることに応答して、前記関係性グラフにおいて、前記ノードvaとノードvbの間に、ノードvaとノードvbのＤＡＧにおける上流ノード同士の間をつなぐノードである、ジョインノードを作成するステップと、
コンピュータの処理によって、第１のドメインのＤＡＧのノードvaと、第２のドメインのＤＡＧのノードvbに対して、ジョインノードがないものがある限り、
(a) 前記関係性グラフにおいて、vaとvbの間にジョインノードvを生成するステップと、
(b) 前記関係性グラフにおいて、エッジ(va,v)と、エッジ(vb,v)を生成するステップを実行する、
ステップを有する、
関係情報の構築方法。
【請求項２】
前記データ要素が、ＳｙｓＭＬのデータ要素またはＵＭＬのデータ要素である、請求項１に記載の方法。
【請求項３】
第１のドメインにおける、ＤＡＧに構造化された複数のデータ要素と、第２のドメインにおける、ＤＡＧに構造化された複数のデータ要素の間で、予め付与されたデータ要素間の関係に基づき、コンピュータの処理によって、関係情報を構築するプログラムであって、
前記コンピュータに、
、前記第１のドメインのＤＡＧのデータと、前記第２のドメインのＤＡＧのデータを、関係性グラフを生成するために取り込むステップと、
前記第１のドメインのＤＡＧのノードvaと、前記第２のドメインのＤＡＧのノードvbの間に関係が付与されていることに応答して、前記関係性グラフにおいて、前記ノードvaとノードvbの間に、前記ノードvaとノードvbのＤＡＧにおける上流ノード同士の間をつなぐノードである、ジョインノードを作成するステップと、
前記第１のドメインのＤＡＧのノードvaと、前記第２のドメインのＤＡＧのノードvbに対して、ジョインノードがないものがある限り、
(a) 前記関係性グラフにおいて、vaとvbの間にジョインノードvを生成するステップと、
(b) 前記関係性グラフにおいて、エッジ(va,v)と、エッジ(vb,v)を生成するステップを実行する、
ステップを実行させる、、
関係情報の構築プログラム。
【請求項４】
前記データ要素が、ＳｙｓＭＬのデータ要素またはＵＭＬのデータ要素である、請求項３に記載のプログラム。
【請求項５】
複数のドメインのコンピュータに保存されているデータについて、異なるドメインのデータの間のを構築するためのシステムであって、
記憶装置と、
前記任意のドメインのコンピュータから、前記データを取り込んで前記記憶装置に保存する手段と、
前記取り込んだデータについて、ドメイン毎に、ＤＡＧに変換して前記記憶装置に保存する手段と、
ユーザがドメイン間のＤＡＧの間に関連付けを与えることを可能ならしめ、且つ、該関連付けを前記記憶装置に保存する手段と、
前記記憶装置に保存されている、第１のドメインのＤＡＧのノードvaと、第２のドメインのＤＡＧのノードvbの間に関係が付与されていることに応答して、関係性グラフにおいて、前記ノードvaとノードvbの間に、前記ノードvaとノードvbのＤＡＧにおける上流ノード同士の間をつなぐノードである、ジョインノードを作成する手段と、
前記第１のドメインのＤＡＧのノードvaと、前記第２のドメインのＤＡＧのノードvbに対して、ジョインノードがないものがある限り、
(a) 前記関係性グラフにおいて、vaとvbの間にジョインノードvを前記関係性グラフに生成するステップと、
(b) 前記関係性グラフにおいて、エッジ(va,v)と、エッジ(vb,v)を前記関係性グラフに生成するステップを実行する、
手段を有する、
システム。
【請求項６】
前記データ要素が、ＳｙｓＭＬのデータ要素またはＵＭＬのデータ要素である、請求項５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般的には情報管理システムに関し、より詳しくは、異なるドメインにある情報の間の関連つげを管理するための情報管理システム、方法及びプログラムに関する。
【背景技術】
【０００２】
自動車、電機、航空宇宙防衛などの分野では、製品が複雑で、多数の部品からなるので、１つの製品を設計するために、機械、電気、システム設計、ソフトウェア、試験などの多くのドメイン（部門）が関与する。このように多くの部門に分かれていても、結局は統合された製品に集約する必要があるので、ドメインにまたがるデータの関連付けを行う必要がある。
【０００３】
図１は、自動車メーカーにおける異なるドメイン間の連携の例を示す図である。図１からは、システム・モデル、要求管理、制御解析、ＣＡＤ、電気／電子回路、部品構成管理、及び組み込みソフトウェアという異なるドメインの間で、データのデータの関連付けが行われることが見て取れる。
【０００４】
ところが、現状では、ドメインをまたがるデータの関連付けはアドホックに行われていて、統合された製品全体に対するトレーサビリティの確保や影響分析が困難である。
【０００５】
このような困難の原因の１つとして、各ドメインの専門家が、異なるツールを使っている、ということがある。それを解消するためには、どのドメインでも統一されたツールを使えばいいが、各ドメインの専門家は使い慣れたツールを使いたいという要望が強く、また、ドメインが異なるとツールに要求される機能も異なるので、現実問題として、ツールを統一することは困難である。
【０００６】
そこで、各ドメイン内の情報は、そのまま既存のツールで管理できて、ドメイン間の関連情報だけを一元管理することで、製品全体にまたがるビューを提示し、以って専門家の間のコラボレーションを促進する技術が要望されている。図２はそのような要望されるビューの概要を示すものである。すなわち、図２に示すように、ドメイン２０２、ドメイン２０４、ドメイン２０６及びドメイン２０８の情報の間の関連情報のビュー２１２を与える関連情報管理機能２１０が要望されている。
【０００７】
図３は特に、２つのドメインの間の情報の関連付けをより詳細に示す図である。すなわち、要求管理ドメイン３０２は、非循環有向グラフ（ＤＡＧ）の形式で構造化されたデータ要素A1〜A11をもつ。一方、システム・モデル・ドメイン３０４もやはり、非循環有向グラフの形式で構造化されたデータ要素B1〜B6をもつ。
【０００８】
このように２つのドメインにおいて、データがＤＡＧ形式に構造化され、電子的に個別にアクセス可能に、コンピュータの記憶装置に保存されると、好適には、２つのドメインのコンピュータに、ネットワークを介して接続した別のコンピュータを用いて、好適には専門家であるオペレータの操作により、その別のコンピュータの画面上で、２つのドメインのデータ要素間の関連付けのビューを生成することができる。このビューは、図３では、関連性ハブ３０６として図示されており、実際上、図２に示す関連情報のビュー２１２の一部をなす。
【０００９】
このようなオペレータの操作によるデータの関連付けによって、ドメイン間の関連付けを可視化することはできるが、各ドメインのデータ量は膨大なので、オペレータの操作により作成された関連付けの網羅性あるいは妥当性を判断することが難しい。
【００１０】
特開２０００−９００９１号公報は、有向順序木として表現された情報の利用者が、情報の構造に関する正確な知識を持たなくても、構造に関する条件を与えることにより、その条件に合致する部分構造を抽出することを目的とするものであり、有向順序木を構成するノードの内容及びノード間の接続関係を定義した検索条件が入力されると、マッチング手段は、情報格納手段１に格納された処理対象情報１ａの有向順序木の中間ノードを削除し、中間ノードのあった位置に中間ノード直下のノード列を配置する操作を行った結果得られる均質化有向順序木生成を処理対象として、均質化有向順序木内の検索条件に適合する有向順序木を抽出する。これにより、論理構造が異なる多数の情報に対する検索を行う際においても、ノード間の接続関係を利用した検索条件を利用できるようにすることを開示する。
【００１１】
しかし、特開２０００−９００９１号公報に開示されている技術は、ノード間の接続関係の妥当性を判断するための基準を与えるものではない。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０００−９００９１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従って、この発明の目的は、２つのドメインの間の情報の関連付けの妥当性を判断する基準を与えることを可能ならしめる技法を提供することにある。
【００１４】
この発明の他の目的は、２つのドメインの間の潜在的な関連性を自動的に与える技法を提供することにある。
【課題を解決するための手段】
【００１５】
本発明のシステムは、好適には、複数のドメインのコンピュータに接続された、別の関連性ビューを表示するためのコンピュータで実現される。
【００１６】
関連性ビューを表示するためのコンピュータのオペレータは先ず、ドメインのコンピュータから、ネットワークを経由してデータを取り込む。取り込んだデータは、もとのデータの階層関係を反映して、ドメイン毎にＤＡＧを構成する。
【００１７】
関連性ビューを表示するためのコンピュータのオペレータは次に、ドメインのＤＡＧのノードの間の対応を、ＧＵＩツールを使って入力する。入力された対応の情報は、関連性ビューを表示するためのコンピュータに保存される。
【００１８】
こうして、ドメイン毎のＤＡＧのデータの間に関連性が構築されると、次に、本発明による処理モジュールが、一方のドメインのノードvaと、他方のドメインのノードvbに対して、ジョインノードがないものがある限り、以下の処理を繰り返す。
- vaとvbの間にジョインノードvを生成する。
- エッジ(va,v)と、エッジ(vb,v)を生成する。
この結果生成されるグラフが関係性グラフとして、適宜表示される。
【００１９】
ここで、vaとvbのジョインノードとは、この明細書では、va∨vbと記されるものである。さらに、va∨vbとは、va≦z,vb≦z且つva≦y,vb≦yを満たすすべてのy∈Ｖに対して、z≦yが成立するようなzのことである。
また、z≦yとは、関係性グラフにおいて、zからyに辿り着くエッジの列が存在することである。
ジョインノードとは、ノードvaとノードvbのＤＡＧにおける上流ノード同士の間をつなぐノードであるということもできる。
【００２０】
この結果、元の関連に対応するノードと、生成されたジョインノードからなる関連のＤＡＧが得られる。
【発明の効果】
【００２１】
上記の結果得られたＤＡＧである関連性グラフは、各ドメインのデータの構造を抽象化したものになっているので、各ドメインのデータを参照しなくても、関連の意味を理解することが可能になる。
【００２２】
潜在的な関連をアルゴリズムによって抽出することで、ジョインノードとして生成するので、利用者からの関連付けの入力数を減少させることができる。
【００２３】
関連のＤＡＧを見ることで、適切に関連付けが行われていることを確認する。例えば、全てのノードに直接到達するジョインノードが１つ追加されたグラフができると、その関連付けは適切でないと判断できる。
【図面の簡単な説明】
【００２４】
【図１】異なるドメイン間の連携の例を示す図である。
【図２】ドメイン間の関連情報を一元管理するためのビューを示す図である。
【図３】２つのドメイン間の情報要素を関連付けるビューを示す図である。
【図４】ドメインのコンピュータと、関連性情報管理コンピュータ装置の接続形態を示す図である。
【図５】関連性情報管理コンピュータ装置のハードウェア構成のブロック図である。
【図６】関連性情報管理コンピュータ装置における機能ブロック図である。
【図７】非循環有向グラフの例を示す図である。
【図８】外部ツールからデータを取り込み、関連付けを与える処理のフローチャートを示す図である。
【図９】関連付けを与える処理のＧＵＩの例を示す図である。
【図１０】関連付けを与える処理のＧＵＩの例を示す図である。
【図１１】関連付けを与える処理のＧＵＩの例を示す図である。
【図１２】関連付け情報に基づき、関連性グラフを作成する処理のフローチャートを示す図である。
【図１３】x1∨x2の処理のフローチャートを示す図である。
【図１４】x1≦x2の処理のフローチャートを示す図である。
【図１５】createNode()の処理のフローチャートを示す図である。
【図１６】beTopped()の処理のフローチャートを示す図である。
【図１７】関連性ビュー（グラフ）作成処理の例を示す図である。
【図１８】関連性ビュー（グラフ）作成処理の例を示す図である。
【図１９】関連性ビュー（グラフ）作成処理の例を示す図である。
【図２０】関連性ビュー（グラフ）作成処理の例を示す図である。
【図２１】関連性ビュー（グラフ）作成処理の例を示す図である。
【図２２】関連性ビュー（グラフ）作成処理の例を示す図である。
【図２３】人工衛星の熱設計モデルと構造設計図の関連管理の例を示す図である。
【図２４】人工衛星の熱設計モデルと構造設計図の関連管理の例を示す図である。
【図２５】人工衛星の熱設計モデルと構造設計図の関連管理の例を示す図である。
【図２６】人工衛星の熱設計モデルと構造設計図の関連管理の例を示す図である。
【発明を実施するための形態】
【００２５】
以下、図面に基づき、この発明の実施例を説明する。特に断わらない限り、同一の参照番号は、図面を通して、同一の対象を指すものとする。尚、以下で説明するのは、本発明の一実施形態であり、この発明を、この実施例で説明する内容に限定する意図はないことを理解されたい。
【００２６】
図４は、本発明を実施するためのハードウェア構成の全体を示す概要図である。図４において、ドメイン１  ４０２、ドメイン２  ４０４、ドメイン３  ４０６、及びドメイン４  ４０８は、個々のドメインのコンピュータ装置をあらわす。ここで、ドメインとは、図１に関連して例示した、システム・モデル、要求管理、制御解析、ＣＡＤ、電気／電子回路、部品構成管理、及び組み込みソフトウェアなどに個々に対応する。
【００２７】
個々のドメインのコンピュータ・システムの、好適にはハードディスク・ドライブである記憶装置には、そのドメインが使用するツールに特有のデータが記憶されている。このデータとして、これには限定されないが、ソフトウェア設計データとしてのＵＭＬ、ハードウェア設計データとしてのＳｙｓＭＬ、ツールがデータ交換用にサポートするＸＭＬ、電子設計データ交換用フォーマットであるＥＤＩＦなどがある。その他、ドメインにおけるツール独自のフォーマットのデータであってもよい。
【００２８】
各ドメインにおいて、それらのデータは、ＤＡＧとして構成されていてもよいし、ＤＡＧでないグラフや、さらにグラフでないデータ形式で保存されていてもよい。
【００２９】
図４には、ドメインは４個しか示されていないが、これは例示であり、さらに多くの、あるいは任意個数のドメインがあってよい。但し、関連性情報を作成するために、少なくとも２個のドメインは必要である。
【００３０】
関連性情報管理コンピュータ装置４１０は、データの間の関連付けのビューを作成するためのコンピュータ装置であり、ドメイン１  ４０２、ドメイン２  ４０４、ドメイン３  ４０６、及びドメイン４  ４０８のコンピュータ装置とネットワークを介して接続されており、オペレータの操作に従い、少なくとも２つのドメインとの間の接続を確立して、２つのドメインのデータの間の関連付けのビューを作成する機能をもつプログラムを含む。このプログラムの動作は、後で図１２以下のフローチャートを参照して詳細に説明する。
【００３１】
図５は、関連性情報管理コンピュータ装置４１０のより詳細な構成を示すブロック図である。なお、ドメイン１  ４０２、ドメイン２  ４０４、ドメイン３  ４０６、及びドメイン４  ４０８のコンピュータ装置も、限定されないが、基本的にはこれと同様のハードウェア構成であると理解されたい。
【００３２】
図５において、システム・パス５０２には、ＣＰＵ５０４と、主記憶（ＲＡＭ）５０６と、ハードディスク・ドライブ（ＨＤＤ）５０８と、キーボード５１０と、マウス５１２と、ディスプレイ５１４が接続されている。ＣＰＵ５０４は、好適には、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＰｅｎｔｉｕｍ（商標）  ４、Ｃｏｒｅ（商標）２  Ｄｕｏ、Ｘｅｏｎ（商標）、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。主記憶５０６は、好適には、２ＧＢ以上の容量をもつものである。ハードディスク・ドライブ５０８は、好適には例えば、３２０ＧＢ以上の容量をもつものである。
【００３３】
ハードディスク・ドライブ５０８には、個々に図示しないが、オペレーティング・システムが、予め格納されている。オペレーティング・システムは、Ｌｉｎｕｘ（商標）、マイクロソフト社のＷｉｎｄｏｗｓ（商標）７、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００、アップルコンピュータのＭａｃ  ＯＳ（商標）などの、ＣＰＵ５０４に適合する任意のものでよい。
【００３４】
ハードディスク・ドライブ５０８には、ドメインに対して接続を図りデータを転送する通信モジュール、ドメインから転送されたデータからＤＡＧを構成するためのグラフ作成モジュール、２つのドメイン間の関連性をオペレータに入力させるためのＧＵＩを提供するための関連性入力モジュール、入力された関連性に基づき、２つのドメインのデータの間でノードとリンクを生成するための関連性生成モジュール、生成されたリンクとノードをディスプレイ５１４に表示するための表示モジュールなどが格納されている。これらのモジュールは、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ(R)などの既存のプログラミング言語処理系で作成することができ、オペレーティング・システムの働きで、これらのモジュールは適宜主記憶５０６にロードされて実行される。これらのモジュールの動作の詳細は、図６の機能ブロック図を参照して、より詳細に説明する。
【００３５】
キーボード５１０及びマウス５１２は、関連性情報管理コンピュータ装置４１０のオペレータが、関連性入力モジュールを操作したりするために使用される。
【００３６】
ディスプレイ５１４は、好適には、液晶ディスプレイであり、例えば、ＸＧＡ（１０２４×７６８の解像度）、またはＵＸＧＡ（１６００×１２００の解像度）などの任意の解像度のものを使用することができる。ディスプレイ１１４は、業務ログから生成されたグラフを表示するためなどに使用される。
【００３７】
図５のシステムは更に、バス５０２に接続された通信インターフェース５１６を介して、ＬＡＮ、ＷＡＮなどの外部ネットワークに接続されている。通信インターフェース５１６は、イーサネット（商標）などの仕組みにより、ドメイン１  ４０２、ドメイン２  ４０４、ドメイン３  ４０６、及びドメイン４  ４０８のコンピュータ装置と通信して、データをやり取りする。
【００３８】
次に、図６を参照して、主としてハードディスク・ドライブ５０８に格納されている、機能モジュールについて説明する。
【００３９】
通信モジュール６０２は、ＴＣＰ／ＩＰなどの既存の通信プロトコルにより、通信インターフェース５１６を介してドメイン４０２、４０４、４０６、または４０８の指定したものと通信し、そこから、ＵＭＬのブロック、ＳｙｓＭＬのブロック、ＸＭＬのファイル、ＥＤＩＦのデータなど、指定したドメインで使われているツールが使っているデータの指定した一部、またはあるグループのデータの全部を、関連性情報管理コンピュータ装置４１０に転送する機能をもつ。ソースとなるドメイン及びツールの指定は、関連性情報管理コンピュータ装置４１０のオペレータが操作して行う。
【００４０】
通信モジュール６０２は、指定したドメインから、ドメインのデータの実体をコピーしてきてもよいし、ＵＲＬのような、リンク情報だけをコピーしてきてもよい。さらには、ドメインにおけるデータの階層関係や接続関係を記述するファイルがあるなら、それもコピーしてきてもよい。そのようにして転送されたデータは好適には、一旦、ドメイン・データ６０４として、ハードディスク・ドライブ５０８に保存される。
【００４１】
グラフ作成モジュール６０６は、ハードディスク・ドライブ５０８に保存されたドメイン・データ６０４から、ドメイン毎に、非循環有向グラフ（ＤＡＧ）データ６０８を作成して、好適には、一旦、ドメイン・データ６０８として、ハードディスク・ドライブ５０８に保存する。このとき、もしドメインにおけるデータの階層関係や接続関係を記述するファイルが存在するなら、その情報が利用される。あるいは、関連性情報管理コンピュータ装置４１０のオペレータが、自分の知識または、ドメインの担当者から聞いた知識に基づき、ＤＡＧを構成するための補助的データを与えてもよい。図７は、このようにして構成されたＤＡＧの例を示す。
【００４２】
関連性入力モジュール６１０は、オペレータが操作により、２つのドメインのＤＡＧのデータの間の関係を決定し、その結果を関連性データ６１２として、ハードディスク・ドライブ５０８に保存することを可能とする機能をもつ。それは、基本的に、図３に示すような関係を与える処理に相当する。関連性入力モジュール６１０の処理、及びそのＧＵＩ画面の例は、図９〜図１１を参照して、後で説明する。
【００４３】
関連性グラフ作成モジュール６１４は、本発明のアルゴリズムに従い、ＤＡＧデータ６０８と関連性データを参照して、２つのドメインの間の関連性グラフ・データ６１６を作成して、ハードディスク・ドライブ５０８に保存する。本発明によれば、関連性グラフ・データ６１６もまた、ＤＡＧになる。
【００４４】
表示モジュール６１８は、関連性グラフ・データ６１６のデータを読み取って、ディスプレイ５１４に表示する機能をもつ。
【００４５】
次に、図８のフローチャートを参照して、データの取り込み処理を説明する。このデータの取り込み処理は、基本的には、関連性情報管理コンピュータ装置４１０のオペレータの操作に応答して行われる。
【００４６】
図８において、ステップ８０２では、オペレータは、ドメイン１の外部ツール１で管理しているデータ１を、通信モジュール６０２の機能を利用して、ドメイン・データ６０４としてインポートする。
【００４７】
ステップ８０４では、オペレータは、グラフ作成モジュール６０６の機能を利用して、インポートしたデータ１から、非循環有向グラフＧ1 = (Ｖ1,Ｅ1）を生成する。ここで、Ｖ1はノードの集合であり、Ｅ1は、エッジの集合である。このとき、データが既にグラフである場合、非循環有向グラフ（ＤＡＧ）になるように、予め決めておいてルールに従いエッジを取り除くようにする。データがグラフでない場合、データを属性値（例えば、部品番号）に基づいて定義した半順序によって、データのＤＡＧを得ることができる。
【００４８】
次に、ステップ８０６では、オペレータは、ドメイン２の外部ツール２で管理しているデータ２を、通信モジュール６０２の機能を利用して、ドメイン・データ６０４としてインポートする。
【００４９】
ステップ８０８では、オペレータは、グラフ作成モジュール６０６の機能を利用して、インポートしたデータ２から、非循環有向グラフＧ2 = (Ｖ2,Ｅ2）を生成する。
【００５０】
ステップ８１０では、オペレータは、Ｇ1のノードv1j ∈ Ｖ1と、Ｇ2のノードv2j ∈ Ｖ2の対応を、関連性入力モジュール６１０が提供するＧＵＩを使って入力する。そして、それらの対応の集合Ｒ = {(v11,v21), ...,(v1m,v2m)} ⊆ Ｖ1×Ｖ2を構成する。
【００５１】
図９は、関連性入力モジュール６１０が提供する、ディスプレイ５１４に表示されるＧＵＩの画面の一例を示す図である。
【００５２】
図９において、表形式のビュー９０２は、ソース、ターゲット及びリンク・タイプの絡むをもつ。ソースは、関連付けする第１のツールの所定のデータ、ターゲットは、関連付けする第２のツールの所定のデータ、リンク・タイプは、関連付けの種類である。
【００５３】
新しく関連付けを作成するためには、オペレータは、マウス５１２で、リンク追加ボタン９０４をクリックする。
【００５４】
すると、関連性入力モジュール６１０は、図１０に示すような画面を表示する。図示されているように、図１０に示す画面は、ソース・ツール、ソース・エレメント、ターゲット・ツール、ターゲット・エレメント、リンク・タイプと名づけられたコンボ・ボックスを有する。
【００５５】
ソース・ツールは、第１のツールを指定する。ここの指定を変更して別のツールを選ぶと、通信モジュール６０２の機能により、その別のツールが導入されているドメインとのリンクが図られる。
【００５６】
ソース・エレメントには、ソース・ツールのコンボ・ボックスで指定したツールに関連して、ＤＡＧデータ６０８に保存されたデータの集合がリストされ、プルダウンすることにより、そのデータの集合の要素の１つを選ぶことができる。
【００５７】
ターゲット・ツールは、第２のツールを指定する。ここの指定を変更して別のツールを選ぶと、通信モジュール６０２の機能により、その別のツールが導入されているドメインとのリンクが図られる。
【００５８】
ターゲット・エレメントには、ターゲット・ツールのコンボ・ボックスで指定したツールに関連して、ＤＡＧデータ６０８に保存されたデータの集合がリストされ、プルダウンすることにより、そのデータの集合の要素の１つを選ぶことができる。
【００５９】
リンク・タイプのコンボ・ボックスは、ソース・エレメントとターゲット・エレメントの間の関係を指定するためのものである。ここでは、Contain（含む)、Satisfy(満たす）から選ばれるが、他の関係も含めることができる。ここで、Satisfyを選んで、「作成」ボタン１００２をクリックすると、図１１に示すように、ソースがSA:Coolerで、ターゲットがRh:Detectorで、リンク・タイプがSatisfyという関係が作成されて、ビュー９０２に表示される。リンク・タイプは、この発明では特に使用しないが、他の目的では必要となることがある。この時点で、あるいは、この関係付け処理を完了する時点で、関連性入力モジュール６１０は、作成された関係付けデータを、関連性データ６１２として、ハードディスク・ドライブ５０８に保存する。
【００６０】
次に、図１２〜図１６のフローチャートを参照して、関連性グラフ作成モジュール６１４の処理について説明する。この処理は、関連性データ６１２が用意できた段階で、関連性情報管理コンピュータ装置４１０が所定の操作開始ボタン（図示しない）をクリックすることによって、開始される。
【００６１】
図１２の処理のための入力は、ＤＡＧデータ６０８として保存されている非循環有向グラフＧ1 = (Ｖ1,Ｅ1）及び非循環有向グラフＧ2 = (Ｖ2,Ｅ2）と、関連性データ６１２として保存されているＲ = {(v11,v21), ...,(v1m,v2m)} ⊆ Ｖ1×Ｖ2である。
【００６２】
ステップ１２０２では、関連性グラフ作成モジュール６１４は、処理の結果を収める変数である集合としての変数Ｖ、Ｅ、Ｆ1、Ｆ2を用意し、ここでは空にセットする。特に、Ｆ1はＶの要素からＶ1の要素へのマッピング、Ｆ2はＶの要素からＶ2の要素へのマッピングである。
【００６３】
ステップ１２０２では、関連性グラフ作成モジュール６１４は、関数beTopped()を呼び出して、Ｇ1とＧ2を正規化する。
【００６４】
そこで、beTopped()の処理を、図１６のフローチャートを参照して説明する。beTopped()は、非循環有向グラフＧを入力とし、ステップ１６０２では、Ｖを非循環有向グラフＧのノードの集合とすると、すべてのva,vb∈Ｖのペアに対して、va∨vb∈Ｖが存在するかどうかが判断される。
【００６５】
ここで、va∨vbにおける∨という演算は、図１３のフローチャートの処理で定義される。すなわち、図１３では、x1∨x2という変数について述べる。ステップ１３０２では、次の条件を満たすz∈Ｖを求める。すなわち：
x1≦z
x2≦z
x1≦y,x2≦yを満たすすべてのy∈Ｖに対して、z≦y
これは、言い換えると、x1とx2というノードのＤＡＧにおける上界の最小元のノードを求める操作である。
【００６６】
ステップ１３０４で、このようなz∈Ｖが存在すると判定されると、図１３のフローチャートは、ステップ１３０６でzを返し、そうでないなら、ステップ１３０８でnullあるいは空集合を返す。
【００６７】
なお、上記x1≦zなどにあらわれる、≦という演算子の処理は、図１４のフローチャートの処理で定義される。すなわち、図１４では、x1≦x2という変数について述べる。x1∈Ｖ且つx2∈Ｖとして、ステップ１４０２で、Ｙ:={y|(x1,p1),(p1,p2),...(pm,y)}⊆Ｅ}であるようなノードの集合Ｙが計算される。Ｙとは、x1から出発してyに至るエッジが、グラフＧのエッジの集合Ｅに含まれるようなyの集合である。言い換えると、Ｙは、x1の上界の集合である。x2がＹに含まれる、すなわち、x2はx2の上界にあるとステップ１４０４で判断されると、図１４のフローチャートは、ステップ１４０６でtrueを返し、そうでなければ、ステップ１４０８でfalseを返す。
【００６８】
以上で、x1∨x2と、x1≦x2の演算の定義を説明したので、図１６のステップ１６０２に戻ると、そこで、Ｖを非循環有向グラフＧのノードの集合とすると、すべてのva,vb∈Ｖのペアに対して、va∨vb∈Ｖが存在するかどうかが判断され、もしそうなら、beTopped()は、これ以上の処理は不要と判断して、終了する。
【００６９】
va∨vb∈Ｖが存在しないと判断すると、beTopped()は、ステップ１６０４で、ノードvtopを作成し、ステップ１６０６で、va∨vb∈Ｖが存在しないすべてのペアva,vb∈Ｖに対して、Ｅ:= Ｅ∪{(va,vtop),(vb,vtop)}のように、エッジを生成してＥに要素として追加し、ステップ１６０８で、生成したノードvtopをＶに要素として追加する。
【００７０】
図１２のステップ１２０２に戻って、beTopped(Ｇ1),beTopped(Ｇ2)によってＧ1及びＧ2の初期化が完了すると、関連性グラフ作成モジュール６１４は、全ての関係の要素(v1i,v2i)∈Ｒに対して、createNode(v1i,v2i)を実行する。
【００７１】
createNode()の処理は、図１５のフローチャートに示されている。ここでは、createNode(x1,x2)として説明する。図１５のステップ１５０２では、createNode()は、Ｆ1(v) = x1, Ｆ2(v) = x2を満たすv∈Ｖが存在するかどうかを判断する。もしそうなら、createNode()は、単にvを返して、処理を終わる。
【００７２】
Ｆ1(v) = x1, Ｆ2(v) = x2を満たすv∈Ｖが存在しないと、ステップ１５０６に進み、そこで、createNode()は、ノードvを生成し、ステップ１５０８でＶ = Ｖ∪{v}で、vをＶに要素として追加し、ステップ１５１０で、Ｆ1(v) := x1, Ｆ2(v) := x2により、Ｆ1とＦ2において、リンクを作成する。その後、createNode()は、vを返して、処理を終わる。
【００７３】
図１２に戻って、関連性グラフ作成モジュール６１４は、ステップ１２０８で、すべてのペアva,vb∈Ｖのペアに対して、va∨vb∈Ｖが存在するかどうか判断する。もしそうでなければ、ステップ１２１０に進み、関連性グラフ作成モジュール６１４は、va∨vb∈Ｖが存在しないva,vb∈Ｖの任意のペアを１つ選ぶ。
【００７４】
次にステップ１２１２で、関連性グラフ作成モジュール６１４は、x1 := Ｆ1(va)∨Ｆ1(vb)及びx2 := Ｆ2(va)∨Ｆ2(vb)によって、x1及びx2の値を決定する。
【００７５】
ステップ１２１４では、関連性グラフ作成モジュール６１４は、ステップ１２１２で値を決定したx1及びx2を用いて、v := createNode(x1,x2)を実行する。このようにして生成されたノードvは、ジョインノードと呼ばれる。ジョインノードとは、ノードx1とノードx2のＤＡＧにおける上流ノード同士の間をつなぐノードであると言うこともできる。
【００７６】
ステップ１２１６では、関連性グラフ作成モジュール６１４は、ステップ１２１２で値を決定したx1及びx2、及びステップ１２１４で値を決定したvを用いて、Ｅ := Ｅ∪{(x1,v),(x2,v)}により、エッジを追加する。その後、関連性グラフ作成モジュール６１４は、ステップ１２０８に戻って、すべてのペアva,vb∈Ｖのペアに対してva∨vb∈Ｖが存在するようになるまで、ステップ１２１０、ステップ１２１２、ステップ１２１４、及びステップ１２１６までの処理を繰り返す。
【００７７】
そうして、ステップ１２０８で、すべてのペアva,vb∈Ｖのペアに対して、va∨vb∈Ｖが存在することが確認されると、ステップ１２１８に進み、そこで、不要なエッジを除去するために、全ての(v1,v2)∈Ｅに対して、v1からv2への経路が(Ｖ,Ｅ-{(v1,v2)}にある場合、Ｅ := Ｅ-{(v1,v2)}により、エッジ(v1,v2)をＥから除去し、処理を終了する。このようにして作成された関係性グラフ（Ｖ，Ｅ）は、表示モジュール６１８により、適当なビューで、ディスプレイ１１４に表示される。
【００７８】
次に、本発明の処理をより具体的に説明するために、実行例を示す。図１７において、図８のステップ８０２〜８０８で説明した処理により、ドメイン１のデータA1〜A11と、ドメイン２のデータB1〜B7が既に関連性情報管理コンピュータ装置４１０に取り込まれているものとする。また、図８のステップ８１０で示すドメイン間のデータの関連付け処理により、関連付けられている。そのように作成された関係は、Ｒ１、Ｒ２及びＲ３として示されている。それらの関係に表示されているRequirement（要求）、Constraint（制約）は、関係の内容を示すが、本発明の処理では、これらの関係の内容は使用しない。図１７の段階では、関連性グラフ作成モジュール６１４は、ジョインがまだ構築されていない関係ノードの対を選ぶ。
【００７９】
次に図１８では、存在している関係に基づき、関連性グラフ作成モジュール６１４が、ステップ１２０６に従い、関係のもととなっているノードを作成、すなわち、関連性ビューに取り込む。
【００８０】
次に図１９では、関連性グラフ作成モジュール６１４は、ノードを作成して、Ｒ２とＲ３と接続（ジョイン）する。これは、ステップ１２１４とステップ１２１６での処理に対応する。
【００８１】
図２０では、関連性グラフ作成モジュール６１４は、取り込まれたノードの接続関係を計算する。ここで計算されるのは、B1によるB2とB3の接続関係であり、A7によるA8とA10の接続関係である。
【００８２】
図２１では、関連性グラフ作成モジュール６１４は、接続するノードB1を取り込んで、それを作成されたノードに関連付ける。同様に、関連性グラフ作成モジュール６１４は、ノードA7も取り込んで、それを作成されたノードに関連付ける。
【００８３】
そうして、図２２に示すように、関連性グラフ作成モジュール６１４は、関係性ノードが全てジョインノードで接続されるまで、処理を繰り返す。
【００８４】
次に、図２３に示す人工衛星の熱設計モデルと構造設計図の関連管理を例にして、本発明の処理と効果を具体的に説明する。人口衛星のような複雑で大規模なシステムの開発には、さまざまな分野の専門家が関わっている。この場合まず、各分野の専門家、例えば、熱設計の専門家と構造設計の専門家は、それぞれの分野で、独自の手法とツールで、成果物を作成するものとする。
【００８５】
このとき、熱設計モデルと構造設計図の関連を効率的に管理したいという要望があるとする。そこで、本発明によればまず、熱設計モデルと構造設計図の各々から、図８のステップ８０２〜８０８に示す処理により、データが取り込まれて、非循環有向グラフが構成される。
【００８６】
次に、図８のステップ８１０に従い、関連性情報管理コンピュータ装置４１０のオペレータは、図２５に示すように、熱設計モデルのデータと、構造設計図のデータとを関連付ける。このとき、各ドメインのデータ量は一般に膨大なので、どのデータ間で関連付ければよいかを適切に選択するのが難しい。また、関連が意味する内容を理解するには、関連付けられる複数ドメインのデータを理解しなければならない。しかし、異なる分野の両方の知識を備えることは困難である。よって、適切に関連付けられているかどうか判断できない。
【００８７】
そこで、本発明によれば、関連性グラフ作成モジュール６１４により、図２６(a)に示す関連付けのデータから、図２６(b)に示す、関連性グラフが生成される。
【００８８】
このように生成された関連性グラフは、もともとのドメインのグラフで表現されている関係を保存しつつ、シンプルにしたものなので、他方のドメインのデータを参照しなくても、関連の意味を把握できる。
【００８９】
例えば、左のグラフのCoolerに対して、右のグラフの新たな要素に関連付けを行う場合、右のグラフで、Mission Equipmentの下のノードを選択すればよいことが分かり、検討の範囲が限定される。
【００９０】
また、潜在的な関連をアルゴリズムによって抽出することでジョインノードとして生成するので、オペレータからの関連付けの入力数を減少させることができる。
【００９１】
さらに、生成されたグラフの階層をみることで、関連の適切さが判断できる。すなわち、適切に関連付けられていないと、階層数が少なくなる。そして、これによって、関連付けが適切でないとオペレータが判断した場合は、オペレータは、図８に示すフローチャートの処理からやり直すことができる。
【００９２】
なお、以上の実施例では、２つのドメインの間の関連性グラフを作成するアルゴリズムを用いるものであったが、次のようにして、ｎ個のドメインの間の関連性グラフを作成するアルゴリズムに拡張することができる。
【００９３】
すなわち、上記実施例では、Ｒ = {(v11,v21), ...,(v1m,v2m)} ⊆ Ｖ1×Ｖ2という対応を使用したが、これを先ず、
Ｒ = {(v11,,,,mvn1), ...,(v1m,vnm)} ⊆ Ｖ1×...×Ｖnに拡張する。
【００９４】
そして、図１２のフローチャートで示した処理におけるＦ1,Ｆ2を、Ｆ1,...,Ｆnと拡張し、サブルーチンcreateNode()において、引数x1,x2を、x1,...,xnに増やし、Ｆ1,Ｆ2を生成する箇所を、Ｆ1,...,Ｆnを生成するようにする。さらに、x1∨x2という二項演算子∨を、ｎ項演算子に拡張する。
【００９５】
以上のように、特定の実施例に従い、本発明を説明してきたが、本発明は、特定のオペレーティング・システムやプラットフォームに限定されず、任意のコンピュータ・システム上で実現可能である。
【００９６】
また、本発明は、特定のドメインやツールに限定されることなく、一般的に適用可能である。
【符号の説明】
【００９７】
４０２、４０４、４０６、４０８・・・  ドメイン
４１０  関連性情報管理コンピュータ装置
５０２  システム・パス
５０４  ＣＰＵ
５０６  主記憶
５０８  ハードディスク・ドライブ
５１４  ディスプレイ
５１６  通信インターフェース
６０２  通信モジュール
６０４  ドメイン・データ
６０６  グラフ作成モジュール
６０８  ドメイン・データ
６１０  関連性入力モジュール
６１２  関連性データ
６１４  関連性グラフ作成モジュール
６１６  関連性グラフ・データ
６１８  表示モジュール
【図１】
0005431261.tif 000002
【図２】
0005431261.tif 000003
【図３】
0005431261.tif 000004
【図４】
0005431261.tif 000005
【図５】
0005431261.tif 000006
【図６】
0005431261.tif 000007
【図７】
0005431261.tif 000008
【図８】
0005431261.tif 000009
【図９】
0005431261.tif 000010
【図１０】
0005431261.tif 000011
【図１１】
0005431261.tif 000012
【図１２】
0005431261.tif 000013
【図１３】
0005431261.tif 000014
【図１４】
0005431261.tif 000015
【図１５】
0005431261.tif 000016
【図１６】
0005431261.tif 000017
【図１７】
0005431261.tif 000018
【図１８】
0005431261.tif 000019
【図１９】
0005431261.tif 000020
【図２０】
0005431261.tif 000021
【図２１】
0005431261.tif 000022
【図２２】
0005431261.tif 000023
【図２３】
0005431261.tif 000024
【図２４】
0005431261.tif 000025
【図２５】
0005431261.tif 000026
【図２６】
0005431261.tif 000027