(57)【要約】  情報処理装置（１００）は、複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得する取得部（１０２）と、あるテーブルにおける第２の情報は、他のテーブルの第１の情報の少なくとも一部であり、複数のテーブルのそれぞれが示す関係をテーブル別にグラフデータベースの要素に変換する変換部（１０４）と、複数のテーブルの変換後の複数の要素を組み合わせることにより、グラフデータベースを生成する生成部（１０６）と、を備える。
2020122004.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得する手順、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換する手順、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する手順、
を実行させるためのプログラム。
【請求項２】
請求項１に記載のプログラムにおいて、
生成された前記グラフデータベースにおいて、ある項目が選択されると、当該項目につながっている他の項目及びそのつながりを識別可能に表示する手順をさらにコンピュータに実行させるためのプログラム。
【請求項３】
請求項１又は２に記載のプログラムにおいて、
前記グラフデータベースにおいて、前記関係の方向性が定義されている、プログラム。
【請求項４】
請求項１又は２に記載のプログラムにおいて、
前記グラフデータベースにおいて、前記関係の方向性が定義されており、
生成された前記グラフデータベースにおいて、検索条件が指定されると、前記関係の方向に関係なく複数の項目間のつながりを示す経路を検索する手順、
前記経路に沿って前記検索条件を満たす前記要素の組み合わせを検索する手順、をさらにコンピュータに実行させるためのプログラム。
【請求項５】
請求項３又は４に記載のプログラムにおいて、
前記項目間の関係とその方向性を示す関係データを生成する手順、
生成した前記関係データを前記グラフデータベースに追加する手順、をコンピュータに実行させるためのプログラム。
【請求項６】
請求項１から５のいずれか一項に記載のプログラムにおいて、
前記グラフデータベースを生成する際、使用する前記テーブルは切り替え可能であり、
選択されている前記テーブルを用いて生成された前記グラフデータベースを表示する手順、をさらにコンピュータに実行させるためのプログラム。
【請求項７】
請求項１から６のいずれか一項に記載のプログラムにおいて、
ある項目に直接つながっている複数の項目を、同一の行又は列となるように配置して表示する手順をさらにコンピュータに実行させるためのプログラム。
【請求項８】
請求項１から７のいずれか一項に記載のプログラムにおいて、
生成された前記グラフデータベースを、当該グラフデータベースを生成する際に使用した前記テーブルの情報を紐付けて記憶装置に記憶する手順をさらにコンピュータに実行させるためのプログラム。
【請求項９】
請求項１から８のいずれか一項に記載のプログラムにおいて、
前記テーブルの前記部品の前記仕様及び前記要件の少なくとも一部が変更されると、当該変更された前記部品の前記仕様及び前記要件に対応する項目を特定する手順、
特定された前記項目につながっている他の項目及びそのつながりを識別可能に表示する手順、をさらにコンピュータに実行させるためのプログラム。
【請求項１０】
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得するテーブル取得手段と、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換する変換手段と、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する生成手段と、
を備える情報処理装置。
【請求項１１】
請求項１０に記載の情報処理装置において、
生成された前記グラフデータベースにおいて、ある項目が選択されると、当該項目につながっている他の項目及びそのつながりを識別可能に表示する表示手段をさらに備える情報処理装置。
【請求項１２】
請求項１０又は１１に記載の情報処理装置において、
前記グラフデータベースにおいて、前記関係の方向性が定義されている、情報処理装置。
【請求項１３】
請求項１０又は１１に記載の情報処理装置において、
前記グラフデータベースにおいて、前記関係の方向性が定義されており、
生成された前記グラフデータベースにおいて、検索条件が指定されると、前記関係の方向に関係なく複数の項目間のつながりを示す経路を検索し、前記経路に沿って前記検索条件を満たす前記要素の組み合わせを検索する検索手段をさらに備える情報処理装置。
【請求項１４】
請求項１２又は１３に記載の情報処理装置において、
前記生成手段は、
前記項目間の関係とその方向性を示す関係データを生成し、
生成した前記関係データを前記グラフデータベースに追加する、情報処理装置。
【請求項１５】
請求項１０から１４のいずれか一項に記載の情報処理装置において、
前記生成手段は、前記グラフデータベースを生成する際、使用する前記テーブルを切り替え可能であり、
選択されている前記テーブルを用いて生成された前記グラフデータベースを表示する表示手段をさらに備える情報処理装置。
【請求項１６】
請求項１０から１５のいずれか一項に記載の情報処理装置において、
ある項目に直接つながっている複数の項目を、同一の行又は列となるように配置して表示する表示手段をさらに備える情報処理装置。
【請求項１７】
請求項１０から１６のいずれか一項に記載の情報処理装置において、
生成された前記グラフデータベースを、当該グラフデータベースを生成する際に使用した前記テーブルの情報を紐付けて記憶装置に記憶する手段をさらに備える情報処理装置。
【請求項１８】
請求項１０から１７のいずれか一項に記載の情報処理装置において、
前記テーブルの前記部品の前記仕様及び前記要件の少なくとも一部が変更されると、当該変更された前記部品の前記仕様及び前記要件に対応する項目を特定する特定手段をさらに備え、
前記表示手段は、
特定された前記項目につながっている他の項目及びそのつながりを識別可能に表示する、情報処理装置。
【請求項１９】
情報処理装置が、
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得し、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換し、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する、情報処理方法。
【請求項２０】
請求項１９に記載の情報処理方法において、
前記情報処理装置が、
生成された前記グラフデータベースにおいて、ある項目が選択されると、当該項目につながっている他の項目及びそのつながりを識別可能に表示する、情報処理方法。
【請求項２１】
請求項１９又は２０に記載の情報処理方法において、
前記グラフデータベースにおいて、前記関係の方向性が定義されている、情報処理方法。
【請求項２２】
請求項１９又は２０に記載の情報処理方法において、
前記グラフデータベースにおいて、前記関係の方向性が定義されており、
前記情報処理装置が、
生成された前記グラフデータベースにおいて、検索条件が指定されると、前記関係の方向に関係なく複数の項目間のつながりを示す経路を検索し、
前記経路に沿って前記検索条件を満たす前記要素の組み合わせを検索する、情報処理方法。
【請求項２３】
請求項２１又は２２に記載の情報処理方法において、
前記情報処理装置が、
前記項目間の関係とその方向性を示す関係データを生成し、
生成した前記関係データを前記グラフデータベースに追加する、情報処理方法。
【請求項２４】
請求項１９から２３のいずれか一項に記載の情報処理方法において、
前記グラフデータベースを生成する際、使用する前記テーブルは切り替え可能であり、
前記情報処理装置が、
選択されている前記テーブルを用いて生成された前記グラフデータベースを表示する、情報処理方法。
【請求項２５】
請求項１９から２４のいずれか一項に記載の情報処理方法において、
前記情報処理装置が、
ある項目に直接つながっている複数の項目を、同一の行又は列となるように配置して表示する、情報処理方法。
【請求項２６】
請求項１９から２５のいずれか一項に記載の情報処理方法において、
前記情報処理装置が、
生成された前記グラフデータベースを、当該グラフデータベースを生成する際に使用した前記テーブルの情報を紐付けて記憶装置に記憶する、情報処理方法。
【請求項２７】
請求項１９から２６のいずれか一項に記載の情報処理方法において、
前記情報処理装置が、
前記テーブルの前記部品の前記仕様及び前記要件の少なくとも一部が変更されると、当該変更された前記部品の前記仕様及び前記要件に対応する項目を特定し、
特定された前記項目につながっている他の項目及びそのつながりを識別可能に表示する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、膨大なデータを、データ間のつながりに着目して効率よく分析する手法として、グラフデータベースが利用されるようになってきている。
特許文献１には、グラフデータベースの検索を行う際に、検索パターンを分類することでパターン数を低減して、ユーザに選択し易くする技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−３９８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
製品設計において、部品の仕様や要件はテーブル形式のデータベース（例えば、リレーショナルデータベース）で管理されている場合がほとんどである。近年は、ある部品の要件の一つに、他の部品の仕様が入っていたり、ある部品に求められる仕様が階層化されていたりする。このため、複数の部品間の関連性を把握することが難しくなっている。【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、製品における複数の部品の仕様および要件の関連性を効率良く管理できる技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。【０００７】
第一の側面は、情報処理装置に関する。
第一の側面に係る情報処理装置は、
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得するテーブル取得手段と、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換する変換手段と、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する生成手段と、を有する。【０００８】
第二の側面は、少なくとも１つのコンピュータにより実行される情報処理方法に関する。
第二の側面に係る情報処理方法は、
情報処理装置が、
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得し、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換し、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する、ことを含む。【０００９】
なお、本発明の他の側面としては、上記第二の側面の方法を少なくとも１つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、情報処理装置上で、その情報処理方法を実施させるコンピュータプログラムコードを含む。【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。【００１１】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。【００１２】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。【００１３】
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【００１４】
上記各側面によれば、製品における複数の部品の仕様および要件の関連性を効率良く管理できる技術を提供することができる。
【図面の簡単な説明】
【００１５】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１６】
【図１】第１の実施の形態に係る情報処理装置の論理的な構成を示す機能ブロック図である。
【図２】本発明の実施の形態の情報処理装置を実現するコンピュータの構成の一例を示す図である。
【図３】第１の実施の形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図４】本発明の実施の形態の各テーブルの例を示す図である。
【図５】図４（ｃ）のテーブルの他の例を示す図である。
【図６】グラフデータベースを説明するための図である。
【図７】グラフデータベースを説明するための図である。
【図８】グラフデータベースを説明するための図である。
【図９】グラフデータベースの一例を示す図である。
【図１０】第２の実施の形態に係る情報処理装置の論理的な構成を示す機能ブロック図である。
【図１１】グラフデータベースの再評価の手順を説明するための図である。
【図１２】グラフデータベースから、あるバリエーションに関するグラフを抽出した場合の例を示す図である。
【図１３】製品バリエーション別の部品の組み合わせの例を示す図である。
【図１４】第３の実施の形態に係る情報処理装置の論理的な構成を示す機能ブロック図である。
【図１５】検索部の処理手順の一例を示すフローチャートである。
【図１６】グラフデータベースに関係データを追加する例を説明するための図である。
【図１７】図１６のグラフデータベースにおける、検索経路と、検索条件と、検索結果の一例を示す図である。
【図１８】図１６と関係の方向が逆の場合の関係データを説明するための図である。
【図１９】図１８のグラフデータベースにおける、検索経路と、検索条件と、検索結果の一例を示す図である。
【図２０】グラフデータベースに関係データを追加する他の例を説明するための図である。
【図２１】図２０のテーブルから生成されるグラフデータベースの例を説明するための図である。
【図２２】図２１のグラフデータベースにおける、検索経路と、検索条件と、検索結果の一例を示す図である。
【図２３】異なる２つの設計仕様および設計条件に基づいた２つのテーブルの例を示す図である。
【図２４】図２３の２つのテーブルを用いて生成されたグラフデータベースの一例を示す図である。
【図２５】図２４の第１のテーブルに基づく関係が選択された場合のグラフデータベースを描画した画面を示す図である。
【図２６】図２４の第２のテーブルに基づく関係（Ｓｉｚｅ−ＣＰＵ  ＃２）が選択された場合のグラフデータベースを描画した画面を示す図である。
【図２７】グラフデータベースの項目ノードと関係を階層表示した画面の一例を示す図である。
【図２８】図２７の設計仕様が変更された後の直接の影響範囲を示す図である。
【図２９】図２８の影響範囲からさらに次の影響範囲を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１８】
（第１の実施の形態）
図１は、本発明の実施の形態に係る情報処理装置１００の論理的な構成を示す機能ブロック図である。
情報処理装置１００は、取得部１０２と、変換部１０４と、生成部１０６と、を備える。
取得部１０２は、複数の部品別に定義されたテーブル１０であって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得する。
あるテーブルにおける第２の情報は、他のテーブルの第１の情報の少なくとも一部である。
変換部１０４は、複数のテーブルのそれぞれが示す関係をテーブル別にグラフデータベース３０の要素に変換する。
生成部１０６は、複数のテーブルの変換後の複数の要素を組み合わせることにより、グラフデータベース３０を生成する。
【００１９】
本明細書において、「取得」とは、自装置が他の装置や記憶媒体に格納されているデータまたは情報を取りに行くこと（能動的な取得）、たとえば、他の装置にリクエストまたは問い合わせして受信すること、他の装置や記憶媒体にアクセスして読み出すこと等、および、自装置に他の装置から出力されるデータまたは情報を入力すること（受動的な取得）、たとえば、配信（または、送信、プッシュ通知等）されるデータまたは情報を受信すること等、の少なくともいずれか一方を含む。また、受信したデータまたは情報の中から選択して取得すること、または、配信されたデータまたは情報を選択して受信することも含む。
【００２０】
図２は、本実施形態の情報処理装置１００を実現するコンピュータ８０の構成の一例を示す図である。
本実施形態のコンピュータ８０は、ＣＰＵ（Central Processing Unit）８２、メモリ８４、メモリ８４にロードされた図２の構成要素を実現するプログラム９０、そのプログラム９０を格納するストレージ８５、Ｉ／Ｏ（Input/Output）８６、およびネットワーク接続用インタフェース（通信Ｉ／Ｆ８７）を備える。
【００２１】
ＣＰＵ８２、メモリ８４、ストレージ８５、Ｉ／Ｏ８６、通信Ｉ／Ｆ８７は、バス８９を介して互いに接続され、ＣＰＵ８２によりコンピュータ８０全体が制御される。ただし、ＣＰＵ８２などを互いに接続する方法は、バス接続に限定されない。
【００２２】
メモリ８４は、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などのメモリである。ストレージ８５は、ハードディスク、ＳＳＤ（Solid State Drive）、またはメモリカードなどの記憶装置である。また、ストレージ８５は、ＲＡＭやＲＯＭなどのメモリであってもよい。
【００２３】
ＣＰＵ８２が、ストレージ８５に記憶されるプログラム９０をメモリ８４に読み出して実行することにより、情報処理装置１００の各機能を実現することができる。
【００２４】
Ｉ／Ｏ８６は、コンピュータ８０と他の入出力装置間のデータおよび制御信号の入出力制御を行う。他の入出力装置とは、たとえば、コンピュータ８０に接続されるキーボード、タッチパネル、マウス、およびマイクロフォン等の入力装置９４と、表示装置９２、プリンタ、およびスピーカ等の出力装置と、これらの入出力装置とコンピュータ８０のインタフェースとを含む。さらに、Ｉ／Ｏ８６は、他の記録媒体の読み取りまたは書き込み装置（不図示）とのデータの入出力制御を行ってもよい。
【００２５】
通信Ｉ／Ｆ８７は、コンピュータ８０と外部の装置との通信を行うためのネットワーク接続用インタフェースである。通信Ｉ／Ｆ８７は、有線回線と接続するためのネットワークインタフェースでもよいし、無線回線と接続するためのネットワークインタフェースでもよい。たとえば、情報処理装置１００を実現するコンピュータ８０は、通信Ｉ／Ｆ８７によりネットワーク３を介して他のコンピュータ（不図示）と通信してもよい。
【００２６】
図１の本実施形態の情報処理装置１００の各構成要素は、図２のコンピュータ８０のハードウェアとソフトウェアとの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各実施形態の情報処理装置１００を示す機能ブロック図は、ハードウェア単位の構成ではなく、論理的な機能単位のブロックを示している。
【００２７】
本実施形態のコンピュータプログラム９０は、情報処理装置１００を実現させるためのコンピュータ８０に、複数の部品別に定義されたテーブル１０であって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり第１の情報とは異なる第２の情報と、の関係を示すテーブル１０を複数取得する手順、複数のテーブル１０のそれぞれが示す関係をテーブル別にグラフデータベース３０の要素に変換する手順、複数のテーブル１０の変換後の複数の要素を組み合わせることにより、グラフデータベース３０を生成する手順、を実行させるように記述されている。
【００２８】
本実施形態のコンピュータプログラム９０は、コンピュータ８０で読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラム９０は、記録媒体からコンピュータ８０のメモリ８４にロードされてもよいし、ネットワークを通じてコンピュータ８０にダウンロードされ、メモリ８４にロードされてもよい。
【００２９】
コンピュータプログラム９０を記録する記録媒体は、非一時的な有形のコンピュータ８０が使用可能な媒体を含み、その媒体に、コンピュータ８０が読み取り可能なプログラムコードが埋め込まれる。コンピュータプログラム９０が、コンピュータ８０上で実行されたとき、コンピュータ８０に、情報処理装置１００を実現する情報処理方法を実行させる。
【００３０】
図３は、本発明の実施の形態に係る情報処理装置１００の動作の一例を示すフローチャートである。
情報処理装置１００は、テーブル１０を複数取得する。（ステップＳ１０１）。テーブル１０は、複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり第１の情報とは異なる第２の情報と、の関係を示す。そして情報処理装置１００は、複数のテーブル１０のそれぞれが示す関係を、テーブル別に、グラフデータベース３０の要素に変換する（ステップＳ１０３）。そして情報処理装置１００は、複数のテーブル１０の変換後の複数の要素を組み合わせることにより、グラフデータベース３０を生成する（ステップＳ１０５）。
【００３１】
以下、詳細に説明する。
図４は、取得部１０２が取得する本実施形態の各テーブル１０の例を示す図である。
ここでは、複数種類の部品Ａ（仕様の異なる２つの部品Ａ１とＡ２）と、部品Ｂ（仕様の異なる２つの部品Ｂ１とＢ２）と、部品Ｃ（仕様の異なる４つの部品Ｃ１、Ｃ２、Ｃ３、Ｃ４）とを組み合わせて作製される製品を例に説明する。
【００３２】
テーブル１０は、例えば、マイクロソフトエクセル（登録商標）ファイル、他の表計算ソフトのファイル、ＣＳＶ（Comma-Separated Values）形式、テキスト形式、ＨＴＭＬ（HyperText Markup Language）形式、ＸＭＬ（Extensible Markup Language）形式等のファイル等、様々な形式のファイルデータとして取得することができる。
【００３３】
図４（ａ）は、部品Ａと仕様Ｘとのルールを示すテーブル１０である。部品Ａは、２つの型式（Ａ１とＡ２）があり、異なる仕様Ｘ１とＸ２とを有している。図中、テーブル１０内のチェックマークは、対応する仕様と部品を示している。言い換えると、このテーブル１０は、仕様Ｘ１を実現するには部品Ａ１が必要であり、かつ、仕様Ｘ２を実現するにはＡ２が必要であることを示している。つまり、部品Ａ１は仕様Ｘ１の必要条件であり、部品Ａ２は仕様Ｘ２の必要条件である。本図に示す例では、第１の情報は部品Ａの型式（Ａ１、Ａ２）であり、第２の情報は仕様（Ｘ１、Ｘ２）である。あるいは、第１の情報が仕様で、第２の情報が部品の型式であってもよい。
【００３４】
図４（ｂ）は、部品Ｂと仕様Ｙとのルールを示すテーブル１０である。部品Ｂは、２つの型式（Ｂ１とＢ２）があり、異なる仕様Ｙ１とＹ２とを有している。言い換えると、このテーブル１０は、仕様Ｙ１を実現するには部品Ｂ１が必要であり、かつ、仕様Ｙ２を条件するには部品Ｂ２が必要であることを示している。
【００３５】
図４（ｃ）は、部品Ｃと部品Ａと、仕様Ｙとのルールを示すテーブル１０である。部品Ｃは、仕様の異なる４つの部品Ｃ１〜Ｃ４を含んでいる。テーブル１０は、部品Ａと仕様Ｙとの組み合わせに対応する部品Ｃの型式が対応付けられている。図の例では、部品Ａ１と仕様Ｙ１との組み合わせに部品Ｃ１が対応付けられている。つまり、部品Ａ１を用いて仕様Ｙ１を有する製品を作る場合は、部品Ｃ１を組み合わせる必要があることを示している。
【００３６】
このように、テーブル１０は、条件式を定義することもできる。図４（ｃ）では、テーブル１０の項目の列の間に条件式の列を追加してある。また、他の例として、図５のようなテーブル１０も考えられるが、これらに限定されない。
【００３７】
この例では、条件式として論理演算子の論理積（ＡＮＤ）を用いているが、論理和（ＯＲ）、否定（ＮＯＴ）、又は否定論理積（ＮＡＮＤ）等でもよい。さらに、ノード３２が示す部品や仕様のプロパティの属性値を用いて判定する条件式を、例えば、不等号（>、<）、等号（＝）、等号否定（≠）等を用いて定義してもよい。あるいは、「ａｂｃ」で始まる（含む、又は終わる）等のように文字列を判定する条件式を用いて定義してもよい。
【００３８】
また、取得部１０２は、取得したテーブル１０の矛盾を検出してもよい。例えば、ある仕様と登録済みの部品との関係を定義しているテーブル１０において、未登録の部品が含まれていることを検出して操作者にエラーメッセージの表示等で通知してもよい。
【００３９】
本発明の情報処理装置１００によって、仕様ＸとＹとを組み合わせたバリエーションの製品が、どの部品を組み合わせることで実現できるかを求めることができる。
そこでまず、仕様ＸとＹとを組み合わせた製品バリエーションを考える。この例では、図４（ｄ）に示すように、組み合わせは４つであり、製品バリエーションＶＡＲ１〜ＶＡＲ４となる。
【００４０】
以下、本発明の情報処理装置１００によって４つの製品の各部品の組み合わせを求める方法について説明する。
図６〜図８は、グラフデータベース３０を説明するための図である。変換部１０４により各テーブル１０がグラフデータベース３０の要素に変換された様子を示している。
グラフデータベース３０は、部品や仕様を示すノード３２と、各ノード３２間の関係性を示すリレーション３４と、を要素として含む。さらに、ノード３２は、その属性値を示すプロパティとして、部品の型式や仕様の値（数値又は文字列等）を有する。リレーション３４は、ノード３２間の関係性を示すプロパティとして、関係性の方向と意味（例えば、仕様Ｘ１は部品Ａ１を必要とすることを示す「REQUIRE」）を有している。図中、矢印の方向が関係性の方向を示していて、部品Ａ１が仕様Ｘ１の必要条件である場合、仕様Ｘ１→部品Ａ１となる。
【００４１】
また、図示していないが、仕様Ｘ１が部品Ａ１の十分条件であることを示してもよい。その場合は、図６の矢印は部品Ａ１→仕様Ｘ１となる。そして、そのラベルは、部品Ａ１は仕様Ｘ１で使用されることを示す「USED_AT」となる。
【００４２】
図６に示すように、変換部１０４は、テーブル１０の各項目、例えば、部品Ａと仕様Ｘと、および部品Ｂと仕様Ｙとをそれぞれノード３２に変換する。そして、ノード３２間を矢印でつなぎ、関係性をリレーション３４で示す。例えば、リレーション３４は、仕様Ｘ２が部品Ａ２を必要とすることを示している。図６の左側の例は図４（ａ）に対応しており、図６の左側の例は図４（ｂ）に対応している。
【００４３】
図示していないが、各ノード３２やリレーション３４は、各々プロパティを有することができる。同様に、図４（ｃ）示したテーブル１０、すなわち部品Ｃと部品Ａと仕様Ｙとのルールのテーブル１０を変換すると図７に示すようになる。さらに、図４（ｄ）示したテーブル１０、すなわち仕様ＸとＹとの組み合わせルールのテーブル１０を変換すると図８に示すようになる。
【００４４】
生成部１０６は、変換部１０４が変換した図６〜図８の各要素を組み合わせることにより、図９に示すグラフデータベース３０を生成する。
【００４５】
以上説明したように、本実施形態によれば、部品の仕様および要件の情報テーブルを複数準備し、各テーブルが示す関係をテーブル別にグラフデータベース３０の要素に変換し、変換後の要素を組み合わせることでグラフデータベース３０を生成することができる。
設計情報をグラフデータベース化することで、例えば、所望の仕様を有する製品を構成する部品を高速に効率良く検索することができる。
【００４６】
また、部品別にテーブル１０を準備するので、製品の一部仕様変更により部品が変更されたり、部品の仕様が変更されたりした場合でも、変更された部品のテーブル１０のみを変更して、グラフデータベース３０を生成し直せばよいので、変更による影響が小さい。また、変更に伴う確認は変更された部品のテーブル１０のみでよいので、作業負荷が少なく、ミスも低減できる。
【００４７】
また、複雑な仕様の多数の部品からなる製品を検索する場合にも、テーブル１０を準備してグラフデータベース３０を生成するだけでよいので、効率がよく、また、ミスを低減できる。
【００４８】
（第２の実施の形態）
図１０は、本発明の実施の形態に係る情報処理装置１００の論理的な構成を示す機能ブロック図である。図１０の情報処理装置１００は、図１の上記実施形態の構成に加え、さらに、表示制御部１１０を備えている。図１０は、図１の構成との組み合わせた例を示しているが、他の実施形態の構成と組み合わせてもよい。本実施形態の情報処理装置１００は、図１の上記実施形態で生成されたグラフデータベース３０を再評価し、グラフデータベース３０を表示する構成を有する点以外は、上記実施形態と同様である。
【００４９】
表示制御部１１０は、生成されたグラフデータベース３０において、ある項目が選択されると、当該項目につながっている他の項目及びそのつながりを識別可能にコンピュータ８０の表示装置９２に表示させる。
【００５０】
ここで、項目とは、例えば、図９のグラフデータベース３０を例にとると、部品（Ａ１、Ａ２、Ｂ１、Ｂ２、Ｃ１〜Ｃ３）、仕様（Ｘ１、Ｘ２、Ｙ１、Ｙ２）、および、製品（ＶＡＲ１〜ＶＡＲ４）の少なくともいずれか１つである。
【００５１】
例えば、表示制御部１１０は、図９のグラフデータベース３０を描画した画面を表示装置９２に表示し、入力装置９４を用いた操作者による、ある項目の選択操作を受け付けることができる。
【００５２】
表示制御部１１０は、操作者により、ある製品バリエーションＶＡＲ１が選択されると、図１１のようなグラフ３８を描画した画面を表示してもよい。あるいは、図１１の途中経過は表示せずに、生成部１０６が以下の再評価処理を行った後、検索結果として図１２に示す最終的なグラフ３８を描画した画面のみを表示制御部１１０が表示してもよい。
【００５３】
以下、４つの製品バリエーションのうち、製品バリエーションＶＡＲ１について、再評価を行う手順を説明する。図９のグラフデータベース３０から、製品バリエーションＶＡＲ１のグラフ３８のみを取り出すと、図１１に示すようになる。図１１は、選択された製品バリエーションＶＡＲ１につながっている他の項目と、そのつながりを示している。
【００５４】
ここで、図中、製品バリエーションＶＡＲ１のグラフ３８中の３つの論理演算子ＡＮＤについて、部品Ｃが必要とする部品Ａと仕様Ｙとの条件が定義されていないものが含まれている（図中、破線で囲んだ部分）。
【００５５】
このように定義されていないものが含まれる理由は、例えば、図７に示した部品Ｃ２の必要条件である部品Ａ１および仕様Ｙ２のうち、仕様Ｙ２は図１１のグラフ３８に含まれていないために、部品Ｃ２の条件が不足するのである。また、図７で示して部品Ｃ３の必要条件である部品Ａ２および仕様Ｙ１のうち、部品Ａ２は図１１のグラフ３８に含まれていないために、部品Ｃ３の条件が不足するのである。このようにして、条件が不足している部品Ｃ２および部品Ｃ３の経路が除外される。
【００５６】
このようにして図１２に示す要素がグラフ３８に残る。この最終的なグラフ３８は、製品バリエーションＶＡＲ１の仕様Ｘ１とＹ１とを満たす部品の組み合わせが、Ａ１かつＢ１かつＣ１であることを示している（図中、矢印が指し示している部品）。生成部１０６により再評価して得られたグラフ３８を表示制御部１１０が表示する。
【００５７】
このように、本実施形態の情報処理装置１００によれば、ある製品のある仕様を満たすための必要条件を効率よく求めることができる。
【００５８】
このようにして得られた結果は、例えば、図１３のテーブル４０として表示制御部１１０により出力されてよい。テーブル４０は、表示されてもよいし、データファイルとして出力されてもよい。テーブル４０は、仕様ＸとＹとの組み合わせに対する部品Ａ、Ｂ、Ｃの組み合わせを示している。言い換えると、テーブル４０は、どの部品を組み合わせれば、各仕様（Ｘ、Ｙ）の組み合わせを有するいずれの製品（ＶＡＲ１〜ＶＡＲ４）を実現できるかを示している。
【００５９】
また、情報処理装置１００は、変換部１０４および生成部１０６におけるテーブル１０を基に処理を行う過程で、経路がつながらない等のエラーを検出する検出部（不図示）をさらに備えてもよい。これにより、設計ミス等による設計仕様や条件自体の間違いや、テーブル１０作成時の入力ミス等を検出することができる。
【００６０】
具体的には、検出部は、「ある部品が選択される条件が存在しない（例えば、ＶＡＲ１〜ＶＡＲ４のどのバリエーションでも部品Ｃ１が選択されない）」、あるいは、「ある条件で選択される部品が複数存在する（ＶＡＲ１の条件で、部品Ｃ１とＣ２の両方が選択される）」といったケースを検出する。ただし、色が異なるだけで機能は同じ部品がある場合は、ある条件で複数の部品が選択される場合もあり、そのような場合にはエラーとはしない。
【００６１】
検出部は、エラーが検出されたテーブル１０の情報を操作者に通知してもよい。エラーが検出されたテーブル１０のデータファイルの情報（ファイル名やパス情報）を通知してもよいし、さらに、エラーが検出された経路に関連している要素に対応するテーブル１０内の項目をハイライト表示してもよい。あるいは、図９のグラフデータベース３０の画面で、経路がつながらなかった箇所を点滅表示する等して通知してもよい。
【００６２】
以上説明したように、本実施形態によれば、グラフデータベース３０において、ある項目が選択されると、選択された項目に関係する他の項目と、そのつながりが識別可能に表示されるので、多数の部品を組み合せて作製される製品であっても、見やすく直感的に分かりやすい画面とすることができる。また、複数の構成案のバリエーションの中から、幾つかの案を選択して表示することで、比較評価することもできる。
【００６３】
また、設計ミス等によりテーブル１０に間違いがあった場合にエラーを検出して通知することができるので、グラフデータベース３０の精度を向上することができる。
【００６４】
（第３の実施の形態）
図１４は、本発明の実施の形態に係る情報処理装置１００の論理的な構成を示す機能ブロック図である。
本実施形態の情報処理装置１００は、図１０の上記実施形態の構成に加え、さらに、検索部１２０を備える。図１４は、図１０の構成との組み合わせた例を示しているが、他の実施形態の構成と組み合わせてもよい。
【００６５】
上記実施形態では、ノード３２間の経路を辿り、製品のバリエーションを検索して取得する例を示した。しかし、実際の製品は、多数の部品から構成されていたり、仕様が多岐にわたっていたり、部品や仕様間の関係に制約があったりする。そのため、グラフデータベース３０の構造が複雑になったり、検索対象の組み合わせが莫大になったりして、検索速度が低下し効率が悪くなる。そこで、本実施形態では、グラフデータベース３０のノード３２間の経路を辿るのではなく、はじめに、部品又は仕様の間の関係性を検索することで、項目レベルで検索経路を取得し、その後、取得された検索経路上で検索条件を満たすノードを検索する構成を有するものとする。
【００６６】
グラフデータベース３０において、リレーション３４は方向性が定義されている。
検索部１２０は、グラフデータベース３０のリレーション３４の方向に関係なく複数の項目間のつながりを検索する。また、検索部１２０は、項目間の関係とその方向性とを示す関係データを生成し、生成した関係データをグラフデータベース３０に追加する。
【００６７】
図１５は、検索部１２０の処理手順の一例を示すフローチャートである。
検索部１２０は、指定された検索条件を満たすノード３２の組み合わせを検索する。
ここでは、情報処理装置１００を、製品であるパーソナルコンピュータの構成および仕様を決定するコンフィギュレーターとして機能させる場合を例に説明する。
まず、検索部１２０は、テーブル１０の第１の情報および第２の情報に対応する項目間の関係と、当該項目間の関係の方向を取得する（ステップＳ２０１）。
【００６８】
図１６は、２つのテーブル１０を用いてグラフデータベース３０に関係データを追加する例を説明するための図である。図１６（ａ）は、パーソナルコンピュータの販売市場（図中、「Ｍａｒｋｅｔ」と示す）（ＪＡＰＡＮとＵＳＡ）と、液晶ディスプレイのサイズ（１３インチと１５インチ）との関係を示すテーブル１０を示している。図１６（ｂ）は、パーソナルコンピュータの液晶ディスプレイのサイズ（図中、「Ｓｉｚｅ」と示す）（１３インチと１５インチ）とＣＰＵの性能（２．３ＧＨｚ、２．５ＧＨｚ、２．８ＧＨｚ、２．９ＧＨｚ）との関係を示すテーブル１０を示している。
【００６９】
図１６（ｃ）は、関係データを説明するための図である。
図１６（ｃ）では、グラフデータベース３０のノード３２を、それぞれ対応する項目でグループ化して上位の項目ノード４２として追加するとともに、さらに、項目ノード４２間の関係４４（以後、「項目間の関係４４」とも呼ぶ）を示す表示が追加されている。グラフデータベース３０のノード３２間の関係（リレーション３４）は破線の矢印で示してある。項目間の関係４４は、実線の矢印で示されるように、テーブル１０の定義に従った方向４６を有している。なお、リレーション３４と関係４４とは、破線や実線に限定されず、互いに識別可能な態様で表示されていればよい。
【００７０】
このように、関係データとは、グラフデータベース３０に追加される、項目ノード４２、項目間の関係４４、および項目間の方向４６を示す矢印である。生成部１０６は、これら関係データをグラフデータベース３０に追加する。このとき、生成部１０６は、ノード３２間のリレーション３４の方向に、項目間の関係４４の方向を揃えてグラフデータベース３０に登録する。ここで、項目間の方向とは、項目の必要十分条件の関係を示していて、項目Ａならば項目Ｂ（つまり、項目Ｂは項目Ａの必要条件、あるいは、項目Ａは項目Ｂの十分条件）の場合、矢印は項目Ａ→項目Ｂの方向を指すものとする。
【００７１】
表示制御部１１０は、図１６（ｃ）のグラフデータベース３０を表示してもよい。図１６（ｃ）のグラフデータベース３０の要素のうち、各項目のノード３２は非表示にして、項目ノード４２のみが表示されてもよい。あるいは、項目ノード４２を選択するとその直下のノード３２が表示又は非表示に切り替わってもよい。
【００７２】
表示制御部１１０は、追加された関係データを、オリジナルのグラフデータベース３０の要素とは識別可能に、形状、色、表示形態（ハイライト、ブリンク、アニメーション等）を変えて表示してもよい。
【００７３】
なお、項目間の関係４４は、必ずしも定義する必要はなく、項目ノード４２と、項目ノード４２間を連結するリレーション４６だけの定義とすることもできる。
【００７４】
そして、検索部１２０は、取得した項目間の関係４４とその方向とに基づいて、項目ノード４２間の検索経路を定義する（図１５のステップＳ２０３）。
【００７５】
図１７は、検索経路と、受け付けた検索条件と、検索結果の一例を示す図である。
図１７（ａ）の１行目に示される検索経路には、項目ノード４２（ｎ１、ｎ２、ｎ３）と、項目間の関係４４とが定義されている。破線で囲まれた部分４７の矢印の向きが、関係４４の方向を示している。
上記したように、検索部１２０は、まず、グラフデータベース３０に登録されている項目ノード４２と項目間の関係４４に基づいて、検索経路を検索する。図１７（ａ）に示すように、検索経路は、項目間の関係４４の方向を含んで定義される。
【００７６】
そして、検索部１２０は、検索条件を受け付け（図１５のステップＳ２０５）、定義した検索経路に従って、検索条件を満たすグラフデータベース３０のノード３２の組み合わせを検索する（図１５のステップＳ２０７）。
【００７７】
ここで、検索部１２０は、項目間の関係４４の方向に基づいて、複数のノード３２間のリレーション３４の方向を特定することができるので、検索経路の項目間の関係４４の方向に関係なく経路に沿って検索を行うことができる。言い換えると、項目間の関係４４の方向として、経路に沿った順方向とその逆の方向とをそれぞれ含んだ検索経路であっても、項目間の関係４４の方向に基づいてリレーション３４の方向を特定できるので、経路に沿ってノード３２の検索を行うことができることとなる。
【００７８】
図１７（ａ）の２行目以降は、検索条件が指定されている。ここでは、市場（ＪＡＰＡＮ）と液晶ディスプレイのサイズ（１３インチ）が指定された場合の、ＣＰＵが取り得る値を検索するための検索条件が指定されている。そして、検索結果として、各ノード３２の値を返すことが指定されている。
【００７９】
図中、「ni.type」（ｉを自然数）は、ノードｎｉの仕様種別を示し、「ni.value」は、ノードｎｉの仕様値を示している。
【００８０】
そして、検索部１２０は、各ノード３２の値を検索結果として出力する（図１５のステップＳ２０９）。
図１７（ｂ）は、図１７（ａ）の検索経路に従って検索した結果の出力例を示す図である。
検索部１２０による検索結果は、表示制御部１１０により図１７（ｂ）の画面として表示される。または、検索結果は、データファイルとして出力されてもよい。
【００８１】
このように、定義された方向に関係なく、経路上の各項目の複数のノード３２のうち、検索条件を満たすノード３２が抽出され、抽出された各項目のノード３２の値が検索結果として取得される。
【００８２】
以下、方向に関係なく経路に沿って検索を行う場合について、図１８〜図１９を用いて具体的に説明する。
図１８（ａ）のテーブル１０は、図１６（ａ）と同じである。図１８（ｂ）のテーブル１０は、図１６（ｂ）とは液晶ディスプレイとＣＰＵとの関係を示すテーブル１０の項目間の関係が逆になっている。
【００８３】
そして、これらのテーブル１０から定義される検索経路は、図１９（ａ）に示すように、破線で囲まれている部分４７の項目間の関係４４の矢印の向きが図１７（ａ）と逆になっている。
【００８４】
検索部１２０は、図１９（ａ）の２行目以降に定義されている検索条件に従って検索を行う。その際、検索部１２０は、検索経路で定義された経路に沿って、しかし、検索部１２０は、項目間の関係４４の方向には関係なく、検索を行う。その結果取得される検索結果は、図１９（ｂ）のようになり、これは、図１７（ｂ）の検索結果と同じである。
【００８５】
次に、論理演算子が含まれる関係定義を含む場合について図２０〜図２２を用いて説明する。
図２０に示すように、テーブル１０は、液晶ディスプレイのサイズ（１３インチ、１５インチ）とタッチバー（有無）と、ストレージ容量（１２８ＧＢ、２５６ＧＢ、５１２ＧＢ）との関係を示している。図２０の「ｗ／」は、タッチバーを有していることを示し、「ｗ／ｏ」は、タッチバーを有してないことを示している。
【００８６】
図２０のように、論理演算子が含まれる関係定義を含むテーブル１０の場合、図２１に示すように、各項目ノード４２間の関係４４も、「Size x Touch Bar-Storage」と、論理演算子（論理積を示す「x」）を含んだラベルで示される。
このようなテーブル１０により、複数の必要な条件（液晶ディスプレイのサイズとタッチバーの有無）に対するその答え（ストレージ容量）を絞り込んだ関係を定義できる。これにより、複雑な設計仕様もグラフデータベース３０として定義することができる。
【００８７】
図２２（ａ）に示すように、検索経路として、２つの経路が定義される。そして指定された検索条件に従って、検索部１２０が経路に沿って検索を行う。そして、経路上の各項目の複数のノード３２の中から、検索条件を満たすノード３２が抽出され、抽出された各項ものノード３２の値が検索結果として取得される。表示制御部１１０は、図２２（ｂ）の検索結果を表示する。
【００８８】
以上説明したように、本実施形態によれば、上記実施形態と同様な効果を奏するとともに、さらに、検索部１２０が、項目間の関係の方向に関係なく、検索を行うので、テーブル１０の項目の関係の定義が逆になっていた場合でも、問題なく検索を行うことができる。さらに、本実施形態では、ノード３２とリレーション３４を辿るのではなく、ノード３２をグループ化した項目ノード４２と、項目間の関係４４との経路を定義して、その経路上を辿りながら、検索条件を満たすノード３２を検索するので、検索に係る時間を短縮でき、効率よく検索できる。
【００８９】
（第４の実施の形態）
本実施形態の情報処理装置１００は、図１４の情報処理装置１００と同様な構成を有する。
【００９０】
本実施形態の情報処理装置１００において、グラフデータベース３０を生成する際、生成部１０６が使用するテーブル１０は切り替え可能になっている。そして表示制御部１１０は、使用するテーブル１０の選択を受け付け、選択されているテーブル１０を用いて生成されたグラフデータベース３０を表示する。言い換えると、生成部１０６が生成するグラフデータベース３０は、選択されているテーブル１０によって異なる。さらに、表示制御部１１０は、複数のテーブル１０それぞれに基づいて生成されたグラフデータベース３０を重ねて表示することもできる。
【００９１】
図２３は、液晶ディスプレイのサイズとＣＰＵの性能に関して異なる２つの設計仕様や設計条件に基づいた２つの第１のテーブル１０ａと第２のテーブル１０ｂを示している。図２４は、図２３の第１のテーブル１０ａと第２のテーブル１０ｂと、市場と液晶ディスプレイのサイズに関するテーブル１０とを用いて生成されたグラフデータベース３０を示す図である。
【００９２】
図２４（ｂ）に示すように、グラフデータベース３０は、第１のテーブル１０ａに基づく関係４４（Ｓｉｚｅ−ＣＰＵ  ＃１）と第２のテーブル１０ｂに基づく関係４４（Ｓｉｚｅ−ＣＰＵ  ＃２）との両方が含まれている。
【００９３】
表示制御部１１０は、図２４（ｂ）のグラフデータベース３０を描画した画面を表示するとともに、表示されたグラフデータベース３０の中の第１のテーブル１０ａに基づく関係４４（Ｓｉｚｅ−ＣＰＵ  ＃１）と第２のテーブル１０ｂに基づく関係４４（Ｓｉｚｅ−ＣＰＵ  ＃２）とのうちの一方が操作者により選択されると、選択された関係４４にのみ対応するグラフデータベース３０を描画した画面（図２５又は図２６）を表示する。
【００９４】
テーブル１０の選択（切替）方法は、様々考えられるが、例えば、まず、設計仕様毎に、識別情報と、テーブル１０の組み合わせを対応付けて登録するとともに、設計仕様毎に生成されるグラフデータベース３０にも当該識別情報を対応付けておく。そして、設計仕様の識別情報の指定を受け付けることで、指定された識別情報の設計仕様に対応するグラフデータベース３０を呼び出すことができる。
また、設計仕様の識別情報に対応付けて登録されるテーブル１０は、少なくとも異なる設計仕様間で切り替わるテーブル１０を含んでいればよい。異なる設計仕様で共通しているテーブル１０は共通情報として登録すればよい。
【００９５】
図２５は、第１のテーブル１０ａに基づく関係４４（Ｓｉｚｅ−ＣＰＵ  ＃１）が選択された場合のグラフデータベース３０を描画した画面を示す図である。図２６は、第２のテーブル１０ｂに基づく関係４４（Ｓｉｚｅ−ＣＰＵ  ＃２）が選択された場合のグラフデータベース３０を描画した画面を示す図である。
【００９６】
このように、表示制御部１１０は、設計仕様や設計条件が異なる複数のテーブル１０を用いて生成されたグラフデータベース３０において、選択された関係４４に対応するテーブル１０を判別し、当該テーブル１０に対応するグラフ３８のみを抽出して表示し、選択されなかった関係４４に対応するテーブル１０のグラフ３８は非表示にする。あるいは、選択されなかった方は、表示色を薄くする等、選択されたものと区別可能に、かつ、選択されたものが優先的に見えるように、表示する。
【００９７】
また、表示制御部１１０は、図２７のような画面２００を表示してもよい。この画面２００は、グラフデータベース３０の項目ノード４２と関係４４とを階層的に表示している。言い換えると、ある項目ノード４２に直接つながっている複数の項目ノード４２と関係４４とを、同一の行又は列となるように配置して表示している。
【００９８】
また、選択された階層のみを表示又は非表示にしたり、ある階層が選択されると、その階層の直下の階層が表示又は非表示にしてもよい。さらに、階層内の項目ノード４２が選択されると、対応するノード３２と、そのノード３２に関連するノード３２およびリレーション３４が表示されてもよい。
【００９９】
以上説明したように、本実施形態によれば、設計仕様や設計条件が異なる複数のテーブル１０を用いて生成されたグラフデータベース３０において、異なる複数案の設計仕様や設計条件のテーブル１０を用いてグラフデータベース３０を生成しておき、仕様に合わせてテーブル１０を選択してグラフデータベース３０を切り替えて表示させることができる。よって、複数案を切り替えて評価しながら検討することが可能になる。
【０１００】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、情報処理装置１００は、さらに、生成されたグラフデータベース３０をコンピュータ８０のストレージ８５（又はメモリ８４）に記憶する記憶部（不図示）をさらに備えてもよい。記憶部は、生成されたグラフデータベース３０を各々、例えば、生成時刻または保存時刻、および、グラフデータベース３０の生成に使用した複数のテーブル１０の情報に紐付けて記憶することで、設計仕様や設計条件の変更履歴として管理することができる。また、生成されたグラフデータベース３０は、異なる識別情報又は名前を付して記憶されてもよい。
【０１０１】
また、他の実施形態として、情報処理装置１００は、設計仕様の一部が変更になることによる影響範囲の分析を行う構成を有してもよい。
情報処理装置１００は、テーブル１０の部品の仕様及び要件の少なくとも一部が変更されると、当該変更された部品の仕様及び要件に対応する項目を特定する特定部（不図示）をさらに備えてもよい。そして、表示制御部１１０は、特定された項目につながっている他の項目及びそのつながりを識別可能に、例えば、形状、色、表示形態（ハイライト、ブリンク、アニメーション等）を変えて表示する。
この構成によれば、特定の設計仕様が変更になった場合に、その影響範囲を識別可能に表示することができるので、影響範囲の分析を行うことができる。
【０１０２】
設計仕様の変更の受け付け方法は、例えば、テーブル１０を切り替えることでもよいし、変更となる設計仕様を示す仕様間の関係４４を指示することでもよい。
【０１０３】
また、特定された項目を用いる他の設計仕様が直接の影響範囲となり、さらに、直接の影響範囲で用いられる他の項目を用いる設計仕様が次の影響範囲となる。これを再帰的に繰り返すことによって、影響するすべての設計仕様を求めることができる。
表示制御部１１０は、直接の影響範囲と、それ以降の影響範囲をそれぞれ区別して識別可能に表示してもよい。また、影響される順に順次識別可能に表示してもよい。
【０１０４】
図２８は、図２７のSize-Touch Barの設計仕様が変更された場合の、直接の影響範囲と、それ以降の影響範囲をそれぞれ区別して識別可能に表示した例を示している。ここでは、Touch Barがw/とw/oの２つの選択条件であったのを、w/(Large)、w/(Small)、w/oの３種類の選択条件に変更になったとする。そして、Touch Barが設計仕様に含まれるSize x Touch Bar-Graphics、Size x Touch Bar-Interface、Size x Touch Bar-Storageの３つの設計仕様に影響が及ぶことが示されている。図中、二重線が直接の影響範囲を示していて、一点鎖線がそれ以降の影響範囲を示しているが、上記したように、各影響範囲は、形状、色、表示形態（ハイライト、ブリンク、アニメーション等）を変えてそれぞれ表示される。これにより、Size x Touch Bar-Graphics、Size x Touch Bar-Interface、Size x Touch Bar-Storageの３つの設計仕様の変更が必要なことを操作者は認識することができる。また、Size-CPUが変更になった場合は、CPUの選択のみが変更され、他の設計仕様に影響はしない。この場合には、影響がないことを表示してもよい。
【０１０５】
また、図２９は、Size-Touch Barの設計仕様が変更され、Touch BarとSizeの組み合わせ条件が変更になった場合の例を示している。SizeとTouch Barの両方が設計仕様に含まれるSize x Touch Bar-Graphics、Size x Touch Bar-Interface、Size x Touch Bar-Storageの３つの設計仕様に影響が及ぶことが示されている。これにより、Size x Touch Bar-Graphics、Size x Touch Bar-Interface、Size x Touch Bar-Storageの３つの設計仕様の変更が必要なことを操作者は認識することができる。
【０１０６】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
【０１０７】
以下、参考形態の例を付記する。
１．  コンピュータに、
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得する手順、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換する手順、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する手順、
を実行させるためのプログラム。
２．  １．に記載のプログラムにおいて、
生成された前記グラフデータベースにおいて、ある項目が選択されると、当該項目につながっている他の項目及びそのつながりを識別可能に表示する手順をさらにコンピュータに実行させるためのプログラム。
３．  １．又は２．に記載のプログラムにおいて、
前記グラフデータベースにおいて、前記関係の方向性が定義されている、プログラム。
４．  １．又は２．に記載のプログラムにおいて、
前記グラフデータベースにおいて、前記関係の方向性が定義されており、
生成された前記グラフデータベースにおいて、検索条件が指定されると、前記関係の方向に関係なく複数の項目間のつながりを示す経路を検索する手順、
前記経路に沿って前記検索条件を満たす前記要素の組み合わせを検索する手順、をさらにコンピュータに実行させるためのプログラム。
５．  ３．又は４．に記載のプログラムにおいて、
前記項目間の関係とその方向性を示す関係データを生成する手順、
生成した前記関係データを前記グラフデータベースに追加する手順、をコンピュータに実行させるためのプログラム。
６．  １．から５．のいずれか一つに記載のプログラムにおいて、
前記グラフデータベースを生成する際、使用する前記テーブルは切り替え可能であり、
選択されている前記テーブルを用いて生成された前記グラフデータベースを表示する手順、をさらにコンピュータに実行させるためのプログラム。
７．  １．から６．のいずれか一つに記載のプログラムにおいて、
ある項目に直接つながっている複数の項目を、同一の行又は列となるように配置して表示する手順をさらにコンピュータに実行させるためのプログラム。
８．  １．から７．のいずれか一つに記載のプログラムにおいて、
生成された前記グラフデータベースを、当該グラフデータベースを生成する際に使用した前記テーブルの情報を紐付けて記憶装置に記憶する手順をさらにコンピュータに実行させるためのプログラム。
９．  １．から８．のいずれか一つに記載のプログラムにおいて、
前記テーブルの前記部品の前記仕様及び前記要件の少なくとも一部が変更されると、当該変更された前記部品の前記仕様及び前記要件に対応する項目を特定する手順、
特定された前記項目につながっている他の項目及びそのつながりを識別可能に表示する手順、をさらにコンピュータに実行させるためのプログラム。
１０．  複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得するテーブル取得手段と、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換する変換手段と、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する生成手段と、
を備える情報処理装置。
１１．  １０．に記載の情報処理装置において、
生成された前記グラフデータベースにおいて、ある項目が選択されると、当該項目につながっている他の項目及びそのつながりを識別可能に表示する表示手段をさらに備える情報処理装置。
１２．  １０．又は１１．に記載の情報処理装置において、
前記グラフデータベースにおいて、前記関係の方向性が定義されている、情報処理装置。
１３．  １０．又は１１．に記載の情報処理装置において、
前記グラフデータベースにおいて、前記関係の方向性が定義されており、
生成された前記グラフデータベースにおいて、検索条件が指定されると、前記関係の方向に関係なく複数の項目間のつながりを示す経路を検索し、前記経路に沿って前記検索条件を満たす前記要素の組み合わせを検索する検索手段をさらに備える情報処理装置。
１４．  １２．又は１３．に記載の情報処理装置において、
前記生成手段は、
前記項目間の関係とその方向性を示す関係データを生成し、
生成した前記関係データを前記グラフデータベースに追加する、情報処理装置。
１５．  １０．から１４．のいずれか一つに記載の情報処理装置において、
前記生成手段は、前記グラフデータベースを生成する際、使用する前記テーブルを切り替え可能であり、
選択されている前記テーブルを用いて生成された前記グラフデータベースを表示する表示手段をさらに備える情報処理装置。
１６．  １０．から１５．のいずれか一つに記載の情報処理装置において、
ある項目に直接つながっている複数の項目を、同一の行又は列となるように配置して表示する表示手段をさらに備える情報処理装置。
１７．  １０．から１６．のいずれか一つに記載の情報処理装置において、
生成された前記グラフデータベースを、当該グラフデータベースを生成する際に使用した前記テーブルの情報を紐付けて記憶装置に記憶する手段をさらに備える情報処理装置。
１８．  １０．から１７．のいずれか一つに記載の情報処理装置において、
前記テーブルの前記部品の前記仕様及び前記要件の少なくとも一部が変更されると、当該変更された前記部品の前記仕様及び前記要件に対応する項目を特定する特定手段をさらに備え、
前記表示手段は、
特定された前記項目につながっている他の項目及びそのつながりを識別可能に表示する、情報処理装置。
１９．  情報処理装置が、
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得し、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換し、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する、情報処理方法。
２０．  １９．に記載の情報処理方法において、
前記情報処理装置が、
生成された前記グラフデータベースにおいて、ある項目が選択されると、当該項目につながっている他の項目及びそのつながりを識別可能に表示する、情報処理方法。
２１．  １９．又は２０．に記載の情報処理方法において、
前記グラフデータベースにおいて、前記関係の方向性が定義されている、情報処理方法。
２２．  １９．又は２０．に記載の情報処理方法において、
前記グラフデータベースにおいて、前記関係の方向性が定義されており、
前記情報処理装置が、
生成された前記グラフデータベースにおいて、検索条件が指定されると、前記関係の方向に関係なく複数の項目間のつながりを示す経路を検索し、
前記経路に沿って前記検索条件を満たす前記要素の組み合わせを検索する、情報処理方法。
２３．  ２１．又は２２．に記載の情報処理方法において、
前記情報処理装置が、
前記項目間の関係とその方向性を示す関係データを生成し、
生成した前記関係データを前記グラフデータベースに追加する、情報処理方法。
２４．  １９．から２３．のいずれか一つに記載の情報処理方法において、
前記グラフデータベースを生成する際、使用する前記テーブルは切り替え可能であり、
前記情報処理装置が、
選択されている前記テーブルを用いて生成された前記グラフデータベースを表示する、情報処理方法。
２５．  １９．から２４．のいずれか一つに記載の情報処理方法において、
前記情報処理装置が、
ある項目に直接つながっている複数の項目を、同一の行又は列となるように配置して表示する、情報処理方法。
２６．  １９．から２５．のいずれか一つに記載の情報処理方法において、
前記情報処理装置が、
生成された前記グラフデータベースを、当該グラフデータベースを生成する際に使用した前記テーブルの情報を紐付けて記憶装置に記憶する、情報処理方法。
２７．  １９．から２６．のいずれか一つに記載の情報処理方法において、
前記情報処理装置が、
前記テーブルの前記部品の前記仕様及び前記要件の少なくとも一部が変更されると、当該変更された前記部品の前記仕様及び前記要件に対応する項目を特定し、
特定された前記項目につながっている他の項目及びそのつながりを識別可能に表示する、情報処理方法。
【０１０８】
この出願は、２０１８年１２月１０日に出願された日本出願特願２０１８−２３０９４９号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2020122004.tif 000003
【図２】
2020122004.tif 000004
【図３】
2020122004.tif 000005
【図４】
2020122004.tif 000006
【図５】
2020122004.tif 000007
【図６】
2020122004.tif 000008
【図７】
2020122004.tif 000009
【図８】
2020122004.tif 000010
【図９】
2020122004.tif 000011
【図１０】
2020122004.tif 000012
【図１１】
2020122004.tif 000013
【図１２】
2020122004.tif 000014
【図１３】
2020122004.tif 000015
【図１４】
2020122004.tif 000016
【図１５】
2020122004.tif 000017
【図１６】
2020122004.tif 000018
【図１７】
2020122004.tif 000019
【図１８】
2020122004.tif 000020
【図１９】
2020122004.tif 000021
【図２０】
2020122004.tif 000022
【図２１】
2020122004.tif 000023
【図２２】
2020122004.tif 000024
【図２３】
2020122004.tif 000025
【図２４】
2020122004.tif 000026
【図２５】
2020122004.tif 000027
【図２６】
2020122004.tif 000028
【図２７】
2020122004.tif 000029
【図２８】
2020122004.tif 000030
【図２９】
2020122004.tif 000031
【手続補正書】
【提出日】令和3年5月12日(2021.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得する手順、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換する手順、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する手順、
を実行させるためのプログラム。
【請求項２】
請求項１に記載のプログラムにおいて、
生成された前記グラフデータベースにおいて、ある項目が選択されると、当該項目につながっている他の項目及びそのつながりを識別可能に表示する手順をさらにコンピュータに実行させるためのプログラム。
【請求項３】
請求項１又は２に記載のプログラムにおいて、
前記グラフデータベースにおいて、前記関係の方向性が定義されている、プログラム。
【請求項４】
請求項１又は２に記載のプログラムにおいて、
前記グラフデータベースにおいて、前記関係の方向性が定義されており、
生成された前記グラフデータベースにおいて、検索条件が指定されると、前記関係の方向に関係なく複数の項目間のつながりを示す経路を検索する手順、
前記経路に沿って前記検索条件を満たす前記要素の組み合わせを検索する手順、をさらにコンピュータに実行させるためのプログラム。
【請求項５】
請求項３又は４に記載のプログラムにおいて、
前記項目間の関係とその方向性を示す関係データを生成する手順、
生成した前記関係データを前記グラフデータベースに追加する手順、をコンピュータに実行させるためのプログラム。
【請求項６】
請求項１から５のいずれか一項に記載のプログラムにおいて、
前記グラフデータベースを生成する際、使用する前記テーブルは切り替え可能であり、
選択されている前記テーブルを用いて生成された前記グラフデータベースを表示する手順、をさらにコンピュータに実行させるためのプログラム。
【請求項７】
請求項１から６のいずれか一項に記載のプログラムにおいて、
ある項目に直接つながっている複数の項目を、同一の行又は列となるように配置して表示する手順をさらにコンピュータに実行させるためのプログラム。
【請求項８】
請求項１から７のいずれか一項に記載のプログラムにおいて、
生成された前記グラフデータベースを、当該グラフデータベースを生成する際に使用した前記テーブルの情報を紐付けて記憶装置に記憶する手順をさらにコンピュータに実行させるためのプログラム。
【請求項９】
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得するテーブル取得手段と、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換する変換手段と、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する生成手段と、
を備える情報処理装置。
【請求項１０】
情報処理装置が、
複数の部品別に定義されたテーブルであって、当該部品の仕様及び要件の一方の少なくとも一部である第１の情報と、当該部品の仕様及び要件の一方の少なくとも一部であり前記第１の情報とは異なる第２の情報と、の関係を示すテーブルを複数取得し、
あるテーブルにおける前記第２の情報は、他のテーブルの前記第１の情報の少なくとも一部であり、
複数の前記テーブルのそれぞれが示す前記関係を前記テーブル別にグラフデータベースの要素に変換し、
複数の前記テーブルの変換後の複数の前記要素を組み合わせることにより、前記グラフデータベースを生成する、情報処理方法。
【国際調査報告】
2020122004.tif 000032
2020122004.tif 000033
2020122004.tif 000034
2020122004.tif 000035