(57)【特許請求の範囲】
【請求項１】
情報を表示する表示部と、
情報の選択・編集・入力をする入力部と、
設計文書に使用される要素、前記要素の種類、前記要素の種類の間に定義される制約の情報を含む文書情報と、前記要素の種類の関係を探索するために定義された探索値情報と、前記制約および種類を決定するルールが定義された制約および種類決定情報とが割り付けられ記憶される記憶部と、
前記入力部を介して選択指定される文書情報に基づき、前記記憶部から指定の設計文書を読み出し、前記探索値情報に基づき前記読み出された設計文書の要素の全ての種類を探索して種類関係情報を生成し、前記生成された種類関係情報から前記制約および種類決定情報にしたがい制約および種類の候補を抽出して前記表示部に表示し、前記入力部を介して選択指定される制約および種類の候補に基づき、前記記憶部に記憶された文書情報を更新する処理部と、
を備えたことを特徴とする設計支援装置。
【請求項２】
前記処理部は、
前記入力部を介して前記設計文書に使用される要素の間に前記制約に反する情報が入力された場合、前記表示部にメッセージを表示して前記入力の受付けを禁止する文書表示編集部、
を有することを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記処理部は、
前記入力部を介して指定される文書情報に基づき、処理対象となる、要素ＩＤ、要素の種類、および要素属性からなる設計文書情報を前記記憶部から取得し、
文書要素種類情報に記憶された要素の全ての種類に関し、前記探索値情報に定義された探索対象属性数および最大探索値になるまで属性数および探索値を更新しながら前記取得した設計文書情報を探索し、
前記属性数と、文書要素制約情報に定義された種類属性関係とに基づき、前記探索値情報に更に記憶された要素数閾値以上の同一関係を有する種類属性関係を抽出し、少なくとも処理対象種類と、前記種類属性関係と、前記関係に合致する要素数を全体要素数との割合によって定義される制約可能性値とから成る前記種類関係情報を生成出力する図面関係抽出部、
を有することを特徴とする請求項１に記載の設計支援装置。
【請求項４】
前記処理部は、
前記図面関係抽出部で生成出力された前記種類関係情報に未処理の情報がある場合、前記制約および種類決定情報に定義された前記制約可能性値から制約タイプと種類分割の可否を決定し、
前記種類分割が可であって、処理中の種類関係情報における対象種類の関係合致要素ＩＤと前記関係合致要素ＩＤに同じ種類属性関係が存在する場合、該当する対象種類を、制約候補情報および種類候補情報を構成する対象種類に設定し、
前記処理中の種類関係情報の対象種類の関係合致要素ＩＤと前記関係合致要素ＩＤとの間に同じ種類属性関係が存在しない場合、前記処理中の種類関係情報の対象種類に新たな文字列を付加して前記制約候補情報および種類候補情報の対象種類に設定し、
前記処理中の種類関係情報の対象種類の関係合致要素ＩＤを関係合致要素ＩＤに一部として含む種類属性関係が存在する場合、該当の対象種類を前記種類候補情報の親種類として設定し、前記処理中の種類関係情報の対象種類における関係合致要素ＩＤを関係合致要素ＩＤに一部として含む種類属性関係が存在しない場合、前記処理中の種類関係情報における対象種類を前記種類候補情報の親種類として設定し、前記対象種類、種類属性関係、親種類、制約可能性値から成る種類候補情報を生成する候補情報抽出部、
を有することを特徴とする請求項３に記載の設計支援装置。
【請求項５】
前記候補情報抽出部は、
前記種類分割が否の場合、処理中の種類関係情報の対象種類を前記制約候補情報の対象種類として設定し、
前記制約および種類決定情報の制約タイプが必須または不可の場合、前記制約候補情報に、前記対象種類、種類属性関係、制約タイプ、前記制約可能性値から構成される制約候補情報を生成し、
前記制約タイプが前記以外であって、更に前記種類関係情報に未処理の情報がないと判定された場合、前記生成された制約候補情報と種類候補情報とを出力する、
ことを特徴とする請求項４に記載の設計支援装置。
【請求項６】
前記処理部は、
前記候補情報抽出部により抽出された制約候補情報と種類候補情報とを取得し、
前記探索値情報から追加確認に関する情報を取得し、前記情報が追加確認することを示していた場合、前記表示部に前記制約候補情報と前記種類候補情報とを表示し、
前記入力部を介して前記表示に対する選択入力があった場合、前記制約候補情報と前記種類候補情報の対象種類および親種類に関する情報を更新し、
前記探索値情報が追加確認しないことを示していた場合、前記種類候補情報に基づき前記文書要素種類情報を更新し、
前記種類候補情報に基づき前記設計文書情報を更新し、前記制約候補情報に基づき前記文書要素制約情報を更新する制約・種類確認部、
を有することを特徴とする請求項４または請求項５に記載の設計支援装置。
【請求項７】
記憶部と、処理部と、入力部と、表示部と、を備え、前記記憶部には、設計文書に使用される要素、前記要素の種類、前記要素の種類の間に定義される制約の情報を含む文書情報と、前記要素の種類の関係を探索するために定義された探索値情報と、前記制約および種類を決定するルールが定義された制約および種類決定情報とが記憶された設計支援装置における設計文書編集方法であって、
前記処理部が、前記入力部を介して選択指定される文書情報に基づき、前記記憶部から指定の設計文書を読み出し、前記探索値情報に基づき前記読み出された設計文書に含まれる要素の全ての種類を探索して種類関係情報を抽出する種類関係情報抽出ステップと、
前記処理部が、前記抽出された種類関係情報から前記制約および種類決定情報にしたがい編集すべき制約および種類の候補を抽出する候補情報抽出ステップと、
前記処理部が、前記表示部に表示された制約および種類の候補のうち、前記入力部を介して選択指定される制約および種類の候補の採用の有無に基づき、前記記憶部に記憶された文書情報を更新する文書情報更新ステップと、
を有することを特徴とする設計文書編集方法。
【請求項８】
前記処理部が、前記入力部を介して前記設計文書に使用される要素の間に前記制約に反する情報が入力された場合、前記表示部にメッセージを表示して前記入力の受付けを禁止する警告表示ステップ、
を更に有することを特徴とする請求項７に記載の設計文書編集方法。
【請求項９】
設計文書に使用される要素、前記要素の種類、前記要素の種類の間に定義される制約の情報を含む文書情報と、前記要素の種類の関係を探索するために定義された探索値情報と、前記制約および種類を決定するルールが定義された制約および種類決定情報とを記憶部に有する設計支援装置に用いられるプログラムであって、
外部から選択指定される文書情報に基づき前記記憶部から指定の文書情報を読み出し、前記探索値情報にしたがい前記読み出された文書情報に含まれる設計文書の要素の全ての種類を探索して種類関係情報を抽出する種類関係情報抽出処理と、
前記種類関係情報抽出処理により抽出された種類関係情報から、前記記憶部に記憶された制約および種類決定情報にしたがい、制約および種類の候補を抽出する制約および種類候補抽出処理と、
前記制約および種類候補抽出処理により出力された制約および種類の候補のうち、外部から選択指定される制約および種類の候補に基づき、前記記憶部に記憶された文書情報を更新する文書情報更新処理と、
をコンピュータに実行させるプログラム。
【請求項１０】
前記設計文書に使用される要素の間に前記制約に反する情報が入力された場合、メッセージを表示して前記入力の受付けを禁止する警告表示処理、
を更にコンピュータに実行させることを特徴とする請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、顧客向け情報システムの設計に用いて好適な、設計支援装置および設計文書編集方法ならびにプログラムに関するものである。
【背景技術】
【０００２】
情報システム開発プロジェクトの設計工程において設計誤りがあった場合、後の工程で設計済みの工程（作業）を見直すことが行なわれるため、プロジェクトコストが増加することは周知の事項である。このため、業務フロー等の設計文書（図面）を作成する際に、設計作業に対する編集ルールに基づき設計情報と設計情報との間に制約を設け、設計誤りを回避するための仕組みをエディタに組み込むことが頻繁に行なわれるようになった。
【０００３】
前記した仕組みの一例として、エディタを使用してモデル（ＵＭＬ：Unified Modeling Languageに代表されるモデリング言語を使用して開発や仕様決定の段階で使用される図を標準化したもの）を編集する場合に、表現形式が異なる各々のエディタの設定を変更することなく編集ルールの統一を実行することができるオブジェクト指向のモデル編集システムが知られている（例えば、特許文献１参照）。
【０００４】
前記した特許文献１に開示されたモデル編集システムによれば、各々のエディタは、製品や業務を構成するモデル要素を表示するための表示情報を出力する表示部と、表示されたモデル要素に関連付けられた情報を変更することでモデルを編集する操作部とを有し、モデル編集システム中に、更に、モデルを編集する場合に使用される編集ルールとモデルとを対応付けて記憶する記憶部を備えた構成になっている。
【０００５】
前記した構成において、操作部は、記憶部からモデルに対応する編集ルールを読み込み、読み込んだ編集ルールに基づいて表示されたモデルに対する編集動作を実行し、表示部は、実行された編集動作に基づいて表示情報を出力する仕組みになっている。
したがって、特許文献１に開示された技術によれば、エディタを使用してモデルを編集する場合に、各々のエディタの設定を変更することなく、統一された編集ルールによるモデルの編集を実行することができる。
【特許文献１】特開２００５−２５１１２８号公報（段落「００１２」、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、情報システムの設計時、設計者は、業務や顧客の慣習等の違いにより多様なシステム設計文書を書く必要がある。この場合、設計文書の図形要素（例えば、サーバ等の図柄）の種類は可変であり、また、制約（編集ルール）の数は要素の数に応じて増加する。具体的に、設計文書の要素間の２項関係に基づく制約は、理論的には要素の数の２乗で増大しうる。また、多項関係も含めると更に増大し、制約の定義に手間がかかるため設計者に多大の負担を要する。
【０００７】
また、設計者は、設計文書の種類（図形要素）を修正することが多々あり、図形要素の種類と制約は編集作業の途中で動的に増加しうるため、設計文書の要素の種類と制約との不確実性という問題もある。
これに対し、特許文献１に開示された技術によれば、モデル要素の種類と制約が固定であることを前提としているため前記した諸々の課題を解決することはできない。
【０００８】
本発明は前記した課題を解決するためになされたものであり、要素の種類および要素間の制約の定義を簡便に行う仕組みを構築することにより設計者の負担を軽減し、かつ、制約に反する場合に警告等の注意喚起を行うことにより設計誤りを回避し、プロジェクトコストの低減をはかった、設計支援装置および設計文書編集方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記した課題を解決するために本発明の設計文書編集方法は、記憶部と、処理部と、入力部と、表示部と、を備えた設計支援装置により実現され、処理部は、（１）入力部を介して選択指定される文書情報に基づき記憶部から指定の設計文書を読み出し、（２）記憶部に記憶された探索値情報に基づき読み出された設計文書の要素の全ての種類を探索して種類関係情報を生成し、（３）生成された種類関係情報から記憶部に記憶された制約および種類決定情報にしたがい制約および種類の候補を抽出して表示部に表示し、（４）表示部に表示された制約および種類の候補のうち、入力部を介して選択指定される制約および種類の候補に基づき、記憶部に記憶された文書情報を更新する一連の処理を実行する構成とした。また、入力部を介した設計者による編集操作に対し、制約に反する場合はメッセージを表示する処理を付加してもよい。
【発明の効果】
【００１０】
本発明によれば、要素の種類および要素間の制約の定義を簡便に行う仕組みを構築することにより設計者の負担を軽減し、制約に反する場合に注意喚起を行うことにより設計誤りを回避しプロジェクトコストの低減がはかれる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施の形態に係る設計支援装置の内部構成を示すブロック図である。図１に示されるように、本発明の実施の形態に係る設計支援装置１は、一般的な計算機で構成され、各種情報を保持するハードディスク等により構成される外部記憶装置１１と、半導体メモリデバイス等により構成される主記憶装置を含み、当該主記憶装置に記憶されたプログラムに基づき外部記憶装置１１に保持された各種データを参照して演算処理を行う計算機本体１０とを備える。
計算機本体１０には、前記した外部記憶装置１１の他に、キーボードやマウス等により構成される入力装置１２と、ＬＣＤ（Liquid Crystal Display）デバイス等からなるディスプレイやプリンタ等により構成される出力装置１３とが不図示のシステムバスを介して接続されている。
【００１２】
計算機本体１０は、図１にその内部構成が機能展開され示されているように、外部記憶装置１１に保持された設計文書を読み込み、当該設計文書を構成する全ての要素について、種類と要素の属性に基づき新たな制約と種類を抽出する制約・種類決定処理部１０１（以下、制約・種類決定処理部１０１という）と、設計文書の表示と制約に基づく編集を行なう文書表示編集部１０２と、を有する。
制約・種類決定処理部１０１は更に、設計文書に用いられる種類の属性関係を抽出する図面関係抽出部１０１１と、制約および種類決定情報（ルール）にしたがい制約および種類の候補を抽出する候補情報抽出部１０１２と、制約および種類の候補を設計文書に反映させる（文書情報を更新）制約・種類確認部１０１３とを含む。なお、ここで、「設計文書」とは、図面、表、画像等のオブジェクトを示すものとする。
【００１３】
また、外部記憶装置１１には、設計文書を含む文書情報を保持する文書情報１１１と、設計文書に用いられる種類の関係の情報を探索するために定義されるパラメータを保持する探索値情報１１２と、候補情報抽出部１０１２において制約および種類を決定するルールの情報を保持する制約・種類決定情報１１３とが保持されている。なお、文書情報１１１は、設計文書に使用される要素の種類の情報を保持する文書要素種類情報１１１１と、設計文書に使用される要素の情報を保持する設計文書情報１１１２と、設計文書に使用される要素の種類の間に定義される制約の情報を保持する文書要素制約情報１１１３とを含む。
【００１４】
前記した各種情報のうち、文書情報１１１と、文書情報１１１に含まれる文書要素種類情報１１１１、設計文書情報１１１２、および文書要素制約情報１１１３と、探索値情報１１２と、制約・種類決定情報１１３とは、データベース、ファイル、フォルダ等の形式にしたがって予め作成され、外部記憶装置１１に保持されているものとする。また、文書情報１１１（文書要素種類情報１１１１、設計文書情報１１１２、文書要素制約情報１１１３）は、設計文書の作成や編集の過程で制約・種類決定処理部１０１により動的な追加変更により更新されるものとする。
【００１５】
なお、計算機本体１０を構成する主記憶装置には、制約・種類決定処理部１０１の処理により動的に生成される、設計文書に用いられる種類の関係の情報を保持する種類関係情報１１４と、文書情報として新たに追加される制約候補の情報を保持する制約候補情報１１５と、文書情報として新たに追加される種類の候補情報を保持する種類候補情報１１６とが保持されるものとする。詳細はいずれも後記する。
【００１６】
図２は、図１に示す、設計文書に使用される要素の種類の情報が保持される文書要素種類情報１１１１のデータ構造の一例を示す図である。
図２において、列２０１のフィールドは、設計文書に使用される要素の種類を示す。ここでは、要素の種類として、「リンク」と、「ノード」と、「グループ」が定義されるものとする。ここで、要素の基本として要素Ａと要素Ｂのノードが存在し、要素Ａと要素Ｂとの間の関係が「リンク」であり、その関係の中でも大きな括りの中にリンクが含まれる場合に「グループ」とする。また、種類が、制約・種類決定処理部１０１によって設計文書に用いられる種類の関係についての情報（以下、「親種類」）をもとに、既存の種類の情報を改変し新たに生成された種類（以下、「子種類」）である場合、列２０２のフィールドには元となる親種類の種類を示す値が設定される。なお、生成された種類でない場合、列２０２のフィールドには親種類として「なし」を示す値が設定される。
【００１７】
また、列２０３のフィールドは要素属性を示す。ここで、要素属性とは、列２０１のフィールドで示される種類名の種類である要素を構成する、他のノードや、文字列や、数値などの情報とする。また、種類が、制約・種類決定処理部１０１によって追加された種類や、追加前にある種類など、文書表示編集部１０２で使用可能である場合、列２０４の追加可能性を示すフィールドには、「追加済」であることを示す値が設定される。
種類が、制約・種類決定処理部１０１によって以後追加してはならないと決定され、文書表示編集部１０２で使用不可能である場合、列２０４の追加可能性を示すフィールドには、「追加不可」を示す値が設定される。
【００１８】
なお、行２１１のレコードにおいて、種類「リンク」の情報は、制約・種類決定処理部１０１によって追加された種類ではなく、その表示属性は、「表示」と、「名称」と、値を種類「ノード」の要素とする「リンク先１」と種類「ノード」の要素とする「リンク先２」と、座標値であり、既にその種類が存在することを示している。同様に、行２１２が示すレコードの各フィールドは、種類「ノード」の情報を、行２１３のレコードの各フィールドは、種類「グループ」の情報を、それぞれ示している。
【００１９】
図３は、図１に示す、設計文書に使用される要素の情報を保持する設計文書情報１１１２のデータ構造の一例を示す図である。
図３において、列３０１のフィールドは、設計文書を構成する要素のそれぞれに付されるユニークな要素ＩＤである。したがって要素ＩＤが同じである要素は、設計文書において同じ要素であるとみなされる。また、列３０２のフィールドは要素の種類を示す。列３０２のフィールドに示される種類は、文書要素種類情報１１１１の列２０１のフィールドに設定される種類のいずれかと同じになる。また、列３０３のフィールドは要素の属性を示す。列３０３のフィールドで使用される属性は、文書要素種類情報１１１１の列２０３のフィールドの属性により定義される。
【００２０】
したがって、行３１１のレコードにおいて、要素ＩＤが「２」の要素は、種類が「グループ」であり、属性として、値が「四角形」の属性「表示」と、値が「支店」の属性「名称」と、属性「座標値」などが設定されることを示している。なお、ここでは、属性「座標値」の値は、以下の説明で必要としないため省略されている。同様に、行３１２のレコードは種類「グループ」の要素の情報を、行３２２のレコードから行３２７のレコードは種類「ノード」の要素の情報を、行３３１のレコードから行３３５のレコードは種類「リンク」の要素の情報を、それぞれ示す。
【００２１】
図４は、出力装置１３により表示される図３の設計文書情報１１１２の表示画面構成の一例を示す図である。
ここに示される表示画面（モデルエディタ画面４０１）は、設計文書に追加可能な要素の種類が表示されるパネル領域４０２と、設計文書が表示される編集領域４０３と、設計文書の要素の属性が表示される属性領域４０４と、モデルエディタ画面４０１で編集可能な文書の一覧を示す文書領域４０５とにより構成される。
【００２２】
パネル領域４０２には、図２の文書要素種類情報１１１１で示される「種類」が示される。例として、パネル領域を構成する領域４１１は、種類「グループ」と、種類「グループ」を元に制約・種類決定処理部１０１が生成した種類の情報を表示する領域である。パネル領域４０２は、同様に、種類「ノード」と種類「ノード」を元に制約・種類決定処理部１０１が生成した種類の情報を表示する領域４１２と、種類「リンク」と種類「リンク」を元に制約・種類決定処理部１０１が生成した種類の情報を表示する領域４１３とを含む。
但し、図２に示した文書要素種類情報１１１１には、種類「グループ」を元に制約・種類決定処理部１０１が生成した種類が無いため、領域４１１には、種類「グループ」を示す領域４２１のみが含まれる。同様に、領域４１２には領域４２２が、領域４１３には領域４２３が含まれる。
【００２３】
なお、パネル領域４０２に含まれる領域４２１、領域４２２、領域４２３のいずれかに表示された情報を、入力装置１２を操作することにより編集領域４０３にドラッグアンドドロップすることにより新たな要素が作成される。例えば、領域４２１に表示された情報を編集領域４０２にドラッグアンドドロップすると、種類が「グループ」である新たな要素が生成される。
【００２４】
編集領域４０３には、図３に示した設計文書情報１１１２の各行を構成するレコードに対応する情報が表示される。例えば、要素４４１は、設計文書情報１１１２の行３２１のレコードに対応した要素ＩＤ“１”が付与された種類「ノード」の要素であり、要素に表示される文字列が、行３２１のレコードの列３０３の属性フィールド中の、属性「名称」から取得した文字列「タイトル：文書１（申込）」が表示される。同様に、要素４３１から要素４３２は、図３の設計文書情報１１１２の行３１１のレコードから行３１２のレコードに示される、種類「グループ」の要素であり、また、要素４４２から要素４４７は、設計文書情報１１１２の行３２２のレコードから行３２７のレコードが示す、種類「ノード」の要素であり、要素４５１から要素４５５は、設計文書情報１１１２の行３３１のレコードから行３３５のレコードが示す、種類「リンク」の要素である。
【００２５】
属性領域４０４には、編集領域４０３で指定される要素の属性の情報が表示される。ここでは、編集領域４０３において、要素４４４が指定されていることが要素４４４を囲む４つの四角形４６１で示されているものとする。このとき、属性領域４０４を構成する行４７１のレコードから行４７４のレコードは、要素４４４に対応する図３の設計文書情報１１１２の行３２４のレコードの列３０３の属性フィールドの情報を示すものとする。ここでは、行４７１のレコードは属性「表示」の値が「図形：ｄｏｃｕｍｅｎｔ．ｐｎｇ」であることを、行４７２のレコードは属性「名称」の値が「申込書類」であることを、行４７３のレコードは属性「所属グループ」の値が「３（センタ）」であることを、行４７４のレコードは属性「座標値」の情報を、それぞれ示している。
【００２６】
一方、文書領域４０５には、編集可能な文書「文書１（申込）」４８１と文書「文書２（棄却）」が示されている。この文書領域４０５において、ポップアップメニュー４６２を介して制約・種類決定処理部１０１による制約および種類抽出処理が起動される。具体的に、ポップアップメニュー４６２において「文書指定抽出」が設計者により選択指定されると、文書領域４０５に示される一つの文書の設計文書情報１１１２を元に制約および種類が抽出される。また、ポップアップメニュー４６２において「全文書抽出」が選択指定されると、文書領域４０５に示される全ての文書の設計文書情報１１１２を元に制約及び種類が抽出される。詳細は後記する。
【００２７】
図５は、設計文書に使用される要素の種類間に定義される制約の情報を保持する文書要素制約情報１１１３のデータ構造の一例を示す図である。
図５において、列５０１のフィールドは制約が定義される種類を示す。列５０１が示すフィールドは、図２に示す文書要素種類情報１１１１の列２０１のフィールドの種類名のいずれかと同じになる。また、列５０２のフィールドは種類属性関係を示し、ここに属性と属性との値の関係が定義される。また、列５０３のフィールドは制約タイプを示し、「必須」あるいは「不可」のいずれかを示す値が設定される。列５０２のフィールドで示される属性と属性の値の関係について、列５０３のフィールドに「必須」を示す値が設定される場合、列５０１のフィールドで指定された種類である全ての要素の属性は、列５０２のフィールドで示される属性と属性の値の関係をとらなければならず、また、列５０３のフィールドに「不可」を示す値が設定されている場合、列５０１のフィールドで指定された種類である全ての要素の属性は列５０２のフィールドで示される属性と属性の値の関係をとってはならない。列５０２のフィールドで使用される属性は、文書要素種類情報１１１１の列２０３のフィールドの属性により定義される。
【００２８】
また、列５０４のフィールドは追加可能性を示し、制約が、制約・種類決定処理部１０１によって追加された制約や、追加前にある制約など、文書表示編集部１０２で使用可能である場合、列５０４のフィールドには「追加済」を示す値が設定され、制約が、制約・種類決定処理部１０１によって以後追加してはならないと規定され、文書表示編集部１０２で使用不可能である場合、列５０４のフィールドには「追加不可」を示す値が設定される。なお、列５０５のフィールドは、制約が文書表示編集部１０２で使用される場合に、出力装置１２（表示画面）に表示するメッセージを示す。
【００２９】
すなわち、図５において、行５１１のレコードは、種類「リンク」の属性「リンク先１」に指定される要素は種類「ノード」または種類「ノード」の子種類であることが必須であり、行５１１のレコードで示される制約は既に文書表示編集部１０２で使用可能であり、文書表示編集部１０２は表示画面にメッセージ「リンク先１はノードです。」を表示することを示す。同様に、行５１２のレコードは、種類「リンク」の属性「リンク先２」に指定される要素は種類「ノード」または種類「ノード」の子種類であることが必須であり、行５１２のレコードで示される制約は既に文書表示編集部１０２で使用可能であり、文書表示編集部１０２は表示画面にメッセージ「リンク先２はノードです。」を表示することを示す。
【００３０】
図６は、計算機本体１０の制約・種類決定処理部１０１に含まれる図面関係抽出部１０１１で生成される、設計文書に用いられる種類の関係の情報を保持する種類関係情報１１４のデータ構造の一例を示す図である。
図６において、列６０１のフィールドは、図３の設計文書情報１１１２で用いられる処理の対象種類を示す。列６０２のフィールドに示される「種類属性関係」は、図３の設計文書情報１１１２で用いられる種類の属性とその値の関係を示す。また、列６０３のフィールドは、列６０２のフィールドの種類属性関係に合致する列６０１のフィールドの種類の要素ＩＤ（以下、関係合致要素ＩＤという）を示す。また、列６０４のフィールドは、列６０３のフィールドに含まれる要素の数（以下、関係合致要素数という）を示す。列６０５のフィールドは、図３の設計文書情報１１１２に含まれる、列６０１のフィールドの種類である要素の数（以下、全体要素数という）を示す。また、列６０６のフィールドは、関係合致要素数を全体要素数で割った値の、少数点以下３桁を切り上げた値（以下、制約可能性値という）を示す。
【００３１】
すなわち、図６において、行６１１のレコードは、種類が「グループ」であり、かつ属性「表示」が「四角形」である要素は、要素ＩＤが２の要素、要素ＩＤが３の要素であり、合計すると要素数は２であること、ならびに種類が「グループ」である全ての要素数は２であるため、制約可能性値は２÷２＝１．０となることを示している。
同様に行６２１のレコードから行６２５のレコードは、種類が「ノード」である要素について、行６３１のレコードから行６３７のレコードは、種類が「リンク」である要素について、それぞれ図面関係抽出部１０１１で生成される情報を示す。
【００３２】
図７は、設計文書に用いられる種類の関係の情報を探索するためのパラメータ情報を保持する探索値情報１１２のデータ構造の一例を示す図である。
図７において、列７０１のフィールドは探索対象属性数を示す。探索対象属性数とは、図６に示した種類関係情報１１４の列６０２のフィールドに、列６０１のフィールドで示される種類の要素の属性の情報が最大いくつ入るかを示す情報である。また、列７０２のフィールドは最大探索値を示す。最大探索値とは、ある要素の属性が別の要素の属性である場合において、列６０２のフィールドに最大いくつの要素の属性を定義できるかを示す情報である。例えば、図２に示した文書要素種類情報１１１１では、種類「リンク」の属性「リンク先１」が種類「ノード」の要素を示し、種類「ノード」の属性「所属グループ」が種類「グループ」の要素を示す関係があることが定義されている。この場合、列６０２のフィールドに、種類「リンク」の属性「リンク先１」で定義される要素の属性「所属グループ」の属性「名称」が「センタ」であるということを定義したい場合、種類「リンク」の要素、種類「ノード」の要素、種類「グループ」の要素の３つの要素の情報が列６０２のフィールドに定義されるため、最大探索値は３以上の値を設定する必要がある。
【００３３】
また、列７０３のフィールドは要素数閾値を示す。後記するように、図面関係抽出部１０１１は、種類関係情報１１４の列６０４のフィールドの関係合致要素数が要素数閾値以下となる情報については、種類関係情報１１４に追加しないものとする。また、列７０４のフィールドは追加確認の有無に関する情報を示す。後記するように、追加確認の値が「する」の場合、制約・種類確認部１０１３は出力装置１３に、制約候補情報１１５および種類候補情報１１６に含まれる制約と種類を表示する画面を表示する。
【００３４】
したがって、行７１１のレコードは、列６０２のフィールドが列６０１のフィールドの種類の要素について最大２つの属性に関する関係を含むこと、それぞれの要素が最大２つの要素に対する情報を含みうること、種類関係情報１１４の列６０４のフィールドの関係合致要素数が１以下の情報は種類関係情報１１４に含み得ないこと、制約・種類確認部１０１３は制約と種類を表示する画面を表示することを示す。
【００３５】
図８は、候補情報抽出部１０１２において制約及び種類を決定するルールの情報を保持する制約・種類決定情報１１３のデータ構造の一例を示す図である。
図８において、列８０１のフィールドは、後記する候補情報抽出部１０１２において確認する制約可能性値の条件を示す。また、列８０２のフィールドは、制約候補情報１１５に追加する制約の制約タイプを示す。また、列８０３のフィールドは、種類候補情報１１６に新たな種類を追加するか否かの種類分類を示す。
【００３６】
したがって、行８１１を構成するレコードは、種類関係情報１１４のある行を構成するレコードについて、制約可能性値が０．９より大でかつ１以下の場合、候補情報抽出部１０１２は、制約タイプが「必須」である制約の情報を制約候補情報１１５に追加し、種類候補情報１１６に新たな種類を追加しないことを示している。
【００３７】
図９は、文書情報１１１に新たに追加する制約の候補の情報を保持する制約候補情報１１５のデータ構造の一例を示す図である。
図９において、列９０１を構成するフィールドは対象種類を、列９０２を構成するフィールドは種類属性関係を、列９０３を構成するフィールドは制約タイプを示す。また、列９０４を構成するフィールドは制約可能性値を示す。後記するように、種類の追加と制約の追加を同時に行なう場合、制約可能性値は「種類追加」となる。
【００３８】
したがって、行９１１を構成するレコードは、種類「グループ」について、属性「表示」は「四角形」でなければならないとする制約が追加候補であり、候補情報抽出部１０１２が候補を抽出した際に制約可能性値は「１．０」であったことを示す。同様に、行９１２から行９１３を構成するレコード、行９２１から行９３０を構成するレコードは、それぞれ追加候補を示している。
【００３９】
図１０は、文書情報１１１に新たに追加する種類の候補の情報を保持する種類候補情報１１６のデータ構造の一例を示す図である。
図１０において、列１００１を構成するフィールドは対象種類を、列１００２を構成するフィールドは種類属性関係を、列１００３を構成するフィールドは親種類を、列１００４を構成するフィールドは制約可能性値をそれぞれ示す。
【００４０】
したがって、行１００Ａを構成するレコードは、親種類が「ノード」であり、候補情報抽出部１０１２が候補を抽出した際に、種類関係属性が「表示=”図形：ｈｕｍａｎ．ｐｎｇ”」かつ制約可能性値が「０．４３」であった種類名「ノード＿１」の種類が追加候補であることを示す。同様に、行１００Ｂから行１００Ｊを構成するレコードはそれぞれ追加候補を示している。
【００４１】
図１１および図１２は、制約・種類確認部１０１３により出力装置１３に出力される表示情報の一例を示す図である。図１１は、出力装置１３が出力する制約・種類確認画面１１０１の上部を、図１２は、制約・種類確認画面１１０１の下部をそれぞれ示す。
【００４２】
図１１において、表示領域１１０２には、図９に示した制約候補情報１１５が表示される。行１１２１から行１１３３に表示される情報のうち、列１１１Ｃから列１１１Ｆに示される情報は、図９に示した制約候補情報１１５と同じである。ここに示す表示例によれば、表示行１１２１から表示行１１３３は、図９に示す制約候補情報の行９１１から行９１３を構成するレコード、および行９２１から行９３０を構成するレコードのそれぞれに対応している。
但し、列１１１Ｃに表示される対象種類は画面１１０１において変更可能である。ここに示す表示例では、表示行１１２５において、「ノード＿１」が「人」に、表示行１１２６において、「ノード＿２」が「文書」に、表示行１１２７から１１２８において、「ノード＿３」が「窓口担当者」に、それぞれ変更されている。
【００４３】
前記した制約・種類確認画面１１０１の上部構成において、設計者が入力装置１２を操作することにより列１１１Ａのチェックボックス「採用」がクリックされた場合、該当する表示行に対応するレコードの情報が文書要素制約情報１１１３に追加される。また、列１１１Ｂのチェックボックス「抹消」がクリックされた場合、該当する表示行に対応するレコードの情報の追加可能性が「追加不可」として、文書要素制約情報１１１３に追加される。なお、列１１１Ｇには、文書表示編集部１０２において表示するメッセージが入力可能である。例では、表示行１１２２にメッセージが入力される。
【００４４】
図１２において、表示領域１２０１には、図１０に示した種類候補情報１１６が表示される。表示行１２２１から１２３０に表示される情報のうち、列１２１３から１２１６に表示される情報は、図１０に示した種類候補情報１１６と同じである。ここに示す表示例によれば、行１２２１から１２３０に表示される情報は、図１０に示す種類候補情報１１６の行１００Ａから行１００Ｊを構成するレコードのそれぞれに対応している。
但し、列１１１Ｃにおいて種類名が変更された場合でありかつ、列１２１２のチェックボックスがクリックされていない場合、列１２１３における種類名も変更される。ここでは、表示行１２２４および１２２５のレコードの列１２１３に対応する対象種類が、「窓口担当者」に変更されている。
【００４５】
前記した制約・種類確認画面１１０１の下部構成において、設計者が入力装置１２を操作することにより列１２１１のチェックボックス「採用」がクリックされた場合、該当する行の表示情報が文書要素種類情報１１１１に追加される。また、列１２１２のチェックボックス「抹消」がクリックされた場合、該当する行の表示情報のうち、追加可能性が「追加不可」として、文書要素種類情報１１１１に追加される。
ここで、更に、画面下に割り付けられているＯＫボタン１２４１がクリックされると、候補として文書情報１１１に追加される。一方、キャンセルボタン１２４２がクリックされると、文書情報１１１は更新されず、当該画面が閉じられる。
【００４６】
図１３は、制約・種類確認部１０１３により更新された、文書要素種類情報１１１１のデータ構造の一例を示す図である。
図１３において、列１３０１から列１３０４を構成するフィールドの定義は、図２に示した文書要素種類情報１１１１の列２０１から列２０４を構成するフィールドのそれぞれと同じである。ここでは、図２の文書要素種類情報１１１１にある行２１１（行１３１１）から行２１３（行１３１３）を構成するレコードに、更に、行１３２１から行１３２９を構成するレコードが追加されている。
【００４７】
図１４は、制約・種類確認部１０１３により更新された、設計文書情報１１１２のデータ構造の一例を示す図である。
図１４において、列１４０１から列１４０３を構成するフィールドの定義は、図３に示した設計文書情報１１１２の列３０１から列３０３を構成するフィールドのそれぞれと同じである。行１４１１から行１４１２を構成するレコードは、図３に示した設計文書情報１１１２の行３１１から行３１２を構成するレコードと同じである。ここでは、行１４２２から行１４２７を構成する各レコードにおいて、追加された新たな種類に対応する要素の種類１４０２が変更されている。また、行１４３１から行１４３５を構成するレコードは、図３に示した設計文書情報１１１２の行３３１から行３３５を構成するレコードのそれぞれと同じである。
【００４８】
図１５は、制約・種類確認部１０１３により更新された、文書要素制約情報１１１３のデータ構造の一例を示す図である。
図１５において、列１５０１から列１５０５を構成するフィールドの定義は、図５に示した文書要素制約情報１１１３の列５０１から列５０５の各フィールドと同じである。ここでは、図５の文書要素制約情報１１１３にある行５１１（行１５１１）から行５１２（行１５１２）を構成するレコードに追加して、更に、行１５２１から行１５３２を構成するレコードが追加されている。
【００４９】
図１６は、文書表示編集部１０２により出力装置１３に出力される表示画面（モデルエディタ画面１６０１）構成の一例を示す図である。
図１６において、モデルエディタ画面１６０１のパネル領域１６０２には、文書要素種類情報１１１１に追加された要素が領域１６１１から領域１６１４に表示される。ダイアログ１６２４は制約によるメッセージの一例である。例えば、編集領域１６０３において、要素１６２１を、ポインタ１６２２を用いて要素１６２３にドラッグアンドドロップすると、文書要素制約情報１１１３の行１５２３のレコードに定義された情報により、該当メッセージ（ダイアログ１６２４）が表示される。
【００５０】
図１７〜図２０は、本発明の実施の形態に係る設計支援装置１の動作を説明するために示したフローチャートである。
以下、図１７〜図２０に示したフローチャートを参照しながら図１〜図１６に示した本発明の実施の形態に係る設計支援装置の動作について詳細に説明する。ここでは、制約・種類決定情報１１３を用い文書情報１１１に制約および種類を追加する制約・種類決定処理部１０１の処理について、種類関係情報の抽出、制約候補および種類候補情報の抽出、そして制約および種類確認に至る一連の処理の流れについて具体例を挙げて説明する。
【００５１】
図１７は、制約・種類決定処理部１０１の図面関係抽出部１０１１による種類関係情報抽出処理の流れを示すフローチャートである。
ここでは、図２にそのデータ構造の一例が示される文書要素種類情報１１１１と、図３にそのデータ構造の一例が示される設計文書情報１１１２と、図４に示した設計文書情報１１１２の画面表示例と、図５にそのデータ構造の一例が示される文書要素制約情報１１１３と、図６にそのデータ構造の一例が示される種類関係情報１１４と、図７にそのデータ構造の一例が示される探索値情報１１２とを参照しながら説明する。
【００５２】
図面関係抽出部１０１１は、まず、設計者が入力装置１２を介して出力装置１３の文書領域４０５（図４）に表示された文書を選択することにより、以下に説明する制約・種類決定処理の対象となる設計文書情報１１１２を取得する（ステップＳ１７０１）。続いて図面関係抽出部１０１１は、文書要素種類情報１１１１から、種類（列２０１）、親種類（列２０２）、属性（列２０３）、追加可能性（列２０４）に関する情報を取得する（ステップＳ１７０２）。
次に、図面関係抽出部１０１１は、取得した設計文書情報１１１２から、要素ＩＤ（列３０１）、種類（列３０２）、属性（列３０３）に関する情報を取得する（ステップＳ１７０３）。そして、文書要素制約情報１１１３から、種類（列５０１）、種類属性関係（列５０２）、制約タイプ（列５０３）、追加可能性（列５０４）、メッセージ（列５０５）に関する情報を取得し（ステップＳ１７０４）、更に、探索値情報１１２から探索対象属性数（列７０１）、最大探索値（列７０２）、要素数閾値（列７０３）に関する情報を取得する（ステップＳ１７０５）。
【００５３】
図面関係抽出部１０１１は、文書要素種類情報１１１１から取得した種類に未処理の種類がある場合、すなわち、文書要素種類情報１１１１に定義された全ての種類についての種類関係情報の抽出処理が未済の場合（ステップＳ１７０６“Ｙｅｓ”）、種類の要素数（全体要素数）に関する情報を取得し（ステップＳ１７０７）、図面関係抽出部１０１１で使用する属性数の値を“１”に設定する（ステップＳ１７０８）。
続いて、図面関係抽出部１０１１は、その属性数と、探索値情報１１２の探索対象属性数（列７０１）とを比較して（ステップＳ１７０９）、属性数が探索対象属性数以下であると判定された場合（ステップＳ１７０９“Ｙｅｓ”）、その探索値を“１”に設定する（ステップＳ１７１０）。更に、図面関係抽出部１０１１は、設定された探索値と、探索値情報１１２の最大探索値（列７０２）とを比較し（ステップＳ１７１１）、ここで、探索値が最大探索値以下であると判定された場合（ステップＳ１７１１“Ｙｅｓ”）、属性数と探索値とに基づき、設計文書情報１１１２から取得した情報から種類属性関係を生成する（ステップＳ１７１２）。
【００５４】
続いて図面関係抽出部１０１１は、同一種類属性関係にある要素の要素ＩＤ（関係合致要素ＩＤ）と、要素数（関係合致要素数）と、要素ＩＤとを取得する（ステップＳ１７１３）。次に、同じ種類、制約がない場合で、かつ要素数が要素数閾値以上の場合に、種類関係情報１１４に、対象種類（列６０１）、種類属性関係（列６０２）、関係合致要素ＩＤ（列６０３）、関係合致要素数（列６０４）、全体要素数（列６０５）を追加する（ステップＳ１７１４）。
例えば、属性数“１”、探索値“１”、対象種類が「グループ」の場合は、行６１１を構成するレコードに示す情報が追加される。次に、図面関係抽出部１０１１は、探索値に“１”を追加して（ステップＳ１７１５）、ステップＳ１７１１の処理に戻る。
【００５５】
なお、探索値が最大探索値を超えた場合（ステップＳ１７１１“Ｎｏ”）、図面関係抽出部１０１１は、属性数に“１”を追加し（ステップＳ１７１６）、ステップＳ１７０９
処理に戻る。また、属性数が探索対象属性数以下でない場合は（ステップＳ１７０９“Ｎｏ”）、ステップ１７０６の処理に戻る。
また、文書要素種類情報１１１１から取得した全ての種類に関して前記した処理がなされた場合（ステップＳ１７０６“Ｎｏ”）、図面関係抽出部１０１１は、候補情報抽出部１０１２に対し、生成された種類関係情報１１４を送信して以降の処理を委ねる（ステップＳ１７１７）。
【００５６】
すなわち、図面関係抽出部１０１１は、（１）入力部１２を介して指定される文書情報に基づき、処理対象となる、要素ＩＤ、要素の種類、および要素属性からなる設計文書情報１１１２等を記憶部１１から取得し（Ｓ１７０１〜Ｓ１７０５）、（２）文書要素種類情報１１１１に記憶された要素の全ての種類２０１に関し、探索値情報１１２に記憶された探索対象属性数７０１および最大探索値７０２になるまで属性数および探索値を更新しながら先に取得した設計文書情報１１１２を探索し（Ｓ１７０６〜Ｓ１７１１）、（３）属性数と、文書要素制約情報１１１３に定義された種類属性関係５０２と、に基づき、探索値情報１１２に更に定義された要素数閾値７０３以上の同一関係を有する種類属性関係を抽出し、少なくとも、処理対象種類６０１と、種類属性関係６０２と、関係に合致する要素数を全体要素数との割合によって定義される制約可能性値６０６とから成る種類関係情報１１４を生成出力する（Ｓ１７１２〜Ｓ１７１７）種類関係情報抽出処理を実行する。
【００５７】
図１８は、制約・種類決定処理部１０１の候補情報抽出部１０１２による制約および種類候補抽出処理の流れを示すフローチャートである。
ここでは、図６にそのデータ構造の一例が示される種類関係情報１１４と、図８にそのデータ構造の一例が示される制約・種類決定情報１１３と、図９にそのデータ構造の一例が示される制約候補情報１１５と、図１０にそのデータ構造の一例が示される種類候補情報１１６とを参照しながら説明する。
【００５８】
候補情報抽出部１０１２は、まず、図面関係抽出部１０１１により生成され引き渡された種類関係情報１１４から、対象種類（列６０１）、種類属性関係（列６０２）、関係合致要素ＩＤ（列６０３）、関係合致要素数（列６０４）、全体要素数（列６０５）、制約可能性値（列６０６）に関する情報を取得する（ステップＳ１８０１）。また、候補情報抽出部１０１２は、制約・種類決定情報１１３から、制約可能性値の条件（列８０１）、制約タイプ（列８０２）、種類分割（列８０３）に関する情報を取得する（ステップＳ１８０２）。
続いて、候補情報抽出部１０１２は、先に図面関係抽出部１０１１により生成され引き渡された種類関係情報１１４から取得した情報に未処理の条件がある場合、すなわち、全ての対象種類についての制約情報抽出処理が終了するまで（ステップＳ１８０３“Ｙｅｓ”）、制約可能性値（列８０１）から、制約・種類決定情報１１３としての制約タイプ（列８０２）と種類分割（列８０３）の有無に関する情報を決定する（ステップＳ１８０４）。
【００５９】
次に、候補情報抽出部１０１２は、種類分割（列８０３）の値が「する」となっていた場合であって（ステップＳ１８０５“Ｙｅｓ”）、かつ、処理中の種類関係情報１１４の関係合致要素ＩＤ（列６０３）と関係合致要素ＩＤ（列６０３）が全く同じ種類属性関係が存在する場合（ステップＳ１８０６“Ｙｅｓ”）、該当する種類関係情報１１４の対象種類（列６０１）を、制約候補情報１１５の対象種類（列９０１）と、種類候補情報１１６の対象種類（列１００１）に設定する値とし（ステップＳ１８０７）、ステップＳ１８０９の処理に進む。
一方、ステップＳ１８０６の処理において、処理中の種類関係情報１１４の関係合致要素ＩＤ（列６０３）と関係合致要素ＩＤ（列６０３）が全く同じ種類属性関係が存在しない場合（ステップＳ１８０６“Ｎｏ”）、候補情報抽出部１０１２は、処理中の種類関係情報１１４の対象種類（列６０１）にアンダーバー（＿）と数字を追加した新たな文字列を、制約候補情報１１５の対象種類（列９０１）と、種類候補情報１１６の対象種類（列１００１）にそれぞれ設定する値とし（ステップＳ１８０８）、ステップＳ１８０９の処理に進む。ここでは、制約候補情報１１５において、種類「ノード」について、行９２１から行９２５に示す情報（それぞれノード＿１、ノード＿２、ノード＿３、ノード＿３、ノード＿１）が追加されるものとする。
【００６０】
続いて、候補情報抽出部１０１２は、ステップＳ１８０９〜ステップＳ１８１１の処理で種類候補情報１１６の親種類（列１００３）を決定する。具体的に、処理中の種類関係情報１１４の関係合致要素ＩＤ（列６０３）を関係合致要素ＩＤ（列６０３）に一部として含む関係条件が存在する場合（ステップＳ１８０９“Ｙｅｓ”）、候補情報抽出部１０１２は、該当情報の対象種類（列６０１）を種類候補情報１１６の親種類（列１００３）とし（ステップＳ１８１０）、ステップＳ１８１２の処理に進む。
一方、候補情報抽出部１０１２は、処理中の種類関係情報１１４の関係合致要素ＩＤ（列６０３）を関係合致要素ＩＤ（列６０３）に一部として含む種類属性関係が存在しない場合（ステップＳ１８０９“Ｎｏ”）、処理中の種類関係情報１１４の対象種類（列６０１）を種類候補情報１１６の親種類（列１００３）とし（ステップＳ１８１１）、ステップＳ１８１２の処理に進む。このようにして候補情報抽出部１０１２は、種類候補情報１１６に、対象種類（列１００１）、種類属性関係（列１００２）、親種類（列１００３）、制約可能性値（列１００４）を追加し、ステップＳ１８１４の処理に進む（ステップＳ１８１２）。
【００６１】
なお、候補情報抽出部１０１２は、制約・種類決定情報１１３が示す種類分割（列８０３）の値が「する」に設定されていない場合は（ステップＳ１８０５“Ｎｏ”）、処理中の種類関係情報１１４の対象種類（列６０１）を制約候補情報１１５の対象種類（列９０１）とし（ステップＳ１８１３）、ステップＳ１８１４の処理に進む。
また、制約・種類決定情報１１３の制約タイプ（列８０２）が“必須”または“不可”になっていた場合（ステップＳ１８１４“Ｙｅｓ”）、候補情報抽出部１０１２は、制約候補情報１１５に、対象種類（列９０１）、関係条件（列９０２）、制約タイプ（列９０３）、制約可能性値（列９０４）を追加し（ステップ１８１５）、ステップＳ１８０３の処理に進む。一方、制約・種類決定情報１１３の制約タイプ（列８０２）が“必須”または“不可”となっていなかった場合（ステップＳ１８１４“Ｎｏ”）、ステップＳ１８０３の処理に戻り、種類関係情報１１４から取得した情報に未処理の対象種類がないと判定された場合（ステップＳ１８０３“Ｎｏ”）、候補情報抽出部１０１２は、前記のようにして抽出された制約候補情報１１５と種類候補情報１１６とを、制約・種類決定処理部１０１３に送信（ステップＳ１８１６）する。
【００６２】
すなわち、候補情報抽出部１０１２は、（１）図面関係抽出部１０１１により生成され引き渡された種類関係情報１１４に未処理の対象種類（列６０１）がある場合、その制約可能性値（列６０６）から、制約・種類決定情報１１３が示す制約タイプ（列８０２）と種類分割（列８０３）を決定し（Ｓ１８０１〜Ｓ１８０４）、（２）種類分割（列８０３）が可であり、処理中の種類関係情報１１４の対象種類（列６０１）の関係合致要素ＩＤ（列６０３）と関係合致要素ＩＤ（列６０３）が同じ種類属性関係が存在する場合、該当する情報の対象種類（列６０１）を制約候補情報１１５および種類候補情報１１６の対象種類（それぞれ、列９０１、列１００１）に設定し（Ｓ１８０５“Ｙｅｓ”、Ｓ１８０６“Ｙｅｓ”〜Ｓ１８０７）、（３）処理中の種類関係情報１１４の対象種類（列６０１）の関係合致要素ＩＤ（列６０３）と関係合致要素ＩＤが同じ種類属性関係が存在しない場合、処理中の種類関係情報１１４の対象種類（列６０１）に新たな文字列を付加して、制約候補情報１１５および種類候補情報１１６としての対象種類（列９０１、列１００１）として設定し（Ｓ１８０６“Ｎｏ”〜Ｓ１８０８）、（５）処理中の種類関係情報１１４の対象種類（列６０１）の関係合致要素ＩＤ（列６０３）を関係合致要素ＩＤに一部として含む種類属性関係が存在する場合、該当の対象種類（列６０１）を親種類として種類候補情報１１６の親種類（列１００３）に設定し、処理中の種類関係情報１１４の対象種類（列６０１）の関係合致要素ＩＤ（列６０３）を関係合致要素ＩＤに一部として含む関係条件が存在しない場合、処理中の対象種類（列６０１）を親種類として種類候補情報１１６の親種類（列１００３）に設定する（Ｓ１８０９〜Ｓ１８１１）。
【００６３】
候補情報抽出部１０１２は、更に、（６）制約・種類決定情報１１３の種類分割（列８０３）が分割否を示していた場合、処理中の種類関係情報１１４の対象種類（列６０１）を対象種類（列９０１）として制約候補情報１１５に設定し（Ｓ１８０５“Ｎｏ”〜Ｓ１８１３）、（７）制約・種類決定情報１１３の制約タイプ（列８０２）が必須、または不可を示していた場合、制約候補情報１１５に、対象種類（列９０１）、種類属性関係（列９０２）、制約タイプ（列９０３）、制約可能性値（列９０４）を追記し（Ｓ１８１４“Ｙｅｓ”〜１８１５）、（８）制約タイプ（列８０２）が前記以外の場合であって、更に、種類関係情報１１４から取得した対象種類（列６０１）に未処理がないと判定された場合に制約。・種類確認部１０１３に、生成された制約候補情報１１５と種類候補情報１１６とを引き渡す制約情報抽出処理（（Ｓ１８１４“Ｎｏ”、Ｓ１８０３“Ｎｏ”、Ｓ１８１６）を実行する。
【００６４】
図１９は、制約・種類決定処理部１０１の制約・種類確認部１０１３による文書情報更新処理の流れを示すフローチャートである。
ここでは、図７にそのデータ構造の一例が示される探索値情報１１２と、図９にそのデータ構造の一例が示される制約候補情報１１５と、図１０にそのデータ構造の一例が示される種類候補情報１１６と、図１１、図１２に示される制約・種類出力確認画面構成例と、図１３にそのデータ構造の一例が示される文書要素種類情報１１１１と、図１４にそのデータ構造の一例が示される設計文書情報１１１２と、図１５にそのデータ構造の一例が示される文書要素制約情報１１１３と、を参照しながら説明する。
【００６５】
制約・種類確認部１０１３は、まず、候補情報抽出部１０１２により抽出された制約候補情報１１５と種類候補情報１１６とを取得する（ステップＳ１９０１）。続いて制約・種類確認部１０１３は、探索値情報１１２から追加確認（列７０４）に関する情報を取得する（ステップＳ１９０２）する。
制約・種類確認部１０１３は、追加確認（列７０４）に関する情報が「する」となっていた場合（ステップＳ１９０３“Ｙｅｓ”）、出力装置１３に対し、図１１、図１２にその画面構成の一例が示される制約・種類確認画面に、制約候補情報１１５と種類候補情報１１６とを出力（表示）する（ステップＳ１９０４）。続いて、制約・種類確認部１０１３は、入力装置１２を介して設計者による制約・確認画面に対する選択入力（採用または抹消）を取得する（ステップＳ１９０５）する。
【００６６】
前記した選択入力を取得後、制約・種類確認部１０１３は、設計者により確認のために押下されたボタンが「ＯＫボタン」１２４１であった場合のみ（ステップＳ１９０６“Ｙｅｓ”）、対象種類（列９０１および列１００１）、親種類（列１００３）の変更を制約候補情報１１５と種類候補情報１１６に反映（ステップＳ１９０７）させる。すなわち、制約候補情報１１５と種類候補情報１１６の対象種類（列９０１および列１００１）、親種類（列１００３）に関する情報を更新する。制約・種類確認部１０１３は、次に、図１１、図１２に示す採用・抹消に関する情報を制約候補情報１１５と種類候補情報１１６に反映させる（ステップＳ１９０８）する。なお、「キャンセルボタン」１２４２が押下された場合（ステップＳ１９０６“Ｎｏ”）、前記した更新処理はおこなわれず、前記した文書情報変更処理を終了する。
【００６７】
制約・種類確認部１０１３は次に、種類候補情報１１６に基づき文書要素種類情報１１１を更新する（ステップＳ１９０９）。さらに、種類候補情報１１６に基づき設計文書情報１１１２を更新し（ステップＳ１９１０）、制約候補情報１１５に基づき文書要素制約情報１１１３を更新する（ステップＳ１９１１）。
一方、探索情報値１１２の追加確認（列７０４）に関する情報が「しない」となっていた場合（ステップＳ１９０３“Ｎｏ”）、制約・種類確認部１０１３は、図１１、図１２に示す制約・種類出力確認画面に、制約候補情報１１５と種類候補情報１１６を出力（表示）することなく（ステップＳ１９０４〜Ｓ１９０８を経ずに）、ステップＳ１９０９〜Ｓ１９１１の処理を行う。
【００６８】
すなわち、制約・種類確認部１０１３は、（１）候補情報抽出部１０１２により抽出され出力された制約候補情報１１５と種類候補情報１１６とを取得し（ステップＳ１９０１）、（２）探索値情報１１２から追加確認７０４に関する情報を取得し、取得した情報が追加確認することを示していた場合、表示部（出力装置１３）に制約候補情報１１５と種類候補情報１１６とを表示し（Ｓ１９０２、Ｓ１９０３“Ｙｅｓ”〜Ｓ１９０５）、（３）入力部（入力装置１２）を介して先の表示に対する選択入力があった場合、制約候補情報１１５と種類候補情報１１６の対象種類（９０１、１００１）および種類候補情報１１６の親種類１００３に関する情報を更新し（Ｓ１９０６“Ｙｅｓ”〜Ｓ１９０８）、（４）種類候補情報１１６に基づき文書要素種類情報を更新し（Ｓ１９０９）、（５）種類候補情報１１６に基づき設計文書１１１２を更新し、制約候補情報１１５に基づき文書要素制約情報１１１３を更新する（Ｓ１９１０〜Ｓ１９１１）文書情報更新処理を実行する。（６）なお、探索値情報１１２が追加確認しないことを示していた場合は、Ｓ１９０４〜Ｓ１９０８は通過しない。
【００６９】
以上説明のように本発明の実施の形態に係る設計支援装置によれば、計算機本体１０に実装される、図面関係抽出部１０１１と、候補情報抽出部１０１２と、制約・種類確認部１０１３とを含む制約・種類決定処理部１０１（処理部）が、（１）入力装置１２（入力部）を介して選択指定される図面等の文書情報に基づき外部記憶装置１１（記憶部）に記憶された文書情報１１１から指定の文書情報（文書要素種類情報１１１１、設計文書情報１１１２、文書要素制約情報１１１３）を読み出し、同じく外部記憶装置１１に記憶された探索値情報１１２に基づき読み出された文書情報に含まれる設計文書の要素の全ての種類を探索して種類関係情報１１４を生成し（図面関係抽出部１０１１による種類属性関係生成処理）、（２）生成された種類属性関係から外部記憶装置１１に記憶された制約および種類決定情報１１３にしたがい制約および種類の候補（制約候補情報１１５および種類候補情報１１６）を抽出して出力装置１３（表示部）に表示し（候補情報抽出部１０１２による制約・種類候補情報抽出処理）、（３）入力装置１２を介して選択指定される制約および種類の候補に基づき、外部記憶装置１１に記憶された文書情報を更新する（制約および種類確認部１０１３による文書情報更新処理）、一連の処理を実行する構成とすることで、文書を構成する要素の種類および要素間の制約の定義を簡便に行う仕組みを構築することができ、したがって、図面を作成、編集する際の要素の種類、および要素間の制約を定義する際の設計者の負担を大幅に軽減することができる。
【００７０】
前記した種類関係情報１１４、制約候補情報１１５、種類候補情報１１６は、計算機本体１０に含まれる主記憶装置に割当てられ記憶されるものとする。
なお、前記した本発明の実施の形態に係る設計支援装置１によれば、全ての設計文書（ここでは図面）内の要素について、その種類と要素間属性に基づき新たな制約と種類を抽出することが可能であるとして説明したが、対象は図面に限らず、表や画像等、文書として構成される全てのオブジェクトに対して適用が可能である。
【００７１】
図２０は、文書表示編集部１０２による文書情報の表示と制約に基づく編集を実現する処理の流れを示すフローチャートである。
ここでは、図１３にそのデータ構造の一例が示される文書要素種類情報１１１１と、図１４にそのデータ構造の一例が示される設計文書情報１１１２と、図１５にそのデータ構造の一例が示される文書要素制約情報１１１３と、図１６に示される表示画面（モデルエディタ画面１６０１）構成例とを参照しながら説明する。
【００７２】
文書表示編集部１０２は、まず、外部記憶装置１１に記憶された文書情報１１１から、文書要素種類情報１１１１と設計文書情報１１１２と文書要素制約情報１１１３とを取得する（ステップＳ２００１）。文書表示編集部１０２は次に、出力装置１２に、取得した各情報をモデルエディタ画面１６０１上に展開して表示する（ステップＳ２００２）。
続いて、文書表示編集部１０２は、設計者が入力装置１２を操作、例えば、パネル領域１６０２に表示された要素を編集領域１６０３にドラッグアンドドロップすることによって得られる入力情報（アクティブになっている要素の種類、種類属性関係他）を取得する（ステップＳ２００３）。
【００７３】
文書表示編集部１０２は、取得した入力情報と文書要素制約情報１１１３とを比較し、入力情報が文書要素制約情報１１１３に記憶された制約に反する場合（ステップＳ２００４“Ｙｅｓ”）、出力装置１３に文書要素制約情報１１１３の列１５０５に設定されたメッセージ１５０５を表示する（ステップ２００５）。図１６に示す表示画面構成例では、文書要素制約情報１１１３の行１５２３に定義された情報により、ダイアログ１６２４（所属グループは変更できません）が表示される。
一方、入力情報が文書要素制約情報１１１３に記憶された制約に反しない場合（ステップＳ２００４“Ｎｏ”）、文書表示編集部１０２は、その入力情報に基づき文書情報１１１を構成する文書要素種類情報１１１１と設計文書情報１１１２と文書要素制約情報１１１３の内容をそれぞれ更新する（ステップＳ２００６）。
【００７４】
前記したように、計算機本体１０に実装される文書表示編集部１０２が、入力装置１２（入力部）を介して設計文書に使用される要素の間に制約に反する情報が入力された場合、出力装置１３（表示部）にメッセージを表示して制約・種類決定処理部１０１による文書情報１１１の更新を禁止する警告表示処理を実行することにより、制約に反する場合に注意喚起を行うことができ、このことにより、設計ミスを防ぎプロジェクトコストの低減がはかれる。
【００７５】
なお、本発明の実施の形態に係る設計文書編集方法は、例えば、図１に示されるように、記憶部（外部記憶装置１１）と、処理部（計算機本体１０）と、入力部（入力装置１２）と、表示部（出力装置１３）と、を有し、前記記憶部には、設計文書に使用される要素、前記要素の種類、前記要素の種類の間に定義される制約の情報を含む文書情報（文書要素情報１１１１、設計文書情報１１１２、文書要素制約情報１１１３を含む文書情報１１１）と、前記要素の種類の関係を探索するために定義される探察値情報（１１２）と、前記制約および種類を決定するルールが定義された制約および種類決定情報（１１３）と、が記憶された設計支援装置における設計文書編集方法であって、前記入力部を介して選択指定される文書情報に基づき、前記記憶部から指定の文書情報を読み出し、前記探索値に基づき前記読み出された文書情報に含まれる設計文書の要素の全ての種類を探索して種類関係情報を抽出する種類関係情報抽出ステップ（例えば、図１７の種類関係情報抽出処理の各ステップＳ１７０１〜Ｓ１７１７）と、前記生成された種類関係情報から前記制約および種類決定情報にしたがい制約および種類の候補を抽出する候補抽出ステップ（例えば、図１８の制約および種類候補抽出処理の各ステップＳ１８０１〜Ｓ１８１６）と、前記表示部（１３）に表示された制約および種類の候補のうち、前記入力部を介して選択指定される制約および種類の候補に基づき、前記記憶部に記憶された文書情報を更新する文書情報更新ステップ（例えば、図１９の文書情報更新処理の各ステップＳ１９０１〜Ｓ１９１１）と、を有するものである。
【００７６】
本発明の実施の形態に係る設計文書編集方法によれば、設計支援装置が、全ての図面内の要素について、その種類と要素の属性に基づき新たな制約と種類を自動的に抽出し、文書情報の表示とその制約に基づく編集を実現することで、文書を構成する要素の種類および要素間の制約の定義を簡便に行う仕組みを構築でき、したがって、設計文書の要素の種類が可変である場合に特に顕著な効果が得られ、設計者の負担を大幅に軽減することができる。また、入力部を介した設計者による編集操作に対し、制約に反する場合はメッセージを表示することにより、制約に反する場合に注意喚起を行うことができ、設計ミスを防ぎプロジェクトコストの低減がはかれる。
【００７７】
なお、本発明の実施の形態に係るプログラムも前記した設計支援装置に準拠して構成され動作するものであり、設計支援装置１が内蔵するコンピュータ（計算機本体１０）が前記したプログラムを読み込み実行することにより前記した設計支援装置および設計文書編集方法と同様の効果が得られるものである。
【００７８】
また、図１に示す本発明の実施の形態に係る設計支援装置１が有する各構成ブロックの機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。例えば、計算機本体１０に実装される制約・種類決定処理部１０１に含まれる図面関係抽出部１０１１、候補情報抽出部１０１２、制約・種類確認部１０１３、および文書表示編集部１０２におけるデータ処理は、１または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態に係る設計支援装置の内部構成を示す機能ブロック図である。
【図２】本発明の実施の形態に係る設計支援装置で使用される文書要素種類情報のデータ構造の一例を示す図である。
【図３】本発明の実施の形態に係る設計支援装置で使用される設計文書情報のデータ構造の一例を示す図である。
【図４】本発明の実施の形態に係る設計支援装置で使用される表示画面構成の一例を示す図である。
【図５】本発明の実施の形態に係る設計支援装置で使用される文書要素制約情報のデータ構造の一例を示す図である。
【図６】本発明の実施の形態に係る設計支援装置で使用される種類関係情報のデータ構造の一例を示す図である。
【図７】本発明の実施の形態に係る設計支援装置で使用される探索値情報のデータ構造の一例を示す図である。
【図８】本発明の実施の形態に係る設計支援装置で使用される制約・種類決定情報のデータ構造の一例を示す図である。
【図９】本発明の実施の形態に係る設計支援装置で使用される制約候補情報のデータ構造の一例を示す図である。
【図１０】本発明の実施の形態に係る設計支援装置で使用される種類候補情報のデータ構造の一例を示す図である。
【図１１】本発明の実施の形態に係る設計支援装置で使用される制約・種類確認画面上部の画面構成の一例を示す図である。
【図１２】本発明の実施の形態に係る設計支援装置で使用される制約・種類確認画面下部の画面構成の一例を示す図である。
【図１３】本発明の実施の形態に係る設計支援装置で使用される更新された文書要素種類情報のデータ構造の一例を示す図である。
【図１４】本発明の実施の形態に係る設計支援装置で使用される更新された設計文書情報のデータ構造の一例を示す図である。
【図１５】本発明の実施の形態に係る設計支援装置で使用される更新された文書要素制約情報のデータ構造の一例を示す図である。
【図１６】本発明の実施の形態に係る設計支援装置で使用される表示画面構成の一例を示す図である。
【図１７】本発明の実施の形態に係る設計支援装置の種類関係生成処理の流れを示すフローチャートである。
【図１８】本発明の実施の形態に係る設計支援装置の制約および種類候補抽出処理の流れを示すフローチャートである。
【図１９】本発明の実施の形態に係る設計支援装置の文書情報更新処理の流れを示すフローチャートである。
【図２０】本発明の実施の形態に係る設計支援装置の文書情報の表示と制約に基づく編集を実現する処理の流れを示すフローチャートである。
【符号の説明】
【００８０】
１      設計支援装置
１０    計算機本体
１１    外部記憶装置
１２    入力装置
１３    出力装置
１０１  制約・種類決定処理部
１０２  文書表示編集部
１１１  文書情報
１１１１  文書要素種類情報
１１１２  設計文書情報
１１１３  文書要素制約情報
１１２  探索値情報
１１３  制約・種類決定情報
１１４  種類関係情報
１１５  制約候補情報
１１６  種類候補情報
１０１１  図面関係抽出部
１０１２  候補情報抽出部
１０１３  制約・種類確認部
【図１】
0004997025.tif 000002
【図２】
0004997025.tif 000003
【図３】
0004997025.tif 000004
【図４】
0004997025.tif 000005
【図５】
0004997025.tif 000006
【図６】
0004997025.tif 000007
【図７】
0004997025.tif 000008
【図８】
0004997025.tif 000009
【図９】
0004997025.tif 000010
【図１０】
0004997025.tif 000011
【図１１】
0004997025.tif 000012
【図１２】
0004997025.tif 000013
【図１３】
0004997025.tif 000014
【図１４】
0004997025.tif 000015
【図１５】
0004997025.tif 000016
【図１６】
0004997025.tif 000017
【図１７】
0004997025.tif 000018
【図１８】
0004997025.tif 000019
【図１９】
0004997025.tif 000020
【図２０】
0004997025.tif 000021