(57)【要約】【課題】コンピュータシミュレーションの分野において、ユーザーがツールの詳細な仕様を知らなくともシミュレーションすることができる。【解決手段】コンピュータシミュレーションのためのアプリケーションツール１０２、該シミュレーションについて定義されている項目に関連した選択肢を前記アプリケーションツールを操作するための命令に変換するルール３０２を記憶する支援ルール記憶部、ユーザーインターフェース２１０、およびシミュレーション結果記憶部３０６を備えるコンピュータによって、ユーザーによる処理指令を前記ユーザーインターフェース２１０を介して受け付け、該受け付けた処理指令をルールに応じて、アプリケーションツール１０２の命令に変換して実行してツールを動作させ、結果をシミュレーション結果記憶部３０６に格納する。【選択図】    図２
2004302948.tif 000002
【特許請求の範囲】
【請求項１】
演算処理手段と、コンピュータシミュレーションのための複数のアプリケーションツールと、該シミュレーションについて予め定義されている項目に関して入力される処理指令を変換して前記アプリケーションツールのそれぞれを操作するツール命令またはそれらの組み合わせを生成するための第１のルールを記憶する支援ルール記憶部と、ユーザーインターフェースと、シミュレーション結果記憶部とを備えるコンピュータを用いて前記アプリケーションツールを用いるユーザーを支援する方法であって、
前記ユーザーインターフェースを介して前記ユーザーが入力する前記処理指令を前記コンピュータが受け付けるステップと、
前記第１のルールに基づいて前記処理指令を解釈し、前記ツール命令またはそれらの組み合わせを前記コンピュータが生成するステップと、
生成された前記ツール命令またはそれらの組み合わせにしたがって、前記複数のアプリケーションツールを前記コンピュータが順次動作させるステップと、
該動作の結果をシミュレーション結果記憶部に格納するステップと
を含んでなる方法。
【請求項２】
前記コンピュータは、ツール入力データ記憶部をさらに備え、
前記支援ルール記憶部は、前記シミュレーションについて予め定義されている項目に関連して入力される処理入力データを変換して前記アプリケーションツールの動作に用いるツール入力データを生成するための第２のルールをさらに記憶するものであり、
前記ユーザーインターフェースを介して前記ユーザーが入力する前記処理入力データを前記コンピュータが受け付けるステップと、
前記第２のルールに基づいて前記処理入力データを解釈し、前記アプリケーションツールを動作させるためのツール入力データを前記コンピュータが生成し、前記ツール入力データ記憶部に格納するステップと
をさらに含み、
前記アプリケーションツールを順次動作させるステップは、前記ツール入力データ記憶部からツール入力データを読み取るステップを具備した請求項１に記載の方法。
【請求項３】
前記支援ルール記憶部は、アプリケーションツールで用いる既定データを保持するものであり、
前記ルールは、該既定データに基づいて、該アプリケーションツールのツール命令またはツール入力データの少なくとも一部を生成するためのものである、請求項１または２に記載の方法。
【請求項４】
前記支援ルール記憶部は、アプリケーションツールの更新に対応する版番号を保持するものであり、
前記いずれかのステップにおけるツール命令、ツール命令の組み合わせ若しくはツール入力データの少なくともいずれかを切り替えるステップをさらに含む、請求項１または２に記載の方法。
【請求項５】
前記支援ルール記憶部は、アプリケーションツールの更新に対応する版番号を保持するものであり、
コンピュータが前記該版番号にしたがって、前記いずれかのステップの動作対象となるアプリケーションツールを切り替えるステップをさらに含む、請求項１または２に記載の方法
【請求項６】
前記コンピュータは第１コンピュータを含む複数のコンピュータからなり、
該第１コンピュータはユーザーインターフェースを備え、
該第１コンピュータ以外の他のコンピュータが前記いずれかのステップを実行し、
該第１コンピュータと該他のコンピュータが互いに通信可能である、請求項１から４のいずれかに記載の方法。
【請求項７】
請求項１記載のアプリケーションツールは、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）プログラム、ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）プログラム、ＣＡＴ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｔｅｓｔｉｎｇ）プログラムを含む各種シミュレーションプログラムの少なくともいずれかを含むことを特徴とする請求項１または２に記載の方法。
【請求項８】
請求項１から７に記載のいずれかの方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項９】
演算処理手段と、
コンピュータシミュレーションのための複数のアプリケーションツールと、
シミュレーションについて予め定義されている項目に関して入力される処理指令を、前記アプリケーションツールを操作するためのツール命令またはそれらの組み合わせに変換するための第１のルールを記憶する支援ルール記憶部と、
ユーザーインターフェースと、
シミュレーション結果記憶部と
を備えてなる、前記アプリケーションツールを用いるユーザーを支援するコンピュータシステムであって、
前記第１のルールに基づいて前記処理指令を解釈し、前記ツール命令またはそれらの組み合わせを前記コンピュータが生成し、
生成された前記ツール命令またはそれらの組み合わせにしたがって、前記複数のアプリケーションツールを前記コンピュータが順次動作させ、
該動作の結果をシミュレーション結果記憶部に格納するものである、コンピュータシステム。
【請求項１０】
前記コンピュータシステムは、ツール入力データ記憶部をさらに備え、
前記支援ルール記憶部は、前記シミュレーションについて予め定義されている項目に関連して入力される処理入力データを変換して前記アプリケーションツールの動作に用いるツール入力データを生成するための第２のルールをさらに記憶しており、
前記ユーザーインターフェースを介して前記ユーザーが入力する前記処理入力データを前記コンピュータが受け付け、
前記第２のルールに基づいて前記処理入力データを解釈し、前記アプリケーションツールを動作させるためのツール入力データを前記コンピュータが生成し、前記ツール入力データ記憶部に格納し、
前記ツール入力データ記憶部からツール入力データを読み取って前記アプリケーションツールを順次動作させるものである、請求項９に記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）、ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ），ＣＡＴ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｔｅｓｔｉｎｇ）プログラム、各種シミュレーションプログラムでなる複数のアプリケーションツールを使用するコンピュータ上でのシミュレーションの利用環境においてアプリケーションツールの利用者の利便性を高める方法およびそのプログラムに関する。特に、当該アプリケーションツールの利用者（ユーザー）の要求に応じて，必要なファイル類の入力データを準備したり、アプリケーションツールを起動したり、アプリケーションツールを組合せたり、出力データの格納などを行う際に、ユーザーが個別のアプリケーションツールに関わる煩雑な設定や手順の習得を行うことなく複数のアプリケーションツールを使用することができる方法、プログラムおよびコンピュータシステムに関する。
【０００２】
【従来の技術】
従来より、コンピュータ上でＣＡＤ，ＣＡＭ，ＣＡＴ、ならびに構造解析シミュレーションなどの各種のシミュレーションを行なう際に、それぞれの目的に合わせて複数のアプリケーションツール（以下、「ツール」という）を使い分けることが行なわれている。これらの複数のツールを使用する際には、ユーザーはそのツールごとの煩雑な設定や手順の習得を行う必要があった。しかし、複数のツールを使いこなすには，それぞれのツールの操作（オペレーション）に習熟する必要があり、新たなツールを導入したり、複数のツールを利用する際の大きな障害となっていた。
【０００３】
またツールベンダーなどのツールの提供者がインターフェースを提供する際には、そのインターフェースでユーザーが複数のツールを利用できるようにしなくてはならず、複数のツールに適切に入出力を行なうためのユーザーインターフェースを開発する必要がある。このようなインターフェースでは、対応するツールの種類や分野が増えるほどに多くの機能を単一のインターフェースに組み込む必要が生じる。したがって、インターフェースが複雑な操作を必要とし、一層、ユーザーのオペレーションが煩雑になる傾向にあった．
【０００４】
また、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の分野などでは、複数のツールで使用できるように入出力ファイルに関するフォーマットなどの規格を規定することが行われている。このような例として、ＩＧＥＳ（Ｉｎｉｔｉａｌ  Ｇｒａｐｈｉｃｓ  Ｅｘｃｈａｎｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ），ＳＴＥＰ（Ｓｔａｎｄａｒｄ  ｆｏｒ  ｔｈｅ  Ｅｘｃｈａｎｇｅ  ｏｆ  Ｐｒｏｄｕｃｔ  Ｍｏｄｅｌ  Ｄａｔａ，ＩＳＯ  １０３０３））と呼ばれる規格がある。この場合であっても、多くのツールを含めるものとすると規格が非常に複雑になってしまい、個別のツールの改良やバージョンアップに対応することは困難である。
【０００５】
コンピュータシミュレーション分野においてはツール間の相違はＣＡＤの分野よりも更に大きい。つまり、コンピュータシミュレーションの分野は、ツール自体の機能やオペレーションが複雑であり、ツールのバージョンアップや、扱い得る対象範囲の拡大や変更によって、各ツールに加えられる変化が激しく、それに追随することは、共に困難である。したがって、複雑さに対応しつつ、変化に耐え得る規定を作る必要があり、ツール間で共通の規格を作ることは事実上不可能である。
【０００６】
特許文献１には、複数のツールを用いるコンピュータシステムにおいて、統合的に管理を行なうための方法やコンピュータシステムが開示されているが、そのコンピュータのツールを使用するユーザーが新たなツールや異なる操作のための知識を要求するツールを使用する際に支援する方法やコンピュータシステムは開示されていない。
【０００７】
【特許文献１】
特開２０００−２２２３１６号公報、請求項１
【０００８】
【発明が解決しようとする課題】
本発明は、上記従来技術の問題点の少なくともいくつかを解決することを課題とする。
【０００９】
【課題を解決するための手段】
本発明では、かかる課題に対し、まず、システムエージェントおよび情報構成空間という概念を基礎とする。
【００１０】
システムエージェントの概念は、ソフトウエア上の概念であるが、コンピュータに備えられるルールに応じたコンピュータの動作が、仮想実空間における動作主体（システムエージェント）による動作であるかのように捉える概念である。システムエージェントにはユーザーインターフェースを通じてユーザーによって要件情報が与えられる。要件情報とは、シミュレータを稼動するために必要となる情報であり、処理を行なう命令（処理指令）や、処理において入力として用いるデータ（処理入力データ）がある。エージェントの取る行動は、何らかのルールとしてコンピュータに予め備えられるが、本発明ではユーザーの作業を支援する支援ルール記憶部に蓄えられる。
【００１１】
情報構成空間とは、各アプリケーションツールの入出力に関わるファイルなどの情報をある意味付けに従い階層的に管理するための情報空間の一種である。各アプリケーションツールの入出力に用いられるファイル（データファイル、設定ファイル）についての情報は、この情報構成空間のサブスペースに対応づけされて保持される。ここで、この「意味付け」は、プログラマがその目的に合わせて設定する情報空間の構成における規約において、実際にユーザーがＣＡＤ，ＣＡＭ，ＣＡＴ，さらには構造シミュレーションプログラムのツールを順次組み合わせて一連の仕事（ジョブ）をコンピュータ上で実行させるとき（以下、これらを総称して「シミュレーション」という）、実際のユーザーのシミュレーションの目的上必要となる実空間におけるシミュレーション対象物の属性や、該対象物をシミュレーションする上での一般的に必要とされる設定項目に対し、ユーザーが理解すべき最低限の事項を表わす内容をいう。ここで、一般に、ユーザーがシミュレーションを行なう場合には、シミュレーションの目的に合わせて「意味付け」を念頭に自らのシミュレーションを立案する。一方、ユーザー自身の本来の目的以外の情報であっても、特定のアプリケーションツールを首尾よく動作させる情報や、そのツール固有の操作命令（以下、ツール命令という）、ツール固有の入力データフォーマット（以下、このフォーマットにおけるデータを、ツール入力データという）なども必要である。これらは、汎用性が低いにもかかわらず目先のシミュレーションに必要なものである。情報構成空間では、ユーザーが理解すべき事項については、予め意味付けに従って項目を定義しておく。また、アプリケーションツールを動作させる情報は、情報構成空間の中で、実体的なデータを構成する。以下、情報構成空間のうち、前者の意味付けを保持する部分を抽象構造層、後者の実体的なデータを保持する部分を個別実体層という。
ユーザーは、ユーザーインターフェースに対して情報（要件情報、つまり、処理命令や処理入力データ）を入力したり準備する。この際には、抽象構造層に定義された項目に応じた要件情報を準備する。
【００１２】
アプリケーションツールをこのコンピュータシステムに登録する際には、アプリケーションツールの固有の動作手順やデータフォーマット等と、抽象構造層に定義された項目との間の変換規則をルールとして支援ルール記憶部に登録する。
システムエージェントは、この変換規則のルールに基づいて動作する。つまり、ユーザーの入力した要件情報（処理指令や処理入力データ）を、ツール命令によって表現したり、ツール固有の入力ファイルにあわせてツール入力データに変換してその入力ファイルに書き込むという動作をする。
【００１３】
より具体的には、システムエージェントは、支援ルール記憶部のルールに従って、各アプリケーションツールが動作するために必要な情報へと要件情報を展開したり、準備したり、必要に応じて複数のアプリケーションツールを組み合わせたりして、各アプリケーションツールを起動する。アプリケーションツールの動作終了後には、システムエージェントは、該ルールに従って、出力ファイルなどを情報構成空間に対応させる保管処理などの必要な終了処理を行い、ユーザーインターフェースを介して処理結果をユーザーに伝える。
【００１４】
情報構成空間の構造が予め定義された項目を有する抽象構造層を持つと、その抽象構造層によってアプリケーションツールの動作が抽象的に定義できる。抽象構造層をもつことは、複数のアプリケーションツールを理解するための共通の定義を与える情報を構築することに対応し、人間の思考に合致しているものであるが、これは単にそれのみの効果を有するものではない。即ち、アプリケーションツールを開発するソフトウエア開発ベンダーにとっては、アプリケーション間の相異を一旦抽象化した表現で繋ぎ合わせるという利点を有する。この利点のため、ソフトウエア間の当該各アプリケーションツールが使用するデータに関するフォーマットなどを含む各種規定の詳細な構成を、異なるツール間で直接変換する必要は無くなる。つまり、各アプリケーションツールの入力やデータの仕様は各アプリケーションツールのもののままで、その仕様と抽象構造層の各項目との関連をつけるための外部コマンド体系やデータ間の変換ルールをアプリケーションツールのベンダーが用意するだけで、ユーザーに共通した操作方法を提供し、概念のレベルでの互換性を提供することが可能となる。このため、アプリケーションツール間の動作仕様等を調整すること、規格を策定すること、各アプリケーションツールで使用される入出力ファイルフォーマットを規定すること等は原則として不要である。
【００１５】
情報構成空間とは、コンピュータにおける通常の記憶装置や記録装置に構成された単一または複数のファイルやリストや、それらの集合からなるディレクトリやその集合などにより張られる空間等の情報空間であり、任意の記憶装置（例えば、ハードディスク装置、磁気テープ装置、光ディスク装置、半導体メモリー等）において実現される。単独のコンピュータにおける記憶装置等に限られるものではなく、ネットワークにより接続された複数のコンピュータにおける記憶装置の集合、関連付けを保持するリレーショナルデータベースのデータファイル等であっても良い。この情報構成空間記憶部とは、任意のソフトウエア手法により、論理的に他と区別し得るものであれば良い。
【００１６】
新たなアプリケーションツールを組み込むことや、アプリケーションツールの仕様変更、アプリケーションツールの削除は、個別実体層の構成の変更を意味する。この組み込みに応じて情報構成空間に修正や追加が必要となった場合には、情報空間を適宜修正等して対応することができる。本発明においては、その修正に併せて、支援ルール記憶部のルールを修正する。この修正は、新たなアプリケーションツールが備えるコマンド体系、そのコマンドへのパラメータの渡し方、必要なファイル等を、それまでの抽象構造層に合わせて新たにルールの一部に組み込むことや、変更すること、削除することに対応する。ユーザーは、そのような組み込みを特に意識することなく、予め定義された項目のみを意識して新たなアプリケーションツールを使用することが出来る。
【００１７】
上記概念を具体化するために、本発明では、演算処理手段と、コンピュータシミュレーションのための複数のアプリケーションツールと、該シミュレーションについて予め定義されている項目に関して入力される処理指令を変換して前記アプリケーションツールのそれぞれを操作するツール命令またはそれらの組み合わせを生成するための第１のルールを記憶する支援ルール記憶部と、ユーザーインターフェースと、シミュレーション結果記憶部とを備えるコンピュータを用いて前記アプリケーションツールを用いるユーザーを支援する方法であって、前記ユーザーインターフェースを介して前記ユーザーが入力する前記処理指令を前記コンピュータが受け付けるステップと、前記第１のルールに基づいて前記処理指令を解釈し、前記ツール命令またはそれらの組み合わせを前記コンピュータが生成するステップと、生成された前記ツール命令またはそれらの組み合わせにしたがって、前記複数のアプリケーションツールを前記コンピュータが順次動作させるステップと、該動作の結果をシミュレーション結果記憶部に格納するステップとを含んでなる方法が提供される。
【００１８】
アプリケーションツールとは、例えばＣＡＤ，ＣＡＭ，ＣＡＴ、ならびに構造解析シミュレーションなどの処理プログラムであり、有限要素法や境界要素法等の数値計算手法により実現象をシミュレーションするためのシミュレーションプログラム、あるいは、シミュレーションした結果を視覚化表示するためのアプリケーションプログラムが良く知られている。
【００１９】
予め定義されている項目とは、情報構成空間の抽象構造層における意味付けを反映するように事前に定義されている項目である。この項目は、その情報構成空間の一部として、例えば、コンピュータのファイルシステムにおけるディレクトリ構造や、何らかのファイルのデータといった形で具体的に構成され得る。これらの項目は、強度計算を行なう場合には、「材料」や、その材料の弾性率などの物性値の項目などである。
【００２０】
ユーザーインターフェースとは、ＣＵＩ（Ｃｈａｒａｃｔｅｒ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、ＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）システム等に代表されるユーザーからの入力を受け付けたり、ユーザーに出力を提示するものであり、ソフトウエアによる情報処理がハードウエアを用いて具体的に実現された任意のユーザーインターフェース手段である。このユーザーインターフェースによって、ユーザーは、シミュレーションや解析の処理の対象物について行ないたい操作や処理をコンピュータに伝えることができる。ユーザーは、ＧＵＩのメニュー表示、マウス等によるポインティング操作により、処理指令を選択して入力する。ユーザーに対しては、コンピュータにより処理の対象物が提示される。なお、ＣＵＩでは、ユーザーは、処理指令として、選択可能なコマンド群から選択したコマンドをキーボード等から入力する。
【００２１】
ユーザーインターフェースには、処理指令や処理入力データなどの要件情報を与えるための機能が実現されている。該機能には、コンピュータに対する命令が実装されている。この機能に基づく動作は、概念上はシステムエージェントの動作として説明するが、コンピュータの行なう動作である。この動作はユーザーからは感知されるものであっても、また、感知されないものであってもよい。
【００２２】
コンピュータは、このシステムエージェントの動作を、イベントドリブンタイプのプログラムなどのユーザーの指示を受けて動作するプログラムによって実現する。このプログラムは、様々なソフトウエアの概念に基づき、例えば、ソフトウエアモジュール、常駐ソフトウエア、デーモンなどの形態によって実現される。また、マルチタスク環境においてバックグラウンドで処理を実行しているものなども好適である。システムエージェントは、ユーザーインターフェースと、アプリケーションツールの間において、ユーザーの作業目的に適切にツールを動作させるためにユーザーを支援する働きをする。この支援には、シミュレーションの内容上の目的に関心をもつユーザーの命令（処理指令）に対して、アプリケーションツールの動作に必要な命令（ツール命令）へと変換する作業を、ルールに基づいて行なう。
【００２３】
このルールは、支援ルール記憶部に、例えば、実行可能プログラム、スクリプトプログラム、シェルコマンドプログラムなどの実行可能プログラムやソースコードなどのデータとして蓄えられる。支援ルール記憶部とは、任意のソフトウエア手法によって論理的に識別可能な単一または複数の記憶装置やコンピュータ上のファイルである。例えば、上記データを含むファイルやファイル群、環境変数としてコンピュータのオペレーティングシステムやシェルが格納するデータなどである。
【００２４】
ユーザーがユーザーインターフェースに作業要求を行なうと、該作業要求データに応じて、コンピュータ（システムエージェント）は、個別のアプリケーションツールについての入出力ファイルの設定、アプリケーションツールの設定、出力ファイルの情報の格納、および出力結果の通知を行う。特に処理指令とツール命令の関係を記述するルールを、第１のルールという。ツール命令は、単独のものであっても、ツール命令同士が組合わられて個々のツール命令を順次処理するものであっても良い。
【００２５】
ここで、第１のルールは、処理指令を、ツールの用いる命令形式であるツール命令に変換するものである。ここで、ユーザーインターフェースにユーザーが入力する際には、処理指令は各項目に関して指定されるものである。したがって、第１のルールは、予め定義された項目に関して入力される処理指令を、個別のアプリケーションツールに依存したツール命令に展開するための具体的な手順を保持するものである。典型的には、処理指令を可能な限り単純な単位命令の組み合わせて再度表現し直すように展開するための処理ルールと、さらにその単位命令を各ツール命令に置き換える処理ルールとを含んでいる。複数のアプリケーションツールを使用すべき処理指令である場合には、アプリケーションツールを切り替えるルールを含んでいることができる。
【００２６】
処理指令は、ユーザーによって入力され、ユーザーインターフェースを介してシステムエージェントに伝えられる。ここで、処理指令の入力とは、処理指令をコマンドラインに記述すること、処理指令を予め記述したファイルを指定すること、処理指令に関連付けられて命令の動作を指定できるＧＵＩ上のボタンをマウスなどでクリックすることなど、各種の命令の指定方法をいう。
【００２７】
また、本発明においては、前記コンピュータは、ツール入力データ記憶部をさらに備え、前記支援ルール記憶部は、前記シミュレーションについて予め定義されている項目に関連して入力される処理入力データを変換して前記アプリケーションツールの動作に用いるツール入力データを生成するための第２のルールをさらに記憶するものであり、前記ユーザーインターフェースを介して前記ユーザーが入力する前記処理入力データを前記コンピュータが受け付けるステップと、前記第２のルールに基づいて前記処理入力データを解釈し、前記アプリケーションツールを動作させるためのツール入力データを前記コンピュータが生成し、前記ツール入力データ記憶部に格納するステップとをさらに含み、前記アプリケーションツールを順次動作させるステップは、前記ツール入力データ記憶部からツール入力データを読み取るステップを含むものとすることができる。
【００２８】
処理指令に加え、何らかのデータをシミュレーションの入力データ（ツール入力データ）として用いる場合には、ユーザーは、ツールに依存しない処理入力データを入力する。このために、予め定義されている項目に関連して入力される処理入力データからツール入力データを生成するための第２のルールが用いられる。
第２のルールは、処理入力データを、ツールの用いるデータの形式であるツール入力データに変換するものである。ここで、ユーザーインターフェースにユーザーが入力する際には、処理入力データは各項目に関して指定されるものである。したがって、第２のルールは、予め定義された項目に関して入力される処理入力データを、個別のアプリケーションツールに依存したツール入力データに展開するための具体的な手順を保持するものである。典型的には、予め定義された項目に関して入力される処理入力データを、分割可能な単位データに分離して、用いるアプリケーションツールに適合するように編集しなおしたり、補間処理などの適当な演算処理を行なったりするための処理ルールと、さらにその単位データやそれらの編集後のものを各ツール入力データとして用いることの出来るフォーマットに変換する処理ルールとを含んでいる。処理入力命令や処理入力データが複数のアプリケーションツールを使用すべきものである場合には、複数のアプリケーションツールのツール入力データを生成するルールとすることができる。
【００２９】
さらに本発明においては、前記支援ルール記憶部は、アプリケーションツールで用いる既定データを保持するものであり、前記ルールは、該既定データに基づいて、該アプリケーションツールのツール命令またはツール入力データの少なくとも一部を生成するためのものとすることができる。
【００３０】
既定データとは、ツールの動作ごとに定め直す必要は無いが、ツールの使用には欠かせないデータを意味する。例えば、有限要素法に用いられるメッシュの生成規則を定めるデータなどは、標準的なデータが様々なシミュレーションを行なうことができるが、そのような場合には、既定データとしてこのメッシュ生成規則データを持つことが出来る。
【００３１】
本発明においては、前記支援ルール記憶部は、アプリケーションツールの更新に対応する版番号を保持するものであり、前記いずれかのステップにおけるツール命令、ツール命令の組み合わせ若しくはツール入力データの少なくともいずれかを切り替えるステップをさらに含むものとすることができる。
【００３２】
また、本発明においては、前記支援ルール記憶部は、アプリケーションツールの更新に対応する版番号を保持するものであり、
コンピュータが前記該版番号にしたがって、前記いずれかのステップの動作対象となるアプリケーションツールを切り替えるステップをさらに含むものとすることができる。
【００３３】
版番号は、例えば、アプリケーションツールそれ自体をアップグレードしたり、アプリケーションツールとして新たなものをインストールしたり、それまで使用していたアプリケーションツールの使用を停止したりする場合において、それまでの動作とその後の動作を管理するための番号であり、文字列データなどである。この版番号は、例えば、オペレーティングシステムの環境変数などとして保持したり、特別なファイルの内容として保持したりすることが出来る。その版番号に応じてルールが動作を変更する。
【００３４】
アプリケーションツールのアップグレードによって動作やコマンド体系が変更されると、アプリケーションツールの動作は、ツール命令、ツール命令の組み合わせ、ツール入力データによって最終的に定まるものであるので、動作の変更にはこれらの少なくともいずれかが変更される。また、新たなアプリケーションツールをインストールすると、新たな機能が使用可能になったりこれまで既存のアプリケーションツールに分担させていた機能を振り分けなおすことが出来るので、同様にツール命令、ツール命令の組み合わせ、ツール入力データが変更される。
【００３５】
これらの変更を、版番号の管理によらずにルールの書き換えのみで行なうと、変更等されたアプリケーションツールの以前のものをユーザーが使用したいと考えても使用できなくなったり、ルールの切り換え時のメンテナンスの労力が増大する。支援ルール記憶部の一部として版番号を用いると、ユーザーにいずれの版を用いるか選択させることが可能になるし、また、本発明の方法を用いるコンピュータシステム全体を稼動させながらであっても、容易にアプリケーションツールのメンテナンスを行なうことが出来る。
【００３６】
本発明においては、前記コンピュータは第１コンピュータを含む複数のコンピュータからなり、該第１コンピュータはユーザーインターフェースを備え、該第１コンピュータ以外の他のコンピュータが前記いずれかのステップを実行し、該第１コンピュータと該他のコンピュータが互いに通信可能である方法が提供される。ユーザーインターフェースについては、特段メンテナンスを要しないものであるため、例えば、ユーザーインターフェースをクライアントコンピュータにおいて、それ以外をサーバーにおいて動作させることが出来る。
【００３７】
また、単にサーバークライアント形式のみならず、計算処理を行なうエンジン部分を計算処理専用のコンピュータに行なわせることもできる。ＡＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）形式で処理サービス（役務）を提供するものとしたり、ユーザーインターフェースをインターネットブラウザ等の汎用ソフトウエアと、抽象構造層の構成を反映して作成されたウェブページとの組み合わせによって提供しても良い。また、計算処理を分散させてグリッドコンピューティングの手法によって様々なコンピュータで計算処理を分散させても良い。
【００３８】
さらに本発明では、アプリケーションツールは、ＣＡＤプログラム、ＣＡＭプログラム、ＣＡＴプログラム、各種シミュレーションプログラムを含むことができる。また、上述のいずれかの方法をコンピュータに実行させるコンピュータプログラムとすることが出来る。
【００３９】
本発明では、演算処理手段と、コンピュータシミュレーションのための複数のアプリケーションツールと、シミュレーションについて予め定義されている項目に関して入力される処理指令を、前記アプリケーションツールを操作するためのツール命令またはそれらの組み合わせに変換するための第１のルールを記憶する支援ルール記憶部と、ユーザーインターフェースと、シミュレーション結果記憶部とを備えてなる、前記アプリケーションツールを用いるユーザーを支援するコンピュータシステムであって、前記第１のルールに基づいて前記処理指令を解釈し、前記ツール命令またはそれらの組み合わせを前記コンピュータが生成し、生成された前記ツール命令またはそれらの組み合わせにしたがって、前記複数のアプリケーションツールを前記コンピュータが順次動作させ、該動作の結果をシミュレーション結果記憶部に格納するものである、コンピュータシステムが提供される。
【００４０】
本発明では、さらに好ましくは、前記コンピュータシステムは、ツール入力データ記憶部をさらに備え、前記支援ルール記憶部は、前記シミュレーションについて予め定義されている項目に関連して入力される処理入力データを変換して前記アプリケーションツールの動作に用いるツール入力データを生成するための第２のルールをさらに記憶しており、前記ユーザーインターフェースを介して前記ユーザーが入力する前記処理入力データを前記コンピュータが受け付け、前記第２のルールに基づいて前記処理入力データを解釈し、前記アプリケーションツールを動作させるためのツール入力データを前記コンピュータが生成し、前記ツール入力データ記憶部に格納し、前記ツール入力データ記憶部からツール入力データを読み取って前記アプリケーションツールを順次動作させるコンピュータシステムが提供される。
【００４１】
【発明の実施の形態】
以下図面を用いて、本発明の方法およびコンピュータシステムの実施の形態を示す。
図１は、シミュレーションを行なうシミュレーションコンピュータ１００とユーザーインターフェースをユーザーに提供するクライアントコンピュータ２００とシステム全体の運用管理を行なうサーバー３００とが互いにネットワーク２によって接続されているコンピュータシステム１を示している。
【００４２】
シミュレーションコンピュータ１００には、シミュレーションの対象となるオブジェクト２０２についての構造強度の数値計算シミュレーションを行なう強度計算シミュレータ１０２と、強度計算した結果を解析するための解析ツール１０４と、オブジェクト周りの流体計算を行なう流体計算シミュレータ１０６とがインストールされている（以下、これらを特に区別しないときは、単にアプリケーションツールという）。
【００４３】
クライアントコンピュータ２００を操作するユーザーは、オブジェクト２０２に対して具体的な計算を行なおうとしたり、解析を行なおうとする。ユーザーは、行ないたい計算や解析に併せてオブジェクト２０２を選択し、目的とする機能をユーザーインターフェース２１０のボタン表示２１２、２１４等から選ぶ。この際、適当なコマンドをキーボードからタイプしたり、対応するコマンドやデータ等の条件を指定する設定ファイルを読み込ませるためのコマンド（指令）を入力することも出来る。これにより、ユーザーインターフェース２１０にいずれのオブジェクトに付いて操作するのか、あるいは、選択される機能が要求選択の情報としてコンピュータシステム１に伝達される。
【００４４】
図２は、コンピュータシステム１を全体として捉えた場合の本発明の概念を端的に示すシステムの概念図である。本発明では、コンピュータシステム１により実現される仮想空間に存在するシステムエージェント４００を観念することができ、このシステムエージェント４００にユーザーとアプリケーションツール１０２、１０４、１０６等との間の支援を行なわせることが出来る。
【００４５】
この際、ルール３０２がこのシステムエージェント４００の具体的な支援内容を記述している。ルール３０２は、図１においてはサーバー３００に備えられており、サーバー３００の記憶装置３０４が支援ルール記憶部として機能している。また、サーバー３００には、シミュレーション結果ファイル３０６も備えられ、シミュレーション結果記憶部としても機能している。ルール３０２に従って各アプリケーションツールを設定し、動作させることによってユーザーの目的とする計算や解析が実行されると、各アプリケーションツールが作成した出力ファイルやその結果、終了信号をシステムエージェント４００が受け取る。この際、再びルール３０２に応じて各アプリケーションツールの結果等をユーザーにとって「意味付け」された項目へと置き換えて、いずれかのコンピュータのファイルに書き戻したり、ユーザーインターフェース２１０に表示する。ユーザーは、そのファイルの内容や表示される情報によって、目的とする計算や解析の結果を得る。
【００４６】
図２においては、上記の処理フローにしたがって処理される具体例を二つ記載している。一つは、オブジェクトのメッシュ分割の処理を行なう場合である、他の一つは、オブジェクト上の２点間の角度（当該２点間の直線が球座標系において示す傾斜角）を解析する処理を行なう場合である。
【００４７】
メッシュ分割を行なうには、オブジェクトをメッシュ分割したいと考えたユーザーの要求に応じて、ユーザーインターフェース２１０はそのオブジェクトの識別ＩＤを取得し、メッシュ分割要求コマンドを発行する。このコマンドを受けると、システムエージェント４００は、ルールに従ってメッシュ分割に適したツール、例えば、強度計算ツール１０２を選択する。ルール３０２には、メッシュ分割を行なう場合のアプリケーションツールが予め記述されている。この記述においては、オブジェクトの形状は、例えば、ＩＧＥＳ（Ｉｎｉｔｉａｌ  Ｇｒａｐｈｉｃａｌ  Ｅｘｃｈａｎｇｅ  Ｓｙｓｔｅｍ）のフォーマットで表現されるべきこと、メッシュ生成条件データも指定すべきことが直接または間接に内包されている。ユーザーが直接操作するオブジェクトのデータは、ユーザーインターフェース２１０の入力仕様として定められ、その形式は任意である。メッシュ生成については、メッシュ生成を要求する機能は設けられているが、その生成の条件を設定する機能は無い。ルール３０２には、設定ステップとして、ユーザーインターフェース２１０におけるオブジェクトのデータをツールが要求するＩＧＥＳのフォーマットに変換する規則がさらに記述されており、また、メッシュ生成条件について用いる既定データが記述されている。さらに実行ステップとして、ルール３０２には、メッシュ分割を行なうツールを起動するステップが記載されている。ツールは実行結果としてツールのフォーマットで出力ファイルを生成したり、実行完了通知を発行する。ルール３０２には、この出力ファイルの生成や実行完了通知の後における実行結果取得ステップとして、得られたメッシュデータをユーザーインターフェースに読み込ませるために、ツールのデータフォーマットを読み込み可能にするステップが記述されている。これにより、ユーザーインターフェースはメッシュデータの表示が可能となる。
【００４８】
別の例として、角度を調べる場合は、オブジェクト２０２上に２点を選択して角度を求めるユーザーの要求に応じて、ユーザーインターフェース２１０はそのオブジェクトの識別ＩＤを取得し、角度測定要求コマンドを発行する。このコマンドを受けると、システムエージェント４００は、ルールに従って角度を求めるのに適したツール、例えば、解析ツール１０４を選択する。ユーザーインターフェース２１０では、角度を求める機能のボタン表示を選ぶと、マウスカーソルが十字型に変わり、２点を指定するようにユーザーに促す。ユーザーからの２点の位置指定を受け付けると、ユーザーインターフェースはその位置情報を出力する。システムエージェント４００は、そのデータを、ルール３０２に従って、解析ツール１０４に渡すための入力フォーマットに書き換える。そして、その解析ツールを直接起動するコマンドを発行して、解析ツール１０４を起動する。起動しされた解析ツールは、位置情報を自らのフォーマットで受け取ってその結果を出力すると共に、実行完了通知を発行し、メッシュ分割の場合と同様に、ユーザーインターフェース２１０を通じてユーザーに結果を提示する。
【００４９】
図１に戻って、ユーザーから見た本実施の形態にかかるコンピュータシステム１の操作を説明する。
ユーザーは、各クライアントコンピュータ２０２に備えられているマウスなどのポインティングデバイスや、それと連動するウインドウグラフィックシステムなどによって提供されるユーザーインターフェース２１０において、オブジェクト２０２をインタラクティブに扱うことが出来る。ユーザーがオブジェクト２０２についてメッシュに分割したいと考えると、ユーザーはユーザーインターフェース２１０を介して、オブジェクト２０２を指定し、さらに、そのオブジェクトについて行い得るオペレーションを表示するボタン表示２１２（計算命令に関連するもの）を選択して、クライアントコンピュータ２００にユーザー自身の選択した要求を伝達する。
【００５０】
ユーザーインターフェース２０２のボタン表示２１２がユーザーによって選択されると、クライアントコンピュータ２００は、その選択要求された情報をサーバー３００に伝達する。サーバー３００は、その選択要求に沿ってボタン表示２１２に関連付けされたスクリプトプログラム３０２を起動する。
このスクリプトプログラム３０２は、ＪａｖａＳｃｒｉｐｔ（登録商標）やＶＢＳｃｒｉｐｔ（登録商標）といったスクリプトプログラムとすることが出来る。
【００５１】
図３に、本発明の基礎となっている情報構成空間４４０の構成を示す。その一部である抽象構造層４５０においては、意味付けにしたがってオブジェクトの様々な属性が各項目によって表現されている。その各属性には、その処理に関わる内容をさらに細分化した属性がツリー構造で示されている。このツリー構造は、例えば、コンピュータにおけるファイルシステムのツリー構造などであり、各項目がそれぞれのディレクトリとなっている。オブジェクトには、形状４５２や位置４５４、材料条件４５６が属性としてあり、計算のための条件として、拘束条件４５８、荷重条件４６０、計算格子条件４６２などがある。またオブジェクトに対して解析した結果が解析結果３０６（シミュレーション結果記憶部の一部）として定義される。
【００５２】
また、個別実体層４８０も、コンピュータのファイルシステムにおける情報構成空間４４０の一部であり、各アプリケーションツールのデータ４８２、４９０を保持する。図３では、ツールＡの入力データ４８２においては、オブジェクトについての形状４５２および位置４５４はａ、−ＣＡＤのＣＡＤデータの形式４８４で与えられ、材料条件４５６、拘束条件４５８および荷重条件４６０は、ｆｉｌｅ１（４８６）に格納される。これに対して、別のツールＢの入力データ４９０においては、オブジェクトについての形状４５２、位置４５４、材料４５６がｂ−ＣＡＤのＣＡＤデータの形式４９２で与えられ、オブジェクトについての拘束条件４５８、荷重条件４６０は、ｆｉｌｅ５（４９４）に格納される。図３に示されたこのような対応関係は、情報構成空間そのものが保持しているのではなく、ルール３０２にしたがってシステムエージェント４００が動作した結果得られる対応関係である。なお、抽象構造層にある項目のいずれかには、既定データが設定されていて、ルール３０２に従って、特にユーザーからの指示が無い場合には既定データを用いるものとすることが出来る。この例として、計算格子条件４６２は、既知データが格納されており、例えばツールＡではファイル２（４８８）に対応付けられる。解析等した結果は、処理結果のファイルとして、ツールＡではｆｉｌｅ４（４８９）、ツールＢではｆｉｌｅ７（４９５）として得られる。解析結果３０６にエージェントによって変換して格納される。
【００５３】
このツールＡ、ツールＢは、互いに類似する分野のツールである必要は無く、シミュレーションに関連している全く異なる目的のツールであってもよい。例えばツールＡは強度計算ツールで、ツールＢは流体計算ツールとすることが出来る。
【００５４】
図４に、ある面を有するオブジェクトにおいて、面に拘束条件を付加する動作を規定するルール３０２の部分の例を示す。このルールの部分では、グローバル変数ｐｉｃｋｅｄ＿ｃｏｏｒｄ，  ｇａｉｎｅｄ＿ｎｏｄｅ＿ｎｕｍｂｅｒ，    ｇａｉｎｅｄ＿ｃｏｏｄ，    ｇａｉｎｄｅｄ＿ｓｕｒｆａｃｅ，    ｇａｉｎｅｄ＿ｎｏｄｅ＿ｎｕｍｂｅｒｓに対してプロシージャＧｅｔＮｏｄｅＮｕｍｂｅｒ，  ＧｅｔＣｏｏｒｄ，  ＧｅｔＳｕｒｆａｃｅ，  ＧｅｔＮｏｄｅＮｕｍｅｒｓＦｒｏｍＧｅｏｍ，  ＧｅｔＮｏｄｅＮｕｍｂｅｒｓＦｒｏｍＦｅｍ，  ＡｄｄＲｅｓｔｒａｉｎｇＣｏｎｄｉｔｉｏｎが順次作用して、“最終的に位置を指示してその面に関連する節店に拘束条件を付加する”という機能を実現するマクロ関数ＡｄｄＲｅｓｒａｉｎｔＣｏｎｄｔｉｏｎＦｒｏｍＰｉｃｋｅｄＣｏｏｒｄを構成する様子を示している。このマクロ関数は、例えば、図１におけるユーザーインターフェース２１０のいずれかのボタン表示に対応付けられており、ユーザーがいずれかのボタン表示を選択した際に起動されるようにされている。このマクロ関数は、それ自体はアプリケーションツールで実行可能なものではなく、また、上記各関数も、それ自体はアプリケーションツールで実行可能なものではない。ここで、「オブジェクトＺ．メッシュ」とは、シミュレーションの対象がオブジェクトＺであるときに、このオブジェクトＺについて予め定義された「メッシュ」というプロパティ（属性）について操作を行なうことを示しており、例えば図３における計算格子条件４６２を走査することに対応する。このように、上記角プロシージャの操作は、抽象構造層の各項目についてのものとなる。
【００５５】
図５に、上記関数のうち、最初に用いられるＧｅｔＮｏｄｅＮｕｍｂｅｒ関数をスクリプト言語で記述した例を示す。行５０４にあるＧｅｔＮｏｄｅＮｕｍｂｅｒｆｒｏｍＴｏｏｌ＿Ａ１というコマンドは、ツールＡ１によって節点の番号を得るためのコマンドである。このコマンドは、ツールＡ１のベンダーがツールＡ１の機能を用いるために外部コマンドとして予め準備しているものであり、本発明におけるツール命令である。同様に、行５０６および５０８には、ツールＡ２およびＡ３を用いる際のコマンドが列記されている。ツールＡ１〜Ａ３のいずれのコマンドを用いるかは、変数ｉｎｐｕｔ＿ｄａｔａ＿ｔｙｐｅの値によってｉｆ文による制御がされる。この変数がｔｏｏｌ＿Ａ１〜ｔｏｏｌ＿Ａ３のいずれとなるかは、例えば元のマクロ関数ＡｄｄＲｅｓｒａｉｎｔＣｏｎｄｔｉｏｎＦｒｏｍＰｉｃｋｅｄＣｏｏｒｄで用いるＧｅｔＮｏｄｅＮｕｍｂｅｒ以外の他の関数に対応するものがそれぞれ準備されているか、などの基準によって、ＧｅｔＮｏｄｅＮｕｍｂｅｒ関数が呼び出される前にグローバル変数として決定されている。したがって、ＡｄｄＲｅｓｒａｉｎｔＣｏｎｄｔｉｏｎＦｒｏｍＰｉｃｋｅｄＣｏｏｒｄから呼び出された場合と、他のマクロ関数から呼び出された場合とで、ＧｅｔＮｏｄｅＮｕｍｂｅｒにおいて選択されるツールが異なるものとなる場合がある。図５の例では、単一のコマンドとしてツール命令を記述しているが、複数のツール命令の組み合わせを用いることも可能である。
【００５６】
図５には、ツール命令の場合を示したが、ツールが要求するデータ（ツール入力データ）をスクリプトによって直接記述したり、そのツール入力データの存在するパスを表示することで、データの場合であっても同様にルールを定めることが出来る。このときには、ルール３０２には、ユーザーがユーザーインターフェースを介して直接入力したり、パスを指定して入力最多データ（処理入力データ）ツー−ル入力データに変換するように記述されていることが出来る。
【００５７】
また、アプリケーションツールの既定データを、ルール３０２が保持したり、ルール３０２で指定することが出来る。この既定データは、サーバー３００（図１）にルール３０２と共に支援ルール記憶部の一部として記憶される。
【００５８】
さらに、サーバー３００は、オペレーティングシステムの環境変数の一つにルール３０２の更新についての版番号（バージョン番号）を格納するものとすることもできる。当該版番号を読み取ってエージェント４００の動作を変更することがルール３０２に記述されていると、環境変数の更新のみでルール３０２の動作を切り替えることが出来る。したがって、新たなアプリケーションツールをインストールしたり、更新した際に、ルール３０２のメンテナンスが容易になる。
【００５９】
【発明の効果】
本発明によれば、複数のアプリケーションツールを理解するための共通の定義を置くことができ、人間の思考に合わせたシミュレーション環境を提供することが出来る。アプリケーションツールを開発するソフトウエア開発ベンダーにとっては、ソフトウエア間の当該各アプリケーションツールが使用するデータに関するフォーマットなどを含む各種規定の詳細な構成を、異なるツール間で直接変換する必要は無くなるという効果を有する。
【００６０】
アプリケーションツールの入力やデータの仕様は従来のままで、その仕様と抽象構造層の各項目との関連をアプリケーションツールのベンダーが用意するだけで、ユーザーに共通した操作方法を提供し、概念のレベルでの互換性を提供する。このため、アプリケーションツール間の動作仕様等を調整すること、規格を策定すること、各アプリケーションツールで使用される入出力ファイルフォーマットを規定すること等は原則として不要となる効果を有する。
【００６１】
また、アプリケーションツールの組み込みに応じて情報構成空間に修正や追加が必要となった場合には、支援ルール記憶部のルールを修正することで、ユーザーは、そのような組み込みを特に意識することなく、予め定義された項目のみを意識して新たなアプリケーションツールを使用することが出来る。つまり、本発明においては、アプリケーションごとの使用方法の相違点や更新に伴う知識の習得をコンピュータが行なってユーザーを支援するので、ユーザーは複数のツールの使用方法を知ら無い場合であっても、それらのツールに共通した概念を習得することにより、複数のツールを用いることが出来る。
【００６２】
これらの変更を、版番号の管理によらずにルールの書き換えのみで行なうと、変更等されたアプリケーションツールの以前のものをユーザーが使用したいと考えても使用できなくなったり、ルールの切り換え時のメンテナンスの労力が増大する。支援ルール記憶部の一部として版番号を用いると、ユーザーにいずれの版を用いるか選択させることが可能になるし、また、本発明の方法を用いるコンピュータシステム全体を稼動させながらであっても、容易にアプリケーションツールのメンテナンスを行なうことが出来る。
【００６３】
【図面の簡単な説明】
【図１】本発明の実施の形態にかかるコンピュータシステムの構成を示す構成図である。
【図２】本発明において基礎となっているシステムエージェントによるユーザー支援方法の概念を示す構成図である。
【図３】本発明において基礎となっている情報構成空間の構成を示す構成図である。
【図４】本発明の実施の形態にかかるマクロ関数におけるタスクの展開の様子を示すプログラム例を示すプログラムリストである。
【図５】本発明の実施の形態にかかるタスクの例におけるプログラム例を示すプログラムリストである。
【符号の説明】
１  コンピュータシステム
２  ネットワーク
１００  シミュレーションコンピュータ
１０２、１０４、１０６  アプリケーションツール
２００  クライアントコンピュータ
２０２  オブジェクト
２１２，２１４  ボタン表示
２１０  ユーザーインターフェース
３００  サーバー
３０２  ルール
４００  システムエージェント
【図１】
2004302948.tif 000003
【図２】
2004302948.tif 000004
【図３】
2004302948.tif 000005
【図４】
2004302948.tif 000006
【図５】
2004302948.tif 000007