(57)【要約】  本発明は、物理システムをモデル化するために固有の計量単位を提供する。すると、これら計量単位を用いて物理システムのモデル化が可能となる。従って、実際の単位は現実世界の測定値を反映しており、モデル化されたシステムで使用且つ伝播させることができ、計量単位を持つ結果を与えることができる。幾つかの実施形態では、計量単位を調べて、所与の演算に関して互いに適合しているかを判断してもよい。仮に複数の単位が互いに適合していなければ、ユーザには単位を互いに適合させる必要があることを通知してもよい。
2009507309.tif 000002
【特許請求の範囲】
【請求項１】
物理モデリング環境における一方法であって、
前記物理モデリング環境で使用される固有の計量単位を与える段階と、
計量単位を持つ物理システムをモデル化する段階とを含む、方法。
【請求項２】
前記物理システムの前記モデルの前記計量単位を調べて、該単位が所与の演算に関して互いに適合しているかを判断する段階を更に含む、請求項1に記載の方法。
【請求項３】
前記計量単位が所与の演算に関して互いに適合していない場合は、通知を生成する段階を更に含む、請求項2に記載の方法。
【請求項４】
前記不適合性への対処法に関してユーザ入力を要求する、請求項3に記載の方法。
【請求項５】
前記計量単位は前記モデル化された物理システム内を伝播する、請求項1に記載の方法。
【請求項６】
前記固有の計量単位はデータベースを介して与えられる、請求項1に記載の方法。
【請求項７】
前記データベースは、固有の計量単位を追加するためユーザによるカスタマイズが可能である、請求項6に記載の方法。
【請求項８】
前記データベースは、固有の計量単位を削除するためユーザによるカスタマイズが可能である、請求項6に記載の方法。
【請求項９】
前記物理システムが、前記物理モデリング環境において少なくとも部分的にグラフィックモデル化される、請求項1に記載の方法。
【請求項１０】
前記計量単位は前記物理システムの前記グラフィックモデルに表示される、請求項9に記載の方法。
【請求項１１】
前記物理システムは、前記物理モデリング環境において少なくとも部分的にテキスト形式でモデル化される、請求項1に記載の方法。
【請求項１２】
モデル化している前記物理システムの前記計量単位を、同一の計量単位に変換する段階を更に含む、請求項1に記載の方法。
【請求項１３】
変換のための基本単位は、浮動小数点計算による丸めの誤差を最小化するよう選択される、請求項12に記載の方法。
【請求項１４】
前記物理モデリング環境はMATLAB物理モデリング環境である、請求項1に記載の方法。
【請求項１５】
前記物理モデリング環境はSIMULINK物理モデリング環境である、請求項14に記載の方法。
【請求項１６】
前記モデル化されたシステムからコードを生成する段階を更に含む、請求項1の方法。
【請求項１７】
一方法を実行するため計算装置により実行可能な命令を保持した、該計算装置と共に使用される媒体であって、該方法が、
固有の計量単位を与える段階と、
計量単位を持つ物理システムをモデリングする段階とを含む、方法。
【請求項１８】
前記物理システムの前記モデルの前記計量単位を調べて、該単位が所与の演算に関して互いに適合しているかを判断する段階を更に含む、請求項17に記載の方法。
【請求項１９】
前記計量単位が所与の演算に関して互いに適合していない場合は、通知を生成する段階を更に含む、請求項18に記載の方法。
【請求項２０】
同一基準でない単位への対処法に関してユーザ入力を要求する、請求項19に記載の方法。
【請求項２１】
前記計量単位は前記モデル化された物理システム内を伝播する、請求項17に記載の方法。
【請求項２２】
物理モデリング・アプリケーションを生成し且つ表示するシステムであって、
データを前記物理モデリング・アプリケーションに入力するためのユーザ操作可能な入力手段と、
物理モデルを表示するための表示装置と、
コンピュータプログラム命令とデータを記憶するためのメモリ及び該記憶したコンピュータプログラム命令を実行するためのプロセッサを含むコンピュータ装置とを含み、該コンピュータプログラム命令は、固有の計量単位を与え、固有の計量単位を持つ物理システムをモデリングするための命令を含む、システム。
【請求項２３】
グラフィカルモデリング・アプリケーションを生成し且つ表示するシステムであって、
クライアント装置に物理システムをモデリングするための固有の計量単位を与える配布サーバと、
該配布サーバと通信するクライアント装置とを含む、システム。
【請求項２４】
前記クライアント装置は、計量単位を持つ物理システムをモデリングするよう動作可能である、請求項23に記載のシステム。
【請求項２５】
前記クライアント装置が、コンピュータプログラム命令とデータを記憶するためのメモリ及び該記憶したコンピュータプログラム命令を実行するためのプロセッサを含む計算装置であり、該コンピュータプログラム命令は、固有の計量単位を与え、固有の計量単位を持つ物理システムをモデリングするための命令を含む、請求項23に記載のシステム。
【請求項２６】
物理モデリング環境を実行するサーバと、該サーバと通信するクライアント装置とを備えたネットワークにおいて、一方法は、
前記サーバで固有の計量単位を与える段階と、
計量単位を持つ入力を前記サーバで前記クライアントから受け取る段階と、
該計量単位を持つ物理システムをモデリングする段階とを含む、方法。
【請求項２７】
物理モデリング環境における方法であって、
前記物理モデリング環境において使用される固有の計量単位を与える段階と、
計量単位を持つ物理システムのモデルを構築する段階と、
前記物理システムの前記モデルを介して計量単位を伝播させる段階とを含む、方法。
【請求項２８】
物理モデリング環境における方法であって、
前記物理モデリング環境において使用される固有の計量単位を与える段階と、
計量単位を持つ物理システムのモデルを構築する段階と、
前記物理システムの前記モデルの前記計量単位を調べて、該単位が所与の演算に関して互いに適合しているかを判断する段階とを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、その内容を引用して本明細書に援用する2005年9月6日付けの米国特許出願第11/221,191号の利益を主張する。
【０００２】
本発明は、物理システムをモデル化するためのモデリング環境に関する。より詳細には、本発明は、物理システムをモデル化するために固有の計量単位(原語：intrinsic units of
measure)を提供することに関する。
【背景技術】
【０００３】
多くの組織が、その生産工程においてモデルベース開発の理論的枠組を採用している。「モデルベース開発」とは、一組のブロックダイヤグラム及び関連付けられたオブジェクトからなる共通の「モデル」を用いてシステムを規定し、分析し、且つ実装する行為を指す。システム実装は、典型的に、モデルの複数の部分とりわけシステムの制御アルゴリズムに対応した部分のコードを自動的に生成することからなる。
【０００４】
グラフィカルモデリング環境はソフトウェア・アプリケーションの一例であり、ブロックダイヤグラムなどのグラフィックモデルを用いたユーザによる動的システム(すなわち、出力が時間と共に変化するシステム)のモデル化を可能とする。グラフィカルモデリング環境によってはモデルのシミュレーション及び分析が可能なものもある。動的モデルのグラフィカルモデリング環境でのシミュレーションは、典型的には二段階からなる処理である。先ず、ユーザは、シミュレーションすべきシステムのブロックダイヤグラムのようなグラフィカルモデルを作成する。グラフィカルモデルは、グラフィカルモデル・エディタのようなグラフィカル・ユーザインターフェースを用いて作成できる。グラフィカルモデルは、システム入力と、状態と、パラメータと、出力との間の時間に基づく関係を表現する。グラフィカルモデルの作成後、指定された時間にわたる動的システムの挙動を、グラフィカルモデルに入力された情報を用いてシミュレーションする。この段階では、グラフィカルモデルを用いて動的システムの出力の時間的進展を計算し且つ追跡し(グラフィカルモデルの実行)、更に、モデル全体又は一部の挙動を模倣する導入可能なソフトウェアシステム又はハードウェアシステムの記述を自動生成する(コード生成)。
【０００５】
ブロックダイヤグラムは、動的システムをモデル化するためのグラフィカルモデリング環境内で作成される「実行可能な意味」を持ったグラフィカル実体であり、一般的に1つ又はそれ以上のグラフィカルオブジェクトを含む。例えば、動的システムのブロックダイヤグラム・モデルは、一般に線として図示されるグラフィックオブジェクトの集まりによって相互連結されたノードのようなグラフィックオブジェクトの別の集まりとして模式的に表される。ここで、これらの線は後者の集まりのグラフィカルオブジェクト間の論理結合を表す。ブロックダイヤグラミングに関するほとんどの理論的枠組では、ノードは「ブロック」と呼ばれ、幾何学的オブジェクト(例えば、円、長方形など)の形式を使って描かれる。線分はしばしば「信号」と呼ばれる。信号は、各線結合により表現される時間変化量に対応し、各瞬間において値を持つと仮定される。各ノードは基本動的システムを表すことができ、信号と状態変数との間の関係は、ノードにより表される式の組により定義される。信号と状態変数との間の関係の定義にはパラメータの概念が本質的に含まれており、パラメータは式の係数である。これら式は、入力信号と、出力信号と、状態と、時間との関係を定義するので、それぞれの線は、関連付けられた基本動的システムの入力及び／又は出力を表す。１つのノードから出て別のノードで終結する線は、最初のノードの出力が２番目のノードの入力となることを示す。任意のノードにおける個別の各入力又は出力はポートと呼ばれる。信号のソースノードは、そのシステムの式が解かれた所与の時刻に信号に書き込みを行う。この信号の宛先ノードは、このシステムの式が解かれている時にその信号から読み出しを行う。これら結合は因果的ではない場合もある。すなわち、第1ノードを第2ノードに結合する線は、出力が第1ノードから第2ノードに入力として与えられることを必ずしも意味しない。非因果的な結合の一例は、計算の方向性が存在しない電気回路に見つかる。物理システムでは、非因果的結合は、一組の変数が等しく(例えば電気回路の電圧)、他の組の変数は合計してゼロになる(例えば電気回路の電流)ことをしばしば示す。当業者であれば、「ノード」という用語は基本動的システムのみを排他的に示すのでなく、ブロックダイヤグラムの可読性及びモジュール性を向上させる他のモデリング要素を含みうることは理解するはずである。
【０００６】
物理システムは、長さ、質量、時間、弧長、温度、及び電荷などの基本次元を備えている。物理システムにおいて次元に意味を与えるのは、これら次元の値に関連付けられている単位である。そして、例えば、長さ(1メートル)、時間(1秒)、速度(1メートル毎秒)などのように、次元の値に関連付けられた量と、それらの相互作用を定義することにより意味が与えられる。計量単位が完全に妥当性検査され且つシステム全体を伝播する物理モデリングシステムにおいて、固有の計量単位は現時点で実装されていない。すなわち、現時点で、物理システムは使用される値に固有に関連付けられた計量単位なしでモデル化されている。複数の入力値が整合性のない計量単位を持つことがあるため、これは問題を引き起こしかねない。例えば、ある値が例えば5メートルのようなメートル単位であり、他の値が例えば50cmのようなセンチメートル単位となっていることがありうる。関連付けられた計量単位(mとcm)がなければ、これらは単なる値(5と50)にすぎない。従って、関連付けられた計量単位がない状態でこうした値を加算すると答えは55になってしまう。5メートルと50センチメートルを加算すれば5．5メートルか550センチメートルとなるはずなので、これは正答ではない。このように、システムを正確にモデル化する上で計量単位は非常に重要となりうる。
【０００７】
発明の概要
本発明は、物理システムをモデル化するために固有の計量単位を提供する。すると、これら計量単位を用いて物理システムのモデル化が可能となる。従って、実際の単位は現実世界の測定値を反映しており、モデル化されたシステムで使用且つ伝播させることができ、適切な計量単位を持つ結果を与えることができる。
【０００８】
第1の様態によれば、物理モデリング環境において一方法が提供される。前記方法は、固有の計量単位を与える段階と、計量単位を持つ物理システムをモデル化する段階とを含む。
【０００９】
別の様態によれば、命令を保持し且つ計算装置と共に使用される媒体が提供され、該命令は一方法を実行するため該計算装置により実行可能である。前記方法は、固有の計量単位を与える段階と、計量単位を持つ物理システムをモデル化する段階とを含む。
【００１０】
第1の様態によれば、物理モデリング・アプリケーションを生成し且つ表示するシステムが提供される。前記システムは、データを前記物理モデリング・アプリケーションに入力するためのユーザ操作可能な入力手段と；物理モデルを表示するための表示装置と；コンピュータプログラム命令とデータを記憶するためのメモリ及び該記憶したコンピュータプログラム命令を実行するためのプロセッサを含むコンピュータ装置とを含み、該コンピュータプログラム命令は、固有の計量単位を与え、固有の計量単位を持つ物理システムをモデリングするための命令を含む。
【００１１】
第1の様態によれば、物理モデリング・アプリケーションを生成し且つ表示するシステムが提供される。前記システムは、クライアント装置に物理システムをモデリングするための固有の計量単位を与える配布サーバと、該配布サーバと通信するクライアント装置とを含む。
【００１２】
別の様態によれば、物理モデリング環境を実行するサーバと、該サーバと通信するクライアント装置とを備えたネットワークにおいて、一方法が提供される。前記方法は、前記サーバで固有の計量単位を与える段階と、計量単位を持つ入力を前記サーバで前記クライアントから受け取る段階と、該計量単位を持つ物理システムをモデリングする段階とを含む。
【発明を実施するための最良の形態】
【００１３】
本発明の例示的な実施形態は、物理モデリング環境において固有の計量単位を組み込むことに関する。例示的な実施形態に関連して本発明を説明する。当業者であれば、本発明は、多数の異なる応用例及び実施形態で実現可能であり、本明細書に記載した特定の実施形態に特に限定されないことは理解するはずである。
【００１４】
物理システムをモデル化するための固有の計量単位が与えられる。すると、これら計量単位を用いて物理システムのモデル化が可能となる。従って、実際の単位は現実世界の測定値を反映しており、モデル化されたシステムで使用且つ伝播させることができ、計量単位を持つ結果を与えることができる。
【００１５】
図１は、本発明の例示的な実施形態を実施するのに適した環境を示す。計算装置2は、本発明の一実施形態によるソフトウェアが記憶されたメモリ4と、このメモリ内に記憶されたソフトウェアを実行するプロセッサ(CPU)7と、システムハードウェアを制御する他のプログラムとを含む。典型的には、計算装置2と人間のユーザとの対話は、グラフィカル・ユーザインターフェース(GUI)などの入出力(I/O)装置8を介して行われる。I/O装置8は表示装置8a(例えばモニタ)及び入力装置(例えば、マウス8b、キーボード8c、及び他の適切な従来のI/O周辺機器)を含むことができる。
【００１６】
例えば、メモリ4は、システムモデルの電子バージョンを作成且つシミュレーション可能なモデリング・アプリケーション6を保持している。こうしたシステムモデルの電子バージョンには、ブロックダイヤグラム、状態ダイアグラム、信号ダイアグラム、フローチャート・ダイアグラム、シーケンス図、UMLダイアグラム、データフローダイアグラム、回路図、ラダーロジック・ダイアグラム、運動学的要素ダイアグラム、又はその他のモデルがあり、何れかを表示装置8aを介してユーザ10に表示できる。例示的なこの実施形態では、モデリング・アプリケーション6は、Simulink(登録商標)などのMATLABモデリング環境又は他の適切なモデリング環境を含む。本明細書では「モデリング環境」及び「物理モデリング環境」という用語は、物理システムのモデルなどのモデルが作成され、実行可能命令に翻訳されるアプリケーションを指す。適切なモデリング・アプリケーションの例としては、The MathWorks社のSimulink、SimMechanics、及びSimDrivelineを含むMATLAB、National Instruments社から入手可能なLabVIEW、DasyLab、及びDiaDem、Agilent社から入手可能なVEE、Measurement
Computing社から入手可能なSoftWIRE、Visual Solutions社から入手可能なVisSim、Elanix社から入手可能なSystemVIEW、Coreco社から入手可能なWiT、PPT Vision社から入手可能なVision Program Manager、Khoral Research社から入手可能なKhoros、並びにその他多数が含まれるが、それらに限定されない。メモリ４は、例えば、CD-ROM、フロッピー（登録商標）ディスク、テープ装置などの任意適切なインストール媒体や、DRAM、SRAM、EDO RAM、ラムバスRAMなどのコンピュータ・システムメモリ又はランダムアクセスメモリや、ハードドライブ又は光学記憶装置を含む磁気媒体などの不揮発性記憶装置を含むことができる。このメモリは、他の種類のメモリ又はそれらの組合せを含むこともできる。
【００１７】
代替的な実施形態では、更に、計算装置2がインターネットなどのネットワークに接続されている。当業者であれば、ダイヤグラミング・アプリケーション６が使用するダイアグラムは計算装置2上にローカルに記憶させてもよいし、ネットワークを介して計算装置と接続したリモート位置9に記憶させてもよいことは理解するはずである。同様に、ダイヤグラミング・アプリケーション6はネットワークサーバ又はリモートピアに記憶してもよい。
【００１８】
本発明の例示的な実施形態のモデリング・アプリケーション6は、多数の汎用構成要素を含む。本明細書の説明はマサチューセッツ州ナティック所在のThe MathWorks社のMATLABに絞ったものだが、当業者であれば、本発明は他のソフトウェア・アプリケーションにも適用できることは理解するはずである。例示的なモデリング・アプリケーション6の汎用構成要素は、動的システムのモデルを指定するモデルエディタ6aを含む。モデルエディタ6aにより、ユーザは、物理システムを表すモデルの構築、編集、表示、注釈付け、保存、及び印刷などの作業が可能となる。更に、例示的なダイヤグラミング・アプリケーション6は、モデルシステムに組み合わせ可能な要素を含む要素ライブラリ6bも含んでいる。グラフィカルモデリングを可能とするグラフィックアスペクト6ｃを備えることもできる。実行エンジン6dもこのアプリケーションに実装されており、モデルを処理してシミュレーションの結果を生成したり、このモデルを実行可能コードに変換したりするために用いられる。実行エンジン6dはモデルを実行可能実体に翻訳する。これら実行可能実体はコンパイルされ、コンピュータなどの計算装置で実行されて当該モデルが指定する機能を実装する。典型的には、コード生成により、生成コードの呼出しグラフにモデル階層が保存される。例えば、物理モデリング環境内のモデルの各サブシステムは、ユーザ指定関数及び生成コードにマッピングできる。マサチューセッツ州ナティック所在のThe Mathworks社から入手可能のReal-Time
Workshopは、コード生成に適した実行エンジン6dの一例である。
【００１９】
例示的なこの実施形態では、モデリングプログラム6は、これもMathWorks社から入手可能なMATLABなどの技術計算プログラムの随伴プログラムとして実装されている。
【００２０】
モデルエディタ6aは、物理システムを表すモデルのユーザによる作成及び修正を可能とする構成要素である。更に、モデルエディタ6aは、モデル要素6bに関連したデータのユーザによる作成及び記憶を可能とする。一組の命令とのテキスト形式インターフェースにより、モデルエディタとの対話が可能となる。ユーザは、このテキスト形式インターフェースを用いてモデルに自動編集処理を行う特殊スクリプトを書くことができる。一般に、ユーザは、モデルのキャンバスとして機能する一組のウィンドウと対話する。モデルには一般に複数のウィンドウがあるが、それはモデルがサブシステムを使用することで多数の階層レベルに区分化できるからである。
【００２１】
一旦、モデルがエディタ6aを使って構築されると、実行エンジン6dが、このモデルにより定義された式を解いて時間の関数としてシステム出力を追跡することで、このモデルをシミュレーションする。モデルの解はモデル実行と呼ぶことができ、ユーザが指定する時間枠で一組のユーザ指定入力に関して実行される。
【００２２】
本発明の例示的な一実施形態によれば、固有の計量単位を持つ物理システムをモデル化できる。図２は、本発明による方法の代表的なフローチャート200を示す。この方法は、固有の計量単位を与える段階210と、計量単位を持つ物理システムをモデル化する段階220とを含む。幾つかの実施形態では、この方法は、物理システムのモデルからコードを生成する段階230を更に含む。
【００２３】
固有の計量単位を与える(段階210)ための1つの方法は、単位データベース又はレジストリの提供を含む。このデータベース又はレジストリは、モデリングプログラム6の一部としてメモリ4の内部又は外部記憶装置9内に設ければよい。この単位データベース又はレジストリは登録済み単位のリストである。このデータベース又はレジストリは基本単位の他にユーザ定義単位を含むことができる。このデータベースを用いれば、ユーザは次元とその基本単位とを登録できる。次元を登録するには次のような関数を使用できる。
2009507309.tif 000003
【００２４】
ここで登録される次元は、基本単位であるメートル(記号「m」で表した)を持つ長さである。任意の数の次元をこの方法で登録できることに注目されたい。その他の登録可能な次元は、本開示を参照すれば当業者には明らかなはずである。
【００２５】
同様に、ユーザはデータベースに単位を登録できる。単位を登録するには次のような関数を使用できる。
2009507309.tif 000004
【００２６】
ここで登録される単位はセンチメートル(「cm」)であり、0.01メートル(「m」)として定義されている。任意の数の単位をこの方法で登録できることに注目されたい。その他の登録可能な単位は本開示を参照すれば当業者には明らかなはずである。
【００２７】
従って、これらの技法を用いれば、モデル化された物理システムの次元と単位が与えられる。この一例を次に示す。
2009507309.tif 000005
【００２８】
上記の例では、長さ、質量、時間、電荷、及び温度という次元が、それぞれの基本単位であるメートル(m)、キログラム(kg)、秒(s)、クーロン(c)、及びケルビン(K)と共に登録される。これら次元と基本単位とを用いて、長さの誘導単位、エネルギーの単位、仕事率の単位、及び電気の単位を登録できる。上記の例から分かるように、ジュール(kg*m2/s2)のような複合単位もサポートされる。
【００２９】
上述の例は「adddimension」及び「addunit」関数しか用いていないが、これらが唯一可能な関数と解釈すべきではない。幾つかの実施形態では、例えば、「cunit」及び「unit」関数などを使用してもよい。「cunit」関数は単位のない値を単位に結び付けるのに使用できる。次に一例を挙げる。
2009507309.tif 000006
【００３０】
「unit」関数は、単位情報を、単位を持つ値に与えるのに使用できる。次に一例を挙げる。
2009507309.tif 000007
【００３１】
他の使用可能な関数は本開示を参照すれば当業者には明らかなはずである。幾つかの実施形態では、アプリケーションプログラム・インタフェース(API)を用いて、単位データベース又はレジストリに単位を追加したり、削除したりできる。
【００３２】
上述の技法を用いれば、システム又は領域(原語：domains)を定義できる。例えば、電気領域を定義する関数を書くことができる。そうした関数は次のようになるはずである。
2009507309.tif 000008
【００３３】
この例では、電圧(v)と電流(i)がその領域に関して定義される。電圧と電流は、それぞれボルト(V)とアンペア(A)の単位を持つ配列として定義される。上述の関数は多数の可能な関数のうちの1つにすぎず、指定可能な多数の領域の1つにすぎないことは明らかなはずである。他の使用可能な関数及び領域は本開示を参照すれば当業者には明らかなはずである。
【００３４】
同様に、物理システムでモデル化する構成要素は固有の値を使って指定してもよい。例えば、抵抗器のような構成要素を固有の単位を使ってテキスト形式で指定できる。こうした例は次のようになるはずである。
2009507309.tif 000009
【００３５】
この例では、抵抗器がテキスト形式で指定され、正端子(p)と、負端子(n)と、固有単位であるオームを持つ抵抗(r)とを備えている。この抵抗器の両端には電圧(v)が印加され、電流(i)が流れる。電圧と電流と抵抗との相互関係は、式e(1) = resistor.v - resistor.r * restistor.iで与えられる。この式で、変数はe(1)はゼロに駆動される。言い換えれば、この抵抗器両端の電圧は、抵抗器を流れる電流をその抵抗に掛けたものに等しい(v = r* i)。
【００３６】
上述の関数は、指定できる多数の可能な構成要素又は要素のうちの1つにすぎず、指定できる多数の可能な関数の1つにすぎないことは明らかなはずである。他の使用可能な関数、構成要素、又は要素は本開示を参照すれば当業者には明らかなはずである。
【００３７】
本発明の別の様態では、固有の単位を実装することによって固有の計量単位を検査してこれらが同一基準かどうかを判定できる。値は固有の計量単位を持ちうるので、演算が計量単位を持つ所与の値に関して実行できるかどうかを判断することが重要である。例えば、上述の関数pm_unitsは長さと時間の次元を、それぞれ固有の単位であるメートル(m)と秒(s)を持つものとして指定している。これらの次元は異なる固有の計量単位(メートルと秒)を備えており、従ってある種の演算では必ずしも互いに適合しない。これをどのように実行するかを示す代表的なフローチャート300を図3に示した。ここでは、実行する演算が特定される(310)。この演算は、加算、減算、乗算、又は除算などの単純な演算でもよいし、変換でもよい。続いて、与えられた演算が同一基準の単位を必要とするか判断する(320)。全ての演算が同一基準の単位を要件とするわけではないことは明らかなはずである。例えば、乗算及び除算は値の単位が同一であることを要件とはしない。幾つかの実施形態では、同一基準の単位を必要とする演算はデータベースのリスティングを調べれば判断できる。演算が同一基準の単位を必要としない場合は、この演算を実行できる(330)。演算が同一基準の単位を必要とする場合は、オペランドの単位を調べて同一基準かどうかを判断する(340)。例えば、時間の値と距離の値は同一基準ではないので、これらの値の加算はできない。幾つかの実施形態では、単位をチェックするにはデータベースを調べて互いに適合しているかどうかを判断する。例えばメートルとメートルを加算する場合のように単位が同一基準であれば、ここで演算を実行できる(350)。単位が同一基準でなければ、通知を生成できる(360)。動作時には、ユーザが次のように時間と距離との加算を試みたと想定する。
2009507309.tif 000010
【００３８】
すると、ユーザは、これら単位が同一基準でないことを示すメッセージを受け取ることになる。
2009507309.tif 000011
【００３９】
このメッセージは、単位を調べて所望の演算に関しこれら単位が同一基準となっているかを確認する必要があることをユーザに知らせる。幾つかの実施形態では、ユーザは同一基準でない単位の対処法に関する入力要求を受け取るようにしてもよい。上述のように、全ての演算が同一基準の単位を要件とするわけではない。例えば、距離(m)を時間(s)で割ると、メートル毎秒(m/s)単位の速度が得られる。
【００４０】
本発明の別の様態では、固有の単位を実装することで固有の計量単位の変換も可能となる。これをどのように実行するかを示す代表的なフローチャート400を図4に示した。この処理は図3に示したステップ330又は350の一部として実行してもよい。先ず、単位の変換が必要かどうかを判断する(410)。変換が不要であれば、システムは所与の単位で処理を続行する(420)。単位の変換が必要な場合は、変換のための基本単位を特定する必要がある。するとこれら単位が変換され(440)、システムは変換した単位で処理を続行できる(450)。
【００４１】
幾つかの実施形態では、単位を尺度変更する必要がある場合もある。例えば、上述の関数pm_unitsは、長さの次元を固有の単位であるメートル(m)を持つものと指定している。関数pm_unitsは、センチメートル(cm)の単位を0.01メートルと指定している。メートルで与えられた値をcmで与えられた値に加算するには、これら単位の一致するように何れかの値を単位が尺度変更する必要がある。幾つかの実施形態では、この変換を演算の第1オペランドに基づいて行ってもよい。例えば、尺度変更を行う一実施形態では、例えばメートル(m)とセンチメートル(cm)を次のように加算する。
2009507309.tif 000012
【００４２】
ここでは、単位は基本単位であるメートルに変換される。異なった単位だが同一基準の単位の複数オペランドが存在するときにも、この方法を適用できる。次に一例を挙げる。
2009507309.tif 000013
【００４３】
単位の尺度変更は第1オペランドに基づく必要はない。幾つかの実施形態では、ユーザは、他の全ての単位がそれに合わせて尺度変更される基本単位を指定してもよい。他の実施形態では、単位の変換は1つの測定尺度から別の測定尺度への変換でよく、例えばポンド(lb)からキログラム(kg)へのようにイギリス単位系からメートル法への変換がある。例えば、ユーザは全ての単位をセンチメートル(cm)に尺度変更するよう指定できる。
【００４４】
他の実施形態では、単位の変換は1つの測定尺度から別の測定尺度への変換でよく、例えばポンド質量(lbm)からキログラム(kg)へのようにイギリス単位系からメートル法への変換がある。例えば、質量はキログラムで与えられる場合が最も多いので、ユーザは全ての重量計算がキログラムで与えられるように指定できる。(kg)従って、単位データベースにおいてポンド質量(lbm)がキログラム(kg)単位で指定されていると仮定すると、ポンド質量、グラム、キログラムの値を持つ質量を加算した場合、結果はキログラム(kg)で与えられることになる。
【００４５】
更に別の実施形態では、浮動小数点計算による丸めの誤差が減少するように単位の変換を最適に選択できる。従って、全ての単位は、実行されうる任意の浮動小数点計算による丸めの誤差が最小となる基本単位に変換される。
【００４６】
上述及び他の変換技法を互いに組み合わせて使用できることに注目されたい。幾つかの実現例では、特定の変換技法に他のものより高い優先順位を付けてもよい。例えば、所望の基本単位(例えばkg)への変換よりも、丸めの誤差の最小化を優先してもよい。
【００４７】
従って、このように固有の計量単位はシステム内を伝播できる。すなわち、値に計量単位が割り当てられると、その計量単位はその後に実行される全ての演算に反映される。これは、固有の値が物理システムのグラフィックモデルで使用されると特に明らかとなる。
【００４８】
固有の計量単位を持つ物理システムのグラフィックモデル500の一例を図5に示した。このグラフィックモデルは、素子A、B、及びC(510a、510b、510c)を備えている。素子A 510aは、電源520aと電圧センサ530aとに接続されている。素子B 510bは、電源520bと電圧センサ530bとに接続されている。素子A 510aに接続された電圧センサ530aは、ミリボルト(mV)単位の電圧を持つ信号540を出力する。素子B 510aに接続された電圧センサ530bは、ボルト(V)単位の電圧を持つ信号550を出力する。信号550の電圧は微分器560で信号540の電圧から減算される。信号550の電圧を信号540の電圧から減算するに当たって、信号550のボルト(V)はミリボルト(mV)に変換される。信号540と信号550との電圧差は、ミリボルト(mV)単位の信号570で出力される。信号570のミリボルト(mV)は、ボルト(V)に変換され素子C 510cに電力供給する。
【００４９】
この例からも分かるように、計量単位580をグラフィックモデルで示すことができる。ここでは、電圧がシステム内を伝播し、システムに含まれる素子の要件に応じて変換される。各素子は指定された基本単位580を備え、グラフィックモデル内で例えばミリボルト(mV)又はボルト(V)として表示できる。従って、素子が受け取る同一基準の単位は指定された基本単位に変換される。本図に示したように幾つかの実施形態では、自動変換が実行されることを示すグラフィック表示590を含めてもよい。本図では、自動変換は微分器560及び電源520cの入力ポートに590で示した。他の実施形態では、他の全ての同一基準単位の変換結果となる基本単位を、システム全体に関してグローバルに指定したり、参照モデル(原語：referenced models)又はサブシステムに関してサブグローバルに指定したりできる。
【００５０】
与えられた又は指定された単位が同一基準ではない幾つかの実施形態では、システムは非同一基準単位の存在を示す通知を生成又は他の方法で与えることができる。例えば、図5で、電圧センサ530bがアンペア(A)単位の電流を持つ信号を出力する電流センサと取り替えられたとすると、ユーザは図6に示した通知600を受け取るようにしてもよい。ここでは、通知600は、微分器560がアンペア(A)単位の電流をミリボルト(mV)単位の電圧から減算できないので、「mV」と「A」という単位は同一基準でないこと示すウィンドウである。幾つかの実施形態では、ユーザは同一基準でない単位の対処法に関する入力要求を受け取るようにしてもよい。
【００５１】
単位の伝播と、その後に行う単位が同一基準かのチェックとは、物理システムのモデルの実行に当たってエラーを取り除く助けとなるので有利である。値に計量単位が割り当てられていなければ、生成された結果がシステムにとって妥当でないか、またなぜ妥当でないかを知ることが極めて困難となりうる。
【００５２】
これまでの説明において、この点に関する例は、本発明のグラフィカルモデリング環境がローカル計算装置にあるシステムに主として焦点を当ててきた。本発明のグラフィカルモデリング環境は、図7に示したように、サーバ704とクライアント装置702とを備えたネットワーク700上でももちろん実装可能である。記憶装置706のような他の装置もこのネットワークに接続できる。
【００５３】
こうした一実施形態では、グラフィカルモデリング・アプリケーションを生成し且つ表示するシステムは、物理システムをモデリングするための固有の計量単位をクライアント装置に与える配布サーバと、該配布サーバと通信するクライアント装置とを含む。ここでは、配布サーバは、上述の計算装置のようなクライアント装置に固有の計量単位を与える。これら固有の単位は、サーバ上でクライアントが利用可能なデータベースの一部としてもよい。これら固有の単位は、サーバ上でクライアントが利用可能なブロック又は他のグラフィック要素の一部としてもよい。こうしたブロック又はグラフィック要素は、固有の計量単位を持つ入力を受け取り且つ／又は固有の計量単位を持つ出力を与えるよう構成してもよい。すると、クライアントは物理システムをモデリングするためにそれら固有の単位を使用できる。
【００５４】
別の実施形態では、サーバはこの物理モデリング環境を実行できる。するとユーザは、クライアント装置を介してサーバ上の物理モデリング環境と対話できる。こうしたシステムの一例では、サーバとクライアント装置が提供される。サーバは物理モデリング環境を実行可能であり、この物理モデリング環境は物理システムをモデリングするための固有の計量単位を与える。クライアント装置はネットワークを介してサーバと通信する。次に、固有の計量単位を持つ値が、物理システムのモデルで使用するためクライアントからサーバに与えられる。こうしたシステムが次にモデル化され、結果がサーバからクライアント装置へ出力される。
【００５５】
当業者であれば、これらネットワークの実施形態は代表的な例に過ぎず、その機能性をネットワークにおいて多くの方法で分割してよいことは理解するはずである。
【００５６】
上述の例は電気領域の物理システムのモデルに主として焦点を当てたが、本発明が適した多数の領域、システム、分野、及び応用例が他にも存在することは当業者には明らかなはずである。これらの例としては、機械及び化学領域が含まれるがそれらに限定されない。
【００５７】
ここまで例示的な実施形態に関連して本発明を説明してきた。本発明の範囲を逸脱することなく上記の構成に対して幾つかの変更を施すことが可能であるから、この説明に含まれ或いは添付の図面に示された全ては、例示的なものとして解釈されるべきであり、限定的な意味で解釈されるべきではない。
【００５８】
更に、以下の特許請求の範囲は、ここに説明された本発明の全ての一般的特徴と具体的特徴とを網羅するものであり、また本発明の範囲に関する全ての言明をも網羅する。
【図面の簡単な説明】
【００５９】
【図１】本発明の例示的な実施形態を実施するのに適した環境を示す。
【図２】物理モデリング環境において固有の計量単位を実現する処理の代表的なフローチャートである。
【図３】固有の計量単位が同一基準かどうかを調べる処理の代表的なフローチャートである。
【図４】固有の計量単位を変換する処理の代表的なフローチャートである。
【図５】固有の計量単位を持つ物理システムのグラフィックモデルの一例である。
【図６】オペランドが同一基準でない場合に生成される代表的な通知である。
【図７】本発明の例示的な実施形態を実施するのに適したクライアント・サーバ環境を示す。
【図１】
2009507309.tif 000014
【図２】
2009507309.tif 000015
【図３】
2009507309.tif 000016
【図４】
2009507309.tif 000017
【図５】
2009507309.tif 000018
【図６】
2009507309.tif 000019
【図７】
2009507309.tif 000020
【国際調査報告】
2009507309.tif 000021
2009507309.tif 000022
2009507309.tif 000023