(57)【特許請求の範囲】
【請求項１】
仕様項目をカテゴリごとに対応付けた製品仕様情報、および、該仕様項目と制御ルールとの関係を示したルール情報を記憶した記憶部と、
前記製品仕様情報および前記ルール情報を用いて、前記制御ルールの実行順序ならびに関連する前記仕様項目および関連する前記制御ルールを対応付けたルール連鎖情報を生成するルール連鎖情報生成部と、
前記ルール連鎖情報を用いて、前記制御ルールの競合およびループを検出するルール整合性検査部と、を備える
ことを特徴とする製品構成情報管理装置。
【請求項２】
請求項１に記載の製品構成情報管理装置であって、
前記ルール連鎖情報を用いて、前記ルール整合性検査部によって検出された前記競合およびループの内容と、前記競合およびループに関連する前記仕様項目および前記制御ルールとを含む不具合警告情報を生成する結果出力部をさらに備える
ことを特徴とする製品構成情報管理装置。
【請求項３】
請求項２に記載の製品構成情報管理装置であって、
前記結果出力部は、
生成した前記不具合警告情報を所定の表示装置に出力表示する
ことを特徴とする製品構成情報管理装置。
【請求項４】
請求項１に記載の製品構成情報管理装置であって、
前記ルール連鎖情報生成部は、
前記製品仕様情報を用いて、条件仕様項目を特定し、
前記ルール情報を用いて、前記条件仕様項目に関連する前記制御ルールおよび該制御ルールによって設定される実行仕様項目を特定することにより、前記条件仕様項目と該制御ルールと、該実行仕様項目との連鎖関係を特定し、
前記連鎖関係に基づいて、前記ルール連鎖情報を生成する
ことを特徴とする製品構成情報管理装置。
【請求項５】
請求項２に記載の製品構成情報管理装置であって、
前記不具合警告情報に含まれる前記制御ルールの競合およびループに関して、対策済みか否かの入力を受け付ける入出力部をさらに備え、
前記入出力部は、
前記不具合警告情報に対策が未済の競合およびループがある場合、前記製品仕様情報ならびに前記ルール情報および前記ルール連鎖情報に対する入力操作を受け付ける
ことを特徴とする製品構成情報管理装置。
【請求項６】
請求項５に記載の製品構成情報管理装置であって、
前記ルール連鎖情報生成部は、
前記入力操作後に前記ルール連鎖情報を生成し直し、
前記結果出力部は、
生成し直した前記ルール連鎖情報に基づいて決定された前記制御ルールの実行順序を含むルール順序情報を生成する
ことを特徴とする製品構成情報管理装置。
【請求項７】
請求項６に記載の製品構成情報管理装置と、製品構成の作成を行う製品構成作成見積支援装置とを有する製品構成情報管理システムであって、
前記製品構成作成見積支援装置は、
前記製品構成情報管理装置から前記製品仕様情報と、前記ルール情報と、前記ルール順序情報とを取得し、
前記製品仕様情報に含まれる前記仕様項目のカテゴリごとに、仕様項目名および選択肢を所定の表示装置に出力表示する
ことを特徴とする製品構成情報管理システム。
【請求項８】
製品構成情報管理装置で実行される製品構成情報管理方法であって、
前記製品構成情報管理装置は、
仕様項目をカテゴリごとに対応付けた製品仕様情報、および、該仕様項目と制御ルールとの関係を定義したルール情報を記憶するステップと、
前記製品仕様情報および前記ルール情報を用いて、前記制御ルールの実行順序ならびに関連する仕様項目および関連する制御ルールを対応付けたルール連鎖情報を生成するステップと、
前記ルール連鎖情報を用いて、前記制御ルールの競合およびループを検出するステップと、を実行する
ことを特徴とする製品構成情報管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品構成情報管理装置、製品構成情報管理システムおよび製品構成情報管理方法に関する。
【背景技術】
【０００２】
特許文献１には、「システムの可能な全状態を設備属性データおよび作業属性データから組合せ的に求め、その中で設備群制約データを満足する状態を求め、これをシステム状態データとするシステム状態生成手段と、該システム状態データ中の各々に対し制御ルールデータを適用して制御指令を決定するルール運用手段と、各システム状態、それに対する制御指令および動作モデルデータにもとづき、システムの状態がどのように遷移するかを求め、状態の集合を遷移状態データに格納する動作モデル運用手段と、上記遷移状態データ中の状態が制御仕様データ中の全ての制御仕様を満足しているか否かを判定し、１つでも該仕様を満足しない状態があれば、これを仕様違反データに格納する制御制約判定手段とを有し、上記各手段を用いて上記制御ルールデータの矛盾を検出するルール検証方式」が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６２−４９４６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の技術では、制御ルールをｉｆ〜ｔｈｅｎ形式で表現し、ｔｈｅｎ部の状態変数を別のルールのｉｆ部の状態変数として条件判定に用いることを利用して連続したルールの連鎖を生成し、ルールの実行順序を決定する。しかしながら、制御ルールの実行順序には、「競合」や「ループ」の発生という問題が生じ得る。特許文献１の技術では、このような競合やループが生じた場合のルールの実行順序については考慮されていない。
【０００５】
そこで、本発明は、制御ルールに競合やループが存在する場合でも、制御ルールのより適切な実行順序を作成できる製品構成情報管理装置の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る製品構成情報管理装置は、仕様項目をカテゴリごとに対応付けた製品仕様情報、および、該仕様項目と制御ルールとの関係を示したルール情報を記憶した記憶部と、前記製品仕様情報および前記ルール情報を用いて、前記制御ルールの実行順序ならびに関連する前記仕様項目および関連する前記制御ルールを対応付けたルール連鎖情報を生成するルール連鎖情報生成部と、前記ルール連鎖情報を用いて、前記制御ルールの競合およびループを検出するルール整合性検査部と、を備える。
【発明の効果】
【０００７】
本発明に係る製品構成情報管理装置によれば、制御ルールに競合やループが存在する場合でも、より適切な制御ルールの実行順序を作成することができる。
【０００８】
なお、上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第一実施形態に係る製品構成情報管理装置の機能構成の一例を示した機能ブロック図である。
【図２】本発明の第一実施形態に係る製品仕様情報の一例を示した図である。
【図３】本発明の第一実施形態に係るルール情報の一例を示した図である。
【図４】本発明の第一実施形態に係るルール順序情報の一例を示した図である。
【図５】本発明の第一実施形態に係る製品構成情報管理装置のハードウェア構成の一例を示した図である。
【図６】本発明の第一実施形態に係るルール順序情報生成処理の一例を示したフロー図である。
【図７】本発明の第一実施形態に係る起点の仕様項目に対するルールの連鎖関係の例を示した図である。
【図８】本発明の第一実施形態に係るルール連鎖情報の一例を示した図である。
【図９】本発明の第一実施形態に係る不具合警告情報の一例を示した図である。
【図１０】本発明の第二実施形態に係る製品構成作成見積支援システムの一例を示した図である。
【図１１】本発明の第二実施形態に係る製品構成作成見積支援装置の表示画面の一例を示した図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態に係る製品構成情報管理装置について説明する。
【００１１】
＜第１実施形態＞
本実施形態に係る製品構成情報管理装置は、オプションや機能の組合せが多数存在する製品で、要求される製品仕様の選択内容をif〜then形式で示されるルールで制御し、製造不可な仕様組合せを防止することにより、所望の仕様組合せの製品を構成するために使用されるコンフィギュレータ装置である。
【００１２】
図１は、本実施形態に係る製品構成情報管理装置１００の機能構成の一例を示した機能ブロック図である。製品構成情報管理装置１００は、演算部１１０と、記憶部１２０と、入出力部１３０と、通信部１４０とを有している。なお、通信部１４０は、通信ネットワークＮを介して、外部装置（例えば、後述の第二実施形態に係る製品構成作成見積支援装置など）と通信可能に接続されていても良い。
【００１３】
演算部１１０は、製品情報入力部１１１と、ルール情報入力部１１２と、ルール連鎖情報生成部１１３と、ルール整合性検査部１１４と、結果出力部１１５とを有している。製品情報入力部１１１は、後述の製品仕様情報の入力を受け付ける機能部である。具体的には、製品情報入力部１１１は、後述のルール順序情報生成処理において、記憶部１２０に格納されている製品仕様情報の入力を受け付ける。なお、ルール順序情報生成処理の詳細は後述する。
【００１４】
ルール情報入力部１１２は、後述のルール情報の入力を受け付ける機能部である。具体的には、ルール情報入力部１１２は、ルール順序情報生成処理において、記憶部１２０に格納されているルール情報の入力を受け付ける。
【００１５】
ルール連鎖情報生成部１１３は、後述のルール連鎖情報を生成する機能部である。具体的には、ルール連鎖情報生成部１１３は、製品仕様情報およびルール情報を用いて、ルール連鎖情報を生成する。なお、ルール連鎖情報の生成については後述する。
【００１６】
ルール整合性検査部１１４は、ルール連鎖情報の整合性を検査する機能部である。具体的には、ルール整合性検査部１１４は、ルール連鎖情報を用いて、制御ルールに競合およびループが存在するか否かを検査する。
【００１７】
結果出力部１１５は、ルール順序情報生成処理の結果を示す情報を出力する機能部である。具体的には、結果出力部１１５は、ルール順序情報生成処理で生成されたルール連鎖情報を表示装置に出力表示させる。また、結果出力部１１５は、ルール整合性検査部１１４により制御ルールの競合およびループが検出された場合、後述の不具合警告情報を生成し、これを表示装置に出力表示する。また、結果出力部１１５は、ルール連鎖情報を用いてルール順序情報を生成する。
【００１８】
記憶部１２０は、製品仕様情報２００と、ルール情報３００と、ルール順序情報４００と、ルール連鎖情報５００と、不具合警告情報６００とを有している。
【００１９】
図２は、製品仕様情報２００の一例を示した図である。製品仕様情報２００は、状態変数である製品の仕様項目に関する情報である。具体的には、製品仕様情報２００は、仕様項目カテゴリ２０１と、仕様項目Ｎｏ２０２と、仕様項目名２０３と、選択肢２０４とが対応付けられたレコードを有している。
【００２０】
仕様項目カテゴリ２０１は、仕様項目名をカテゴリで纏めた情報である。例えば、レコード２０５に示すように、仕様項目カテゴリ２０１のカテゴリ１には仕様項目名「Ａ」および「Ｂ」が関連付けられている。仕様項目Ｎｏ２０２は、仕様項目を一意に識別する情報である。仕様項目名２０３は、仕様項目の名称を特定する情報である。なお、仕様項目名２０３は、仕様項目Ｎｏ２０２と一対一の関係で対応付けられている。選択肢２０４は、仕様項目名２０３に対応付けられた選択肢を特定する情報である。
【００２１】
図３は、ルール情報３００の一例を示した図である。ルール情報３００は、仕様項目と制御ルールとの関係を示す情報である。具体的には、ルール情報３００は、ルールＩＤ３０１と、条件仕様項目名３０２と、比較条件３０３と、条件値３０４と、実行仕様項目名３１１と、実行処理値３１２とが対応付けられたレコードを有している。なお、ここでいうルールは、通常のif〜then形式で示されるルールであって、特別な形式のルールではない。
【００２２】
ルール情報３００は、条件仕様項目名３０２、比較条件３０３および条件値３０４の組を複数（ｎ個）有しており、ｎの値はコンフィギュレーションの規模に応じて決定される。ただし、製品構成情報管理装置１００の構築上は、適切なデータベースのスキーマ設計により、ｎが固定値であることは必須ではない。同様に、ルール情報３００は、実行仕様項目名３１１および実行処理値３１２の組も複数（ｍ個）有しているが、組数ｍについても固定値であることは必須ではない。
【００２３】
また、同一行のレコードにある条件の組は、ＡＮＤ条件であることを示している。これに対して、ルールＩＤを同一とした行が複数ある場合、各行のレコードに含まれる条件の組がＯＲ条件で定義されていることを意味する。また、同一行にある実行の組は、対応付けられた条件が成立したときに同時に実行される処理を示している。
【００２４】
ルールＩＤ３０１は、制御ルールを一意に識別する情報である。条件仕様項目名３０２は、制御ルールにおける条件仕様項目の名称を特定する情報であって、製品仕様情報２００の仕様項目名２０３と共通の情報である。比較条件３０３は、条件仕様項目名３０２と条件値３０４との比較条件を示す情報であって、例えば、不等号などである。条件値３０４は、制御ルールにおける条件値を特定する情報であって、製品仕様情報２００の選択肢２０４と共通の情報である。
【００２５】
実行仕様項目名３１１は、制御ルールにおける実行仕様項目名を特定する情報であって、製品仕様情報２００の仕様項目名２０３と共通の情報である。実行処理値３１２は、制御ルールにおける実行処理値を特定する情報であって、製品仕様情報２００の選択肢２０４と共通の情報である。
【００２６】
なお、条件仕様項目名３０２、比較条件３０３および条件値３０４は、if部の１つの条件を示している。また、実行仕様項目名３１１および実行処理値３１２は、then部の定義を示している。
【００２７】
このようなルール情報３００は、各行のレコードが１つの制御ルールを示している。具体的には、レコード３２１の行は、ルールＩＤが「Ｘ１」のルールの定義を示している。このルール「Ｘ１」の定義は、ルールの条件すなわちif部に使用する条件仕様項目名（１）３０２が「Ａ」であり、その時の比較条件（１）３０３が「＝」であり、比較する条件値（１）３０４が「ａ1」であることを示している。また、かかる行は、この条件が成立した場合、実行仕様項目名（１）３１１が「Ｂ」である仕様項目名に対して、実行処理値（１）３１２に定義された「ｂ１」を設定し、同時に、実行仕様項目名（２）３１３が「Ｃ」である仕様項目名に対して、実行処理値（２）３１４に定義された「ｃ1」を設定するというルールを示している。
【００２８】
図４は、ルール順序情報４００の一例を示した図である。ルール順序情報４００は、制御ルールの実行順序を含む情報である。具体的には、ルール順序情報４００は、仕様項目名４０１と、実行順序４０２と、ルールＩＤ４０３とが対応付けられたレコードを有している。
【００２９】
仕様項目名４０１は、仕様項目の名称を特定する情報であって、製品仕様情報２００の仕様項目名２０３と共通の情報である。実行順序４０２は、制御ルールの実行順序を特定する情報である。ルールＩＤ４０３は、制御ルールを一意に識別する情報であって、ルール情報３００のルールＩＤ３０１と共通の情報である。このようなルール順序情報４００は、ルール順序情報生成処理の実行により生成される。
【００３０】
このように、記憶部１２０には、相互に関連付けられた情報が格納されており、通常はデータベースとして構成するが、各々の情報がファイルであっても良く、各情報の一部或いは全部がファイルとデータベースの併用であっても良い。
【００３１】
また、各情報がデータベースとして構成されている場合、図２、図３および図４に示すデータベース構造に限定されるものではなく、これらの図に示す構造は、説明の都合上、データ全体が見渡せる１つの表として表現した例である。そのため、データベースを使用する際には、適切なスキーマを設計して管理することが通常である。
【００３２】
図１に戻って説明する。入出力部１３０は、製品構成情報管理装置１００と接続されるキーボード、マウスおよびポインティングデバイスといった入力装置を介してユーザの指示入力を受け付ける機能部である。また、入出力部１３０は、製品構成情報管理装置１００が備える表示装置に所定の画面情報を出力表示する。
【００３３】
通信部１４０は、外部装置（例えば、後述の製品構成作成見積支援装置など）との間で情報の送受信を行う機能部である。
【００３４】
以上、製品構成情報管理装置１００の機能ブロックについて説明した。
【００３５】
次に、製品構成情報管理装置１００のハードウェア構成について説明する。図５は、製品構成情報管理装置１００のハードウェア構成の一例を示した図である。製品構成情報管理装置１００は、例えば、パーソナルコンピュータ若しくはサーバ装置またはタブレット端末といった情報処理装置により実現される。
【００３６】
図示するように、製品構成情報管理装置１００は、演算処理装置１０１と、外部記憶装置１０２と、通信装置１０３と、入力装置１０４と、表示装置１０５と、これらを電気的に相互接続するバス１０６とを有している。
【００３７】
演算処理装置１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０７などのマイクロプロセッサと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０８およびＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０９といったメモリ装置である主記憶装置とを備える。
【００３８】
外部記憶装置１０２は、デジタル情報を記憶可能なハードディスク（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）あるいはフラッシュメモリなどの不揮発性記憶装置である。
【００３９】
通信装置１０３は、外部装置との間で有線または無線通信を行う通信モジュールである。
【００４０】
入力装置１０４は、キーボード、マウス、タッチパネルなどのポインティングデバイスである。
【００４１】
表示装置１０５は、液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）などの表示デバイスである。
【００４２】
なお、演算部１１０が有する製品情報入力部１１１と、ルール情報入力部１１２と、ルール連鎖情報生成部１１３と、ルール整合性検査部１１４と、結果出力部１１５とは、ＣＰＵ１０７に処理を行わせるプログラムによって実現される。このプログラムは、主記憶装置や外部記憶装置１０２内に記憶され、プログラムの実行にあたって主記憶装置上にロードされ、ＣＰＵ１０７により実行される。また、図１に示す記憶部１２０は、主記憶装置および外部記憶装置１０２により実現される。通信部１４０は、通信装置１０３によって実現される。入出力部１３０は、入力装置１０４および表示装置１０５によって実現される。
【００４３】
製品構成情報管理装置１００の機能ブロックは、本実施形態において実現される機能を理解容易にするために、主な処理内容に応じて分類したものであり、各機能の分類の仕方やその名称によって、本発明が制限されることはない。また、製品構成情報管理装置１００の各構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、一つの構成要素がさらに多くの処理を実行するように分類することもできる。
【００４４】
［動作の説明］
次に、ルール順序情報生成処理について説明する。図６は、ルール順序情報生成処理の一例を示したフロー図である。かかる処理は、入出力部１３０が処理の開始指示を受け付けると実行される。
【００４５】
処理が開始されると、製品情報入力部１１１は、記憶部１２０に格納されている製品仕様情報２００の入力を受け付ける（ステップＳ００１）。
【００４６】
次に、ルール情報入力部１１２は、記憶部１２０に格納されているルール情報３００の入力を受け付ける（ステップＳ００２）。
【００４７】
次に、ルール連鎖情報生成部１１３は、仕様項目に対するルールの関連付けを行い、ルール連鎖情報５００を生成する（ステップＳ００３）。具体的には、ルール連鎖情報生成部１１３は、ルール情報３００を用いて、仕様項目にルールの関連付けを行う。
【００４８】
図７は、起点の仕様項目（本例では、仕様項目Ａ）に対するルールの連鎖関係の例を示した図である。ここで、仕様項目に対するルールの関連付けについて詳細に説明する。
【００４９】
ルール連鎖情報生成部１１３は、所定の条件に基づいてルール情報３００から仕様項目を特定する。例えば、ルール連鎖情報生成部１１３は、より小さい仕様項目Ｎｏが対応付けられている仕様項目を製品仕様情報２００から特定し、かかる仕様項目から順にルールの関連付けを行う。なお、仕様項目の特定は、このような方法に限定されるものではない。
【００５０】
ルール連鎖情報生成部１１３は、図２に示す製品仕様情報２００から仕様項目Ｎｏ１が対応付けられている仕様項目名「Ａ」を特定する。また、ルール連鎖情報生成部１１３は、ルール情報３００の条件仕様項目名（１）３０２に仕様項目名「Ａ」が対応付けられたレコード３２１、レコード３２２およびレコード３２３を特定する。
【００５１】
次に、ルール連鎖情報生成部１１３は、特定したレコードのルールＩＤに含まれる「Ｘ１」、「Ｘ２」および「Ｘ３」を仕様項目名「Ａ」に対して関連付ける。図７に示す矢印４５１、矢印４５２および矢印４５３は各々、仕様項目名「Ａ」とルール「Ｘ１」、「Ｘ２」および「Ｘ３」との関連付けを示している。
【００５２】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ａ」に関連付けた各ルールに対して、実行仕様項目名を設定する。具体的には、ルール連鎖情報生成部１１３は、ルール「Ｘ１」、「Ｘ２」および「Ｘ３」に対して、対応するルールＩＤを含むレコードの実行仕様項目名を関連付ける。すなわち、ルール「Ｘ１」には実行仕様項目名（１）３１１の実行仕様項目名「Ｂ」と実行仕様項目名（２）３１３の実行仕様項目名「Ｃ」が関連付けられ、ルール「Ｘ２」には実行仕様項目名（１）３１１の「Ｄ」が関連付けられ、ルール「Ｘ３」には実行仕様項目名（１）３１１の「Ｅ」が各々関連付けられる。図７に示す矢印４５４〜矢印４５７は、各々、ルール「Ｘ１」、「Ｘ２」および「Ｘ３」と仕様項目名「Ｂ」、「Ｃ」、「Ｄ」および「Ｅ」との関連付けを示している。
【００５３】
このようにして、ルール連鎖情報生成部１１３は、仕様項目名「Ａ」に対するルールの関連付けを行う。
【００５４】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ａ」の次により小さい仕様項目Ｎｏ２０２が対応付けられている仕様項目を製品仕様情報２００から特定し、かかる仕様項目にルールの関連付けを行う。具体的には、ルール連鎖情報生成部１１３は、図２に示す製品仕様情報２００から仕様項目Ｎｏ２が対応付けられている仕様項目名「Ｂ」を特定し、ルール情報３００の条件仕様項目名（１）３０２に仕様項目名「Ｂ」が対応付けられたレコード３２４を特定する。
【００５５】
次に、ルール連鎖情報生成部１１３は、特定したレコード３２４のルールＩＤ３０１に含まれる「Ｙ１」を仕様項目名「Ｂ」に対して関連付ける。図７に示す矢印４５８は、仕様項目名「Ｂ」とルール「Ｙ１」との関連付けを示している。
【００５６】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ｂ」に関連付けたルールに対して、実行仕様項目名を設定する。具体的には、ルール連鎖情報生成部１１３は、ルール「Ｙ１」に対して、対応するルールＩＤを含むレコードの実行仕様項目名を関連付ける。すなわち、ルール「Ｙ１」には実行仕様項目名（１）３１１の実行仕様項目名「Ｃ」が関連付けられる。図７に示す矢印４５９は、ルール「Ｙ１」と仕様項目名「Ｃ」との関連付けを示している。
【００５７】
このようにして、ルール連鎖情報生成部１１３は、仕様項目名「Ｂ」に対するルールの関連付けを行う。
【００５８】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ｂ」の次により小さい仕様項目Ｎｏ２０２が対応付けられている仕様項目名を製品仕様情報２００から特定し、かかる仕様項目名にルールの関連付けを行う。具体的には、ルール連鎖情報生成部１１３は、図２に示す製品仕様情報２００から仕様項目Ｎｏ３が対応付けられている仕様項目名「Ｃ」を特定し、ルール情報３００の条件仕様項目名（１）３０２に仕様項目名「Ｃ」が対応付けられたレコード３２５を特定する。
【００５９】
次に、ルール連鎖情報生成部１１３は、特定したレコード３２５のルールＩＤ３０１に含まれる「Ｙ２」を仕様項目名「Ｃ」に対して関連付ける。図７に示す矢印４６０は、仕様項目名「Ｃ」とルール「Ｙ２」との関連付けを示している。
【００６０】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ｃ」に関連付けたルールに対して、実行仕様項目名を設定する。具体的には、ルール連鎖情報生成部１１３は、ルール「Ｙ２」に対して、対応するルールＩＤを含むレコードの実行仕様項目名を関連付ける。すなわち、ルール「Ｙ２」には実行仕様項目名（１）３１１の実行仕様項目名「Ｂ」が関連付けられる。図７に示す矢印４６１は、ルール「Ｙ２」と仕様項目名「Ｂ」との関連付けを示している。
【００６１】
このようにして、ルール連鎖情報生成部１１３は、仕様項目名「Ｃ」に対するルールの関連付けを行う。
【００６２】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ｃ」の次により小さい仕様項目Ｎｏ２０２が対応付けられている仕様項目名を製品仕様情報２００から特定し、かかる仕様項目名にルールの関連付けを行う。具体的には、ルール連鎖情報生成部１１３は、図２に示す製品仕様情報２００から仕様項目Ｎｏ４が対応付けられている仕様項目名「Ｄ」を特定し、ルール情報３００の条件仕様項目名（１）３０２に仕様項目名「Ｄ」が対応付けられたレコード３２６を特定する。
【００６３】
次に、ルール連鎖情報生成部１１３は、特定したレコード３２６のルールＩＤ３０１に含まれる「Ｚ１」を仕様項目名「Ｄ」に対して関連付ける。図７に示す矢印４６２は、仕様項目名「Ｄ」とルール「Ｚ１」との関連付けを示している。
【００６４】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ｄ」に関連付けたルールに対して、実行仕様項目名を設定する。具体的には、ルール連鎖情報生成部１１３は、ルール「Ｚ１」に対して、対応するルールＩＤを含むレコードの実行仕様項目名を関連付ける。すなわち、ルール「Ｚ１」には実行仕様項目名（１）３１１の実行仕様項目名「Ｆ」が関連付けられる。図７に示す矢印４６３は、ルール「Ｚ１」と仕様項目名「Ｆ」との関連付けを示している。
【００６５】
このようにして、ルール連鎖情報生成部１１３は、仕様項目名「Ｄ」に対するルールの関連付けを行う。
【００６６】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ｄ」の次により小さい仕様項目Ｎｏ２０２が対応付けられている仕様項目名を製品仕様情報２００から特定し、かかる仕様項目名にルールの関連付けを行う。具体的には、ルール連鎖情報生成部１１３は、図２に示す製品仕様情報２００から仕様項目Ｎｏ５が対応付けられている仕様項目名「Ｅ」を特定し、ルール情報３００の条件仕様項目名（１）３０２に仕様項目名「Ｅ」が対応付けられたレコードの特定を試行する。
【００６７】
ここで、仕様項目名「Ｅ」は、既にルール「Ｘ３」に関連付けられており、さらに関連付けるルールが存在しないため、ルール連鎖情報生成部１１３は、仕様項目「Ｅ」の次により小さい仕様項目Ｎｏ２０２が対応付けられている仕様項目名を製品仕様情報２００から特定し、かかる仕様項目名にルールの関連付けを行う。具体的には、ルール連鎖情報生成部１１３は、図２に示す製品仕様情報２００から仕様項目Ｎｏ６が対応付けられている仕様項目名「Ｆ」を特定し、ルール情報３００の条件仕様項目名（１）３０２に仕様項目名「Ｆ」が対応付けられたレコード３２７を特定する。
【００６８】
次に、ルール連鎖情報生成部１１３は、特定したレコード３２７のルールＩＤに含まれる「Ｖ１」を仕様項目名「Ｆ」に対して関連付ける。図７に示す矢印４６４は、仕様項目名「Ｅ」とルール「Ｖ１」との関連付けを示している。
【００６９】
次に、ルール連鎖情報生成部１１３は、仕様項目名「Ｆ」に関連付けたルールに対して、実行仕様項目名を設定する。具体的には、ルール連鎖情報生成部１１３は、ルール「Ｖ１」に対して、対応するルールＩＤを含むレコードの実行仕様項目名を関連付ける。すなわち、ルール「Ｖ１」には実行仕様項目名（１）３１１の実行仕様項目名「Ｇ」が関連付けられる。図７に示す矢印４６５は、ルール「Ｖ１」と仕様項目名「Ｇ」との関連付けを示している。
【００７０】
このようにして、ルール連鎖情報生成部１１３は、仕様項目名「Ｆ」に対するルールの関連付けを行う。また、ルール連鎖情報生成部１１３は、このような処理を繰り返し行うことにより、ルール情報３００に含まれている全ての条件仕様項目名に対してルールと実行仕様項目とを関連付ける処理を行う。
【００７１】
次に、ルール連鎖情報生成部１１３は、図７に示す仕様項目とルールとの連鎖関係に基づいて、ルール連鎖情報５００を生成する。具体的には、ルール連鎖情報生成部１１３は、図７に示す連鎖関係に基づいて、起点となる仕様項目名と、かかる仕様項目名に直接関連付けられたルールとを特定する。本例では、仕様項目名「Ａ」と、ルール「Ｘ１」、「Ｘ２」および「Ｘ３」が特定される。
【００７２】
次に、ルール連鎖情報生成部１１３は、特定したルールの実行順序を決定する。具体的には、ルール連鎖情報生成部１１３は、より小さい仕様項目Ｎｏの仕様項目が関連付けられているルールをより早い実行順序として決定する。本例では、ルール「Ｘ１」に仕様項目「Ｂ」および「Ｃ」が関連付けられ、ルール「Ｘ２」に仕様項目「Ｄ」が関連付けられ、ルール「Ｘ３」に仕様項目「Ｅ」が関連付けられている。また、これらは、仕様項目「Ｂ」、「Ｃ」、「Ｄ」および「Ｅ」の順に小さい仕様項目Ｎｏが関連付けられているため、ルール「Ｘ１」、「Ｘ２」および「Ｘ３」の順に早い実行順序が決定される。
【００７３】
次に、ルール連鎖情報生成部１１３は、起点となる仕様項目に関連付けられたルール以外のルール「Ｙ１」、「Ｙ２」、「Ｚ１」および「Ｖ１」の実行順序について決定する。具体的には、ルール連鎖情報生成部１１３は、「Ｙ１」および「Ｙ２」を「Ｘ１」の連鎖ルールとして取り扱う。すなわち、ルール連鎖情報生成部１１３は、「Ｘ１」の次の実行順序として「Ｙ１」および「Ｙ２」を決定する。また、ルール連鎖情報生成部１１３は、「Ｙ１」および「Ｙ２」に各々関連付けられている仕様項目Ｎｏがより小さい方を早い実行順序として決定する。ここで、「Ｙ１」および「Ｙ２」には各々、仕様項目「Ｃ」および「Ｂ」が関連付けられており、仕様項目「Ｂ」および「Ｃ」の順に小さい仕様項目Ｎｏが関連付けられているため、ルール「Ｙ２」および「Ｙ１」の順に早い実行順序が決定される。
【００７４】
次に、ルール連鎖情報生成部１１３は、ルール「Ｘ１」ならびに「Ｘ１」の連鎖ルール「Ｙ１」および「Ｙ２」の次に早い実行順序として決定されている「Ｘ２」の連鎖ルールの実行順序を決定する。具体的には、ルール連鎖情報生成部１１３は、「Ｚ１」および「Ｖ１」を「Ｘ２」の連鎖ルールとして取り扱い、「Ｘ２」の次の実行順序として決定する。また、ルール連鎖情報生成部１１３は、「Ｚ１」および「Ｖ１」に各々関連付けられている仕様項目Ｎｏがより小さい方を早い実行順序として決定する。ここで、「Ｚ１」および「Ｖ１」には各々、仕様項目「Ｆ」および「Ｇ」が関連付けられており、仕様項目「Ｆ」および「Ｇ」の順に小さい仕様項目Ｎｏが関連付けられているため、ルール「Ｚ１」および「Ｖ１」の順に早い実行順序が決定される。
【００７５】
また、ルール連鎖情報生成部１１３は、実行順序を決定した各ルールに関連する仕様項目と、仕様項目に関連するルールとを特定する。例えば、ルール連鎖情報生成部１１３は、実行順序が早いルール順に、関連する仕様項目および関連する制御ルールを特定する。
【００７６】
具体的には、ルール連鎖情報生成部１１３は、図７に示すルールの連鎖関係に基づき、ルール「Ｘ１」に関連する仕様項目「Ｂ」および「Ｃ」を特定する。また、ルール連鎖情報生成部１１３は、特定したルール「Ｂ」に関連するルール「Ｙ１」と、ルール「Ｃ」に関連するルール「Ｙ２」とを特定する。
【００７７】
同様に、ルール連鎖情報生成部１１３は、ルール「Ｙ２」に関連する仕様項目「Ｂ」と、仕様項目「Ｂ」に関連するルール「Ｙ１」とを特定する。また、ルール連鎖情報生成部１１３は、ルール「Ｙ１」に関連する仕様項目「Ｃ」と、仕様項目「Ｃ」に関連するルール「Ｙ２」とを特定する。
【００７８】
また、ルール連鎖情報生成部１１３は、ルール「Ｘ２」に関連する仕様項目「Ｄ」と、仕様項目「Ｄ」に関連するルール「Ｚ１」とを特定する。また、ルール連鎖情報生成部１１３は、ルール「Ｚ１」に関連する仕様項目「Ｆ」と、仕様項目「Ｆ」に関連するルール「Ｖ１」とを特定する。また、ルール連鎖情報生成部１１３は、ルール「Ｖ１」に関連する仕様項目「Ｇ」と、ルール「Ｘ３」に関連する仕様項目「Ｅ」とを特定する。
【００７９】
このようにして、ルール連鎖情報生成部１１３は、図７に示す連鎖関係に基づいてルールの実行順序を決定し、図８のルール連鎖情報５００を生成する。図８は、ルール連鎖情報５００の一例を示した図である。ルール連鎖情報５００は、仕様項目に対するルールの実行順序を含む情報である。具体的には、ルール連鎖情報５００は、仕様項目名５０１と、実行順序５０２と、ルールＩＤ５０３と、関連する仕様項目名５０４と、関連するルールＩＤ５０５とが対応付けられたレコードを有している。
【００８０】
仕様項目名５０１は、仕様項目の名称を特定する情報であって、製品仕様情報２００の仕様項目名２０３と共通の情報である。実行順序５０２は、制御ルールの実行の順序を特定する情報である。ルールＩＤ５０３は、制御ルールを一意に識別する情報であって、ルール情報３００のルールＩＤ３０１と共通の情報である。関連する仕様項目名５０４は、ルール「Ｘ１」に関連する仕様項目名すなわちルール「Ｘ１」の起動により設定される仕様項目名を特定する情報である。関連するルールＩＤ５０５は、関連する仕様項目に関連する制御ルールを識別する情報である。
【００８１】
図６に戻って説明する。ステップＳ００３の処理を行うと、ルール連鎖情報生成部１１３は、ルールの整合性を検査する（ステップＳ００４）。具体的には、ルール連鎖情報生成部１１３は、ルール連鎖情報５００を用いて、制御ルールに競合またはループが存在しているか否かを検査する。
【００８２】
なお、競合とは、複数のルールの連鎖が同一の仕様項目に対して値を設定する現象である。例えば、図７の例では、仕様項目「Ｂ」および仕様項目「Ｃ」に競合が存在している。具体的には、仕様項目Ｂについては、ルール「Ｘ１」と「Ｙ２」が値を設定する競合が存在し、仕様項目Ｃについては、ルール「Ｘ１」と「Ｙ１」が値を設定する競合が存在している。これは、ルールの実行順序によって仕様項目の値が異なる場合が生じることを示しており、最後に実行されたルールの値の設定結果が有効であり、途中の設定結果は上書きされて残らないことになる。ルール整合性検査部１１４によって競合が検出された場合、結果出力部１１５は、係る検出内容を含む不具合警告情報６００を生成し、記憶部１２０に格納する。
【００８３】
また、ループとは、ある仕様項目に対してルールが値の設定を行った場合、これに連鎖する複数のルールが他の仕様項目に作用し、これらを経由して当初の仕様項目に再び値が設定される現象である。例えば、図７の例では、仕様項目「Ｂ」と仕様項目「Ｃ」とルール「Ｙ１」とルール「Ｙ２」との関係がループとなっている。ループの実行結果には、当初の仕様項目に繰り返し同じ値が設定されて変化がない現象と、実行の度に当初の仕様項目に設定する値が異なるといった現象とがある。ルール整合性検査部１１４は、制御ルールに競合およびループを検出した場合、かかる検出内容を含む不具合警告情報６００を生成し、記憶部１２０に格納する。
【００８４】
図９は、不具合警告情報６００の一例を示した図である。不具合警告情報６００は、競合やループの検出内容を含む情報である。具体的には、不具合警告情報６００は、Ｎｏ６０１と、チェック欄６０２と、ルールＩＤ６０３と、説明６０４と、関連する仕様項目６０５と、関連するルールＩＤ６０６とが対応付けられたレコードを有している。
【００８５】
Ｎｏ６０１は、検出された競合やループを識別する情報である。チェック欄６０２は、検出された競合やループについて対策済みか否かを示す情報であって、「済み」または「未済」のいずれかの情報が入力される。なお、ユーザによって「済み」が入力される前は、全てのレコードのチェック欄６０２は「未済」となっている。ルールＩＤ６０３は、競合やループが生じているルールのうち、一方のルールを識別する情報である。説明６０４は、検出された競合およびループの内容を示す情報である。関連する仕様項目６０５は、検出された競合およびループに関連する仕様項目を示す情報である。関連するルールＩＤ６０６は、競合およびループが生じているルールのうち、ルールＩＤ６０３で特定されるルール以外の他方のルールを識別する情報である。
【００８６】
図９に示す不具合警告情報６００を生成すると、結果出力部１１５は、ルール連鎖情報５００および不具合警告情報６００を表示装置５０８に出力表示する。また、入出力部１３０は、不具合警告情報６００に対するユーザの入力を受け付ける。（ステップＳ００５）。
【００８７】
具体的には、入出力部１３０は、入力装置５０７を介して、不具合警告情報６００への入力をユーザから受け付ける。例えば、表示された不具合警告情報６００の競合について確認したユーザが、競合を解消する対策について不要と判断すれば、入力装置５０７を介して、これらのチェック欄６０２に「済み」を入力し、図示しない表示画面上の更新ボタンを押下する。結果出力部１１５は、入出力部１３０を介してユーザの入力情報を取得すると、不具合警告情報６００を更新し、かかるチェック欄６０２に「済み」を入力する。
【００８８】
また、例えば、不具合警告情報６００に含まれる競合およびループに対して、何らかの対策が必要とユーザが判断した場合、その時点では対策前であるため、ユーザは、不具合警告情報６００のチェック欄６０２に「未済」が入力された状態で表示画面上の更新ボタンを押下する。また、結果出力部１１５は、入出力部１３０を介してユーザの入力情報を取得すると、不具合警告情報６００を更新する。
【００８９】
次に、結果出力部１１５は、検査結果が終了条件を満たしているか否かを判定する（ステップＳ００６）。具体的には、結果出力部１１５は、更新された不具合警告情報６００のチェック欄６０２に「未済」が入力されているか否かを判定する。「未済」が入力されている場合（ステップＳ００６でＮｏ）、入出力部１３０は、製品仕様情報２００、ルール情報３００およびルール連鎖情報５００に対して対策に関するユーザの入力を受け付ける（ステップＳ００７）。例えば、不具合警告情報６００のレコード６０７に示されるループは、ルールＹ１を削除すれば解消される。この場合、入出力部１３０は、ユーザからルール連鎖情報５００のレコード５０６を削除する指示入力を受け付ける。また、ルール連鎖情報生成部１１３は、入出力部１３０を介してユーザの指示入力を受け付けると、ルール連鎖情報５００からレコード５０６を削除し、処理をステップＳ００４に移行する。
【００９０】
一方で、不具合警告情報６００の全てのチェック欄６０２に「済み」が入力されている場合（ステップＳ００６でＹｅｓ）、結果出力部１１５は、ルール連鎖情報５００に基づいてルール順序情報４００（図４参照）を生成し（ステップＳ００８）、本フローの処理を終了する。
【００９１】
以上のような製品構成情報管理装置１００によれば、ルールに競合やループが存在する場合でも、より適切なルールの実行順序を作成することができる。特に、製品構成情報管理装置１００は、ルールの連鎖関係と、検出した競合やループをユーザに提示することができる。また、製品構成情報管理装置１００は、製品仕様情報２００やルール情報３００などの所定情報に対し、競合やループを解消するための対策の入力を受け付けることができる。そのため、たとえ制御ルールに競合やループが存在する場合でも、ルールの適切な実行順序を作成できる。その結果、製品構成情報管理装置１００は、より適切な製品構成を提供することができる。
【００９２】
＜第二実施形態＞
次に、本発明の第二実施形態について説明する。図１０は、本実施形態に係る製品構成情報管理システム１０００の一例を示した図である。製品構成情報管理システム１０００は、第一実施形態に係る製品構成情報管理装置１００と、所定の通信ネットワークＮを介して通信可能に接続される製品構成作成見積支援装置７００とを有している。
【００９３】
製品構成作成見積支援装置７００は、受注に係る製品構成の作成およびその見積作成を支援する装置である。図示するように、製品構成作成見積支援装置７００は、構成情報データベース７０１を有し、製品構成情報７０２と、受注情報７０３とを格納する。なお、製品構成情報７０２および受注情報７０３は、いわゆるトランザクションデータであり、実際の受注案件に対応した製品の構成情報と合わせて管理される。
【００９４】
また、製品構成作成見積支援装置７００は、通信ネットワークＮを介して、製品構成情報管理装置１００から製品仕様情報２００、ルール情報３００およびルール順序情報４００を取得し、これらを用いて製品の構成などを作成する。
【００９５】
図１１は、製品構成作成見積支援装置７００の表示画面７１０の一例を示した図である。製品構成作成見積支援装置７００は、通信ネットワークＮを介して、製品構成情報管理装置１００から製品仕様情報２００を取得し、仕様項目カテゴリ２０１ごとに仕様項目名２０３と選択肢２０４とを表示する。
【００９６】
なお、表示画面の「ＯＳ」、「保守期間」および「メモリ」が製品仕様情報２００における仕様項目名２０３に相当する。また、表示画面の「ＯＳ１」、「ＯＳ２」、「１年」、「２年」、「３年」、「１２８ＧＢ」および「５１２ＧＢ」が製品仕様情報２００の選択肢２０４に相当する。
【００９７】
このような製品構成情報管理システム１０００によれば、製品構成情報管理装置１００が有する製品仕様情報２００、ルール情報３００およびルール順序情報４００を活用し、製品構成の作成などを行うことができる。
【００９８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【００９９】
また、上記説明では、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えて良い。
【符号の説明】
【０１００】
１００・・・製品構成情報管理装置、１１０・・・演算部、１１１・・・製品情報入力部、１１２・・・ルール情報入力部、１１３・・・ルール連鎖情報生成部、
１１４・・・ルール整合性検査部、１１５・・・結果出力部、１２０・・・記憶部、
１３０・・・入出力部、１４０・・・通信部、Ｎ・・・通信ネットワーク、
２００・・・製品仕様情報、３００・・・ルール情報、４００・・・ルール順序情報、
５００・・・ルール連鎖情報、６００・・・不具合警告情報、
７００・・・製品構成作成見積支援装置、１０００・・・製品構成情報管理システム
１０１・・・演算処理装置、１０２・・・外部記憶装置、１０３・・・通信装置、
１０４・・・入力装置、１０５・・・表示装置、１０６・・・バス、１０７・・・ＣＰＵ、１０８・・・ＲＡＭ、１０９・・・ＲＯＭ
【図１】
0006282254.tif 000002
【図２】
0006282254.tif 000003
【図３】
0006282254.tif 000004
【図４】
0006282254.tif 000005
【図５】
0006282254.tif 000006
【図６】
0006282254.tif 000007
【図７】
0006282254.tif 000008
【図８】
0006282254.tif 000009
【図９】
0006282254.tif 000010
【図１０】
0006282254.tif 000011
【図１１】
0006282254.tif 000012